summaryrefslogtreecommitdiffstats
path: root/bsps/include
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2023-06-02 15:06:09 -0500
committerJoel Sherrill <joel@rtems.org>2023-09-23 09:42:30 -0500
commit3f3c646dea6e536ddb3f997309f419365df108cf (patch)
treebb4e94a5621cd9075a9f4b168fbf8bc09d4db474 /bsps/include
parentbsps/xqspipsu: Break out RDID (diff)
downloadrtems-3f3c646dea6e536ddb3f997309f419365df108cf.tar.bz2
bsps/xqspipsu: Add SFDP config space read ability
This adds a function to allow reading of the SFDP configuration space that describes attributes of NOR flash chips.
Diffstat (limited to 'bsps/include')
-rw-r--r--bsps/include/dev/spi/xqspipsu-flash-helper.h20
-rw-r--r--bsps/include/dev/spi/xqspipsu_flash_config.h1
2 files changed, 21 insertions, 0 deletions
diff --git a/bsps/include/dev/spi/xqspipsu-flash-helper.h b/bsps/include/dev/spi/xqspipsu-flash-helper.h
index 1578fe8485..e689660881 100644
--- a/bsps/include/dev/spi/xqspipsu-flash-helper.h
+++ b/bsps/include/dev/spi/xqspipsu-flash-helper.h
@@ -170,3 +170,23 @@ u32 QspiPsu_NOR_Get_Sector_Size(XQspiPsu *QspiPsuPtr);
*
******************************************************************************/
int QspiPsu_NOR_RDID(XQspiPsu *QspiPsuPtr, u8 *ReadBfrPtr, u32 ReadLen);
+
+/*****************************************************************************/
+/**
+ *
+ * This function performs a read of the SFDP configuration space.
+ *
+ * @param QspiPsuPtr is a pointer to the QSPIPSU driver component to use.
+ * @param ReadBfrPtr is a pointer to a buffer to be filled with
+ * configuration data.
+ * @param ReadLen is the total length of the configuration space to read.
+ *
+ * @return XST_SUCCESS if successful, else XST_FAILURE.
+ *
+ ******************************************************************************/
+int QspiPsu_NOR_RDSFDP(
+ XQspiPsu *QspiPsuPtr,
+ u32 Address,
+ u32 ByteCount,
+ u8 **ReadBfrPtr
+);
diff --git a/bsps/include/dev/spi/xqspipsu_flash_config.h b/bsps/include/dev/spi/xqspipsu_flash_config.h
index 8310a87536..0b04fffc28 100644
--- a/bsps/include/dev/spi/xqspipsu_flash_config.h
+++ b/bsps/include/dev/spi/xqspipsu_flash_config.h
@@ -64,6 +64,7 @@ extern "C" {
#define BULK_ERASE_CMD 0xC7
#define SEC_ERASE_CMD 0xD8
#define READ_ID 0x9F
+#define READ_SFDP 0x5A
#define READ_CONFIG_CMD 0x35
#define WRITE_CONFIG_CMD 0x01
#define ENTER_4B_ADDR_MODE 0xB7