This is an automated email from the ASF dual-hosted git repository.
agross pushed a commit to branch flash-autoconfigure-fix
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
The following commit(s) were added to refs/heads/flash-autoconfigure-fix by
this push:
new 09627d478 da146x: hal_flash: Add export of RDID detection
09627d478 is described below
commit 09627d478f31c7daeac647ce09feb3b41d30fa2d
Author: Andy Gross <[email protected]>
AuthorDate: Mon Sep 26 18:17:55 2022 -0500
da146x: hal_flash: Add export of RDID detection
This patch adds a globally exported pointer to the RDID information detected
during flash init. This can be used by other software to make decisions
about
special actions taken with specific flash devices.
Signed-off-by: Andy Gross <[email protected]>
---
hw/mcu/dialog/da1469x/include/mcu/da1469x_hal.h | 2 ++
hw/mcu/dialog/da1469x/src/hal_flash.c | 13 +++++++------
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/hw/mcu/dialog/da1469x/include/mcu/da1469x_hal.h
b/hw/mcu/dialog/da1469x/include/mcu/da1469x_hal.h
index 26c5f3c4c..01014963e 100755
--- a/hw/mcu/dialog/da1469x/include/mcu/da1469x_hal.h
+++ b/hw/mcu/dialog/da1469x/include/mcu/da1469x_hal.h
@@ -85,6 +85,8 @@ struct qspi_flash_config {
extern const struct qspi_flash_config rdids[];
extern const int qspi_flash_config_array_size;
+extern const struct qspi_flash_config *rdid_detected;
+
#ifdef __cplusplus
}
#endif
diff --git a/hw/mcu/dialog/da1469x/src/hal_flash.c
b/hw/mcu/dialog/da1469x/src/hal_flash.c
index 6004e2594..62a977800 100644
--- a/hw/mcu/dialog/da1469x/src/hal_flash.c
+++ b/hw/mcu/dialog/da1469x/src/hal_flash.c
@@ -34,6 +34,8 @@ union da1469x_qspi_data_reg {
uint8_t d8;
};
+const struct qspi_flash_config *rdid_detected = NULL;
+
static int da1469x_hff_read(const struct hal_flash *dev, uint32_t address,
void *dst, uint32_t num_bytes);
static int da1469x_hff_write(const struct hal_flash *dev, uint32_t address,
@@ -453,20 +455,19 @@ qspi_read_rdid(const struct hal_flash *dev)
static sec_text_ram_core void
da1469x_hff_mcu_custom_init(const struct hal_flash *dev)
{
- const struct qspi_flash_config *config = NULL;
uint32_t primask;
__HAL_DISABLE_INTERRUPTS(primask);
/* detect flash device and use correct configuration */
- config = qspi_read_rdid(dev);
- assert(config);
+ rdid_detected = qspi_read_rdid(dev);
+ assert(rdid_detected);
- QSPIC->QSPIC_BURSTCMDA_REG = config->cmda;
- QSPIC->QSPIC_BURSTCMDB_REG = config->cmdb;
+ QSPIC->QSPIC_BURSTCMDA_REG = rdid_detected->cmda;
+ QSPIC->QSPIC_BURSTCMDB_REG = rdid_detected->cmdb;
/* provision attached QSPI device for proper quad operation */
- qspi_qe_enable(dev, &config->qe);
+ qspi_qe_enable(dev, &rdid_detected->qe);
/*
* Set auto mode, read pipe delay to 0x7, read pipe enable