You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/09/23 09:49:20 UTC
[incubator-nuttx] 03/03: esp32_spiram/psram/himem: Add and fix the
files' sections.
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit f2f2040c44e3e23ca5c8db9bd0a6fdf94b1db4e5
Author: Abdelatif Guettouche <ab...@espressif.com>
AuthorDate: Wed Sep 22 17:20:30 2021 +0200
esp32_spiram/psram/himem: Add and fix the files' sections.
Signed-off-by: Abdelatif Guettouche <ab...@espressif.com>
---
arch/xtensa/src/esp32/esp32_himem.h | 8 +
arch/xtensa/src/esp32/esp32_psram.c | 422 +++++++++++++++++------------------
arch/xtensa/src/esp32/esp32_psram.h | 6 +-
arch/xtensa/src/esp32/esp32_spiram.c | 10 +-
arch/xtensa/src/esp32/esp32_spiram.h | 8 +
5 files changed, 235 insertions(+), 219 deletions(-)
diff --git a/arch/xtensa/src/esp32/esp32_himem.h b/arch/xtensa/src/esp32/esp32_himem.h
index baf776f..1f29c51 100644
--- a/arch/xtensa/src/esp32/esp32_himem.h
+++ b/arch/xtensa/src/esp32/esp32_himem.h
@@ -32,12 +32,20 @@ extern "C"
{
#endif
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
/* Indicates that a mapping will only be read from. Note that this is unused
* for now.
*/
#define ESP_HIMEM_MAPFLAG_RO 1
+/****************************************************************************
+ * Public Functions Prototypes
+ ****************************************************************************/
+
/* Allocate a block in high memory
*
* params:
diff --git a/arch/xtensa/src/esp32/esp32_psram.c b/arch/xtensa/src/esp32/esp32_psram.c
index 6b9ec45..7ecda49 100644
--- a/arch/xtensa/src/esp32/esp32_psram.c
+++ b/arch/xtensa/src/esp32/esp32_psram.c
@@ -416,6 +416,217 @@ static int IRAM_ATTR esp32_get_vddsdio_config(
return OK;
}
+/* register initialization for sram cache params and r/w commands */
+
+static void IRAM_ATTR
+ psram_cache_init(int psram_cache_mode, int vaddrmode)
+{
+ uint32_t regval;
+
+ switch (psram_cache_mode)
+ {
+ case PSRAM_CACHE_F80M_S80M:
+
+ /* flash 1 div clk,80+40; */
+
+ modifyreg32(SPI_DATE_REG(0), BIT(31), 0);
+
+ /* pre clk div , ONLY IF SPI/SRAM@ DIFFERENT SPEED,JUST FOR SPI0.
+ * FLASH DIV 2+SRAM DIV4
+ */
+
+ modifyreg32(SPI_DATE_REG(0), BIT(30), 0);
+ break;
+
+ case PSRAM_CACHE_F80M_S40M:
+ modifyreg32(SPI_CLOCK_REG(0), SPI_CLK_EQU_SYSCLK_M, 0);
+ SET_PERI_REG_BITS(SPI_CLOCK_REG(0), SPI_CLKDIV_PRE_V, 0,
+ SPI_CLKDIV_PRE_S);
+ SET_PERI_REG_BITS(SPI_CLOCK_REG(0), SPI_CLKCNT_N, 1, SPI_CLKCNT_N_S);
+ SET_PERI_REG_BITS(SPI_CLOCK_REG(0), SPI_CLKCNT_H, 0, SPI_CLKCNT_H_S);
+ SET_PERI_REG_BITS(SPI_CLOCK_REG(0), SPI_CLKCNT_L, 1, SPI_CLKCNT_L_S);
+ modifyreg32(SPI_DATE_REG(0), BIT(31), 0); /* flash 1 div clk */
+
+ /* pre clk div , ONLY IF SPI/SRAM@ DIFFERENT SPEED,JUST FOR SPI0. */
+
+ modifyreg32(SPI_DATE_REG(0), BIT(30), 0);
+ break;
+ case PSRAM_CACHE_F40M_S40M:
+ default:
+
+ /* flash 1 div clk */
+
+ modifyreg32(SPI_DATE_REG(0), BIT(31), 0);
+
+ /* pre clk div */
+
+ modifyreg32(SPI_DATE_REG(0), BIT(30), 0);
+ break;
+ }
+
+ /* disable dio mode for cache command */
+
+ modifyreg32(SPI_CACHE_SCTRL_REG(0), SPI_USR_SRAM_DIO_M, 0);
+
+ /* enable qio mode for cache command */
+
+ modifyreg32(SPI_CACHE_SCTRL_REG(0), 0, SPI_USR_SRAM_QIO_M);
+
+ /* enable cache read command */
+
+ modifyreg32(SPI_CACHE_SCTRL_REG(0), 0, SPI_CACHE_SRAM_USR_RCMD_M);
+
+ /* enable cache write command */
+
+ modifyreg32(SPI_CACHE_SCTRL_REG(0), 0, SPI_CACHE_SRAM_USR_WCMD_M);
+
+ /* write address for cache command */
+
+ SET_PERI_REG_BITS(SPI_CACHE_SCTRL_REG(0), SPI_SRAM_ADDR_BITLEN_V, 23,
+ SPI_SRAM_ADDR_BITLEN_S);
+
+ /* enable cache read dummy */
+
+ modifyreg32(SPI_CACHE_SCTRL_REG(0), 0, SPI_USR_RD_SRAM_DUMMY_M);
+
+ /* config sram cache r/w command */
+
+ SET_PERI_REG_BITS(SPI_SRAM_DRD_CMD_REG(0),
+ SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_V, 7,
+ SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_S);
+
+ SET_PERI_REG_BITS(SPI_SRAM_DRD_CMD_REG(0),
+ SPI_CACHE_SRAM_USR_RD_CMD_VALUE_V,
+ PSRAM_FAST_READ_QUAD,
+ SPI_CACHE_SRAM_USR_RD_CMD_VALUE_S); /* 0xEB */
+
+ SET_PERI_REG_BITS(SPI_SRAM_DWR_CMD_REG(0),
+ SPI_CACHE_SRAM_USR_WR_CMD_BITLEN, 7,
+ SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_S);
+
+ SET_PERI_REG_BITS(SPI_SRAM_DWR_CMD_REG(0),
+ SPI_CACHE_SRAM_USR_WR_CMD_VALUE,
+ PSRAM_QUAD_WRITE,
+ SPI_CACHE_SRAM_USR_WR_CMD_VALUE_S); /* 0x38 */
+
+ /* dummy, psram cache : 40m--+1dummy; 80m--+2dummy */
+
+ SET_PERI_REG_BITS(SPI_CACHE_SCTRL_REG(0), SPI_SRAM_DUMMY_CYCLELEN_V,
+ PSRAM_FAST_READ_QUAD_DUMMY + extra_dummy,
+ SPI_SRAM_DUMMY_CYCLELEN_S);
+
+ switch (psram_cache_mode)
+ {
+ /* in this mode , no delay is needed */
+
+ case PSRAM_CACHE_F80M_S80M:
+ break;
+
+ /* if sram is @40M, need 2 cycles of delay */
+
+ case PSRAM_CACHE_F80M_S40M:
+ case PSRAM_CACHE_F40M_S40M:
+ default:
+ if (s_clk_mode == PSRAM_CLK_MODE_DCLK)
+ {
+ /* read command length, 2 bytes(1byte for delay), sending in qio
+ * mode in cache
+ */
+
+ SET_PERI_REG_BITS(SPI_SRAM_DRD_CMD_REG(0),
+ SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_V, 15,
+ SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_S);
+
+ /* 0xEB, read command value,(0x00 for delay,0xeb for cmd) */
+
+ SET_PERI_REG_BITS(SPI_SRAM_DRD_CMD_REG(0),
+ SPI_CACHE_SRAM_USR_RD_CMD_VALUE_V,
+ ((PSRAM_FAST_READ_QUAD) << 8),
+ SPI_CACHE_SRAM_USR_RD_CMD_VALUE_S);
+
+ /* write command length,2 bytes(1byte for delay,send in qio mode
+ * in cache)
+ */
+
+ SET_PERI_REG_BITS(SPI_SRAM_DWR_CMD_REG(0),
+ SPI_CACHE_SRAM_USR_WR_CMD_BITLEN, 15,
+ SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_S);
+
+ /* 0x38, write command value,(0x00 for delay) */
+
+ SET_PERI_REG_BITS(SPI_SRAM_DWR_CMD_REG(0),
+ SPI_CACHE_SRAM_USR_WR_CMD_VALUE,
+ ((PSRAM_QUAD_WRITE) << 8),
+ SPI_CACHE_SRAM_USR_WR_CMD_VALUE_S);
+
+ /* dummy, psram cache : 40m--+1dummy; 80m--+2dummy */
+
+ SET_PERI_REG_BITS(SPI_CACHE_SCTRL_REG(0),
+ SPI_SRAM_DUMMY_CYCLELEN_V,
+ PSRAM_FAST_READ_QUAD_DUMMY + extra_dummy,
+ SPI_SRAM_DUMMY_CYCLELEN_S);
+ }
+ break;
+ }
+
+ modifyreg32(DPORT_PRO_CACHE_CTRL_REG,
+ DPORT_PRO_DRAM_HL | DPORT_PRO_DRAM_SPLIT, 0);
+ modifyreg32(DPORT_APP_CACHE_CTRL_REG,
+ DPORT_APP_DRAM_HL | DPORT_APP_DRAM_SPLIT, 0);
+ if (vaddrmode == PSRAM_VADDR_MODE_LOWHIGH)
+ {
+ modifyreg32(DPORT_PRO_CACHE_CTRL_REG, 0, DPORT_PRO_DRAM_HL);
+ modifyreg32(DPORT_APP_CACHE_CTRL_REG, 0, DPORT_APP_DRAM_HL);
+ }
+ else
+ {
+ if (vaddrmode == PSRAM_VADDR_MODE_EVENODD)
+ {
+ modifyreg32(DPORT_PRO_CACHE_CTRL_REG, 0, DPORT_PRO_DRAM_SPLIT);
+ modifyreg32(DPORT_APP_CACHE_CTRL_REG, 0, DPORT_APP_DRAM_SPLIT);
+ }
+ }
+
+ /* use Dram1 to visit ext sram. */
+
+ modifyreg32(DPORT_PRO_CACHE_CTRL1_REG,
+ DPORT_PRO_CACHE_MASK_DRAM1 | DPORT_PRO_CACHE_MASK_OPSDRAM, 0);
+
+ /* cache page mode :
+ * 1 -->16k
+ * 4 -->2k
+ * 0 -->32k,(accord with the settings in cache_sram_mmu_set)
+ */
+
+ /* get into unknown exception if not comment */
+
+ regval = getreg32(DPORT_PRO_CACHE_CTRL1_REG);
+ regval &= ~(DPORT_PRO_CMMU_SRAM_PAGE_MODE <<
+ DPORT_PRO_CMMU_SRAM_PAGE_MODE_S);
+ putreg32(regval, DPORT_PRO_CACHE_CTRL1_REG);
+
+ /* use DRAM1 to visit ext sram. */
+
+ modifyreg32(DPORT_APP_CACHE_CTRL1_REG,
+ DPORT_APP_CACHE_MASK_DRAM1 |
+ DPORT_APP_CACHE_MASK_OPSDRAM, 0);
+
+ /* cache page mode :
+ * 1 -->16k
+ * 4 -->2k
+ * 0 -->32k, (accord with the settings in cache_sram_mmu_set)
+ */
+
+ regval = getreg32(DPORT_APP_CACHE_CTRL1_REG);
+ regval &= ~(DPORT_APP_CMMU_SRAM_PAGE_MODE <<
+ DPORT_APP_CMMU_SRAM_PAGE_MODE_S);
+ putreg32(regval, DPORT_APP_CACHE_CTRL1_REG);
+
+ /* ENABLE SPI0 CS1 TO PSRAM(CS0--FLASH; CS1--SRAM) */
+
+ modifyreg32(SPI_PIN_REG(0), SPI_CS1_DIS_M, 0);
+}
+
static void psram_clear_spi_fifo(psram_spi_num_t spi_num)
{
int i;
@@ -1561,215 +1772,4 @@ psram_enable(int mode, int vaddrmode) /* psram init */
return OK;
}
-/* register initialization for sram cache params and r/w commands */
-
-static void IRAM_ATTR
-psram_cache_init(int psram_cache_mode, int vaddrmode)
-{
- uint32_t regval;
-
- switch (psram_cache_mode)
- {
- case PSRAM_CACHE_F80M_S80M:
-
- /* flash 1 div clk,80+40; */
-
- modifyreg32(SPI_DATE_REG(0), BIT(31), 0);
-
- /* pre clk div , ONLY IF SPI/SRAM@ DIFFERENT SPEED,JUST FOR SPI0.
- * FLASH DIV 2+SRAM DIV4
- */
-
- modifyreg32(SPI_DATE_REG(0), BIT(30), 0);
- break;
-
- case PSRAM_CACHE_F80M_S40M:
- modifyreg32(SPI_CLOCK_REG(0), SPI_CLK_EQU_SYSCLK_M, 0);
- SET_PERI_REG_BITS(SPI_CLOCK_REG(0), SPI_CLKDIV_PRE_V, 0,
- SPI_CLKDIV_PRE_S);
- SET_PERI_REG_BITS(SPI_CLOCK_REG(0), SPI_CLKCNT_N, 1, SPI_CLKCNT_N_S);
- SET_PERI_REG_BITS(SPI_CLOCK_REG(0), SPI_CLKCNT_H, 0, SPI_CLKCNT_H_S);
- SET_PERI_REG_BITS(SPI_CLOCK_REG(0), SPI_CLKCNT_L, 1, SPI_CLKCNT_L_S);
- modifyreg32(SPI_DATE_REG(0), BIT(31), 0); /* flash 1 div clk */
-
- /* pre clk div , ONLY IF SPI/SRAM@ DIFFERENT SPEED,JUST FOR SPI0. */
-
- modifyreg32(SPI_DATE_REG(0), BIT(30), 0);
- break;
- case PSRAM_CACHE_F40M_S40M:
- default:
-
- /* flash 1 div clk */
-
- modifyreg32(SPI_DATE_REG(0), BIT(31), 0);
-
- /* pre clk div */
-
- modifyreg32(SPI_DATE_REG(0), BIT(30), 0);
- break;
- }
-
- /* disable dio mode for cache command */
-
- modifyreg32(SPI_CACHE_SCTRL_REG(0), SPI_USR_SRAM_DIO_M, 0);
-
- /* enable qio mode for cache command */
-
- modifyreg32(SPI_CACHE_SCTRL_REG(0), 0, SPI_USR_SRAM_QIO_M);
-
- /* enable cache read command */
-
- modifyreg32(SPI_CACHE_SCTRL_REG(0), 0, SPI_CACHE_SRAM_USR_RCMD_M);
-
- /* enable cache write command */
-
- modifyreg32(SPI_CACHE_SCTRL_REG(0), 0, SPI_CACHE_SRAM_USR_WCMD_M);
-
- /* write address for cache command */
-
- SET_PERI_REG_BITS(SPI_CACHE_SCTRL_REG(0), SPI_SRAM_ADDR_BITLEN_V, 23,
- SPI_SRAM_ADDR_BITLEN_S);
-
- /* enable cache read dummy */
-
- modifyreg32(SPI_CACHE_SCTRL_REG(0), 0, SPI_USR_RD_SRAM_DUMMY_M);
-
- /* config sram cache r/w command */
-
- SET_PERI_REG_BITS(SPI_SRAM_DRD_CMD_REG(0),
- SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_V, 7,
- SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_S);
-
- SET_PERI_REG_BITS(SPI_SRAM_DRD_CMD_REG(0),
- SPI_CACHE_SRAM_USR_RD_CMD_VALUE_V,
- PSRAM_FAST_READ_QUAD,
- SPI_CACHE_SRAM_USR_RD_CMD_VALUE_S); /* 0xEB */
-
- SET_PERI_REG_BITS(SPI_SRAM_DWR_CMD_REG(0),
- SPI_CACHE_SRAM_USR_WR_CMD_BITLEN, 7,
- SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_S);
-
- SET_PERI_REG_BITS(SPI_SRAM_DWR_CMD_REG(0),
- SPI_CACHE_SRAM_USR_WR_CMD_VALUE,
- PSRAM_QUAD_WRITE,
- SPI_CACHE_SRAM_USR_WR_CMD_VALUE_S); /* 0x38 */
-
- /* dummy, psram cache : 40m--+1dummy; 80m--+2dummy */
-
- SET_PERI_REG_BITS(SPI_CACHE_SCTRL_REG(0), SPI_SRAM_DUMMY_CYCLELEN_V,
- PSRAM_FAST_READ_QUAD_DUMMY + extra_dummy,
- SPI_SRAM_DUMMY_CYCLELEN_S);
-
- switch (psram_cache_mode)
- {
- /* in this mode , no delay is needed */
-
- case PSRAM_CACHE_F80M_S80M:
- break;
-
- /* if sram is @40M, need 2 cycles of delay */
-
- case PSRAM_CACHE_F80M_S40M:
- case PSRAM_CACHE_F40M_S40M:
- default:
- if (s_clk_mode == PSRAM_CLK_MODE_DCLK)
- {
- /* read command length, 2 bytes(1byte for delay), sending in qio
- * mode in cache
- */
-
- SET_PERI_REG_BITS(SPI_SRAM_DRD_CMD_REG(0),
- SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_V, 15,
- SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_S);
-
- /* 0xEB, read command value,(0x00 for delay,0xeb for cmd) */
-
- SET_PERI_REG_BITS(SPI_SRAM_DRD_CMD_REG(0),
- SPI_CACHE_SRAM_USR_RD_CMD_VALUE_V,
- ((PSRAM_FAST_READ_QUAD) << 8),
- SPI_CACHE_SRAM_USR_RD_CMD_VALUE_S);
-
- /* write command length,2 bytes(1byte for delay,send in qio mode
- * in cache)
- */
-
- SET_PERI_REG_BITS(SPI_SRAM_DWR_CMD_REG(0),
- SPI_CACHE_SRAM_USR_WR_CMD_BITLEN, 15,
- SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_S);
-
- /* 0x38, write command value,(0x00 for delay) */
-
- SET_PERI_REG_BITS(SPI_SRAM_DWR_CMD_REG(0),
- SPI_CACHE_SRAM_USR_WR_CMD_VALUE,
- ((PSRAM_QUAD_WRITE) << 8),
- SPI_CACHE_SRAM_USR_WR_CMD_VALUE_S);
-
- /* dummy, psram cache : 40m--+1dummy; 80m--+2dummy */
-
- SET_PERI_REG_BITS(SPI_CACHE_SCTRL_REG(0),
- SPI_SRAM_DUMMY_CYCLELEN_V,
- PSRAM_FAST_READ_QUAD_DUMMY + extra_dummy,
- SPI_SRAM_DUMMY_CYCLELEN_S);
- }
- break;
- }
-
- modifyreg32(DPORT_PRO_CACHE_CTRL_REG,
- DPORT_PRO_DRAM_HL | DPORT_PRO_DRAM_SPLIT, 0);
- modifyreg32(DPORT_APP_CACHE_CTRL_REG,
- DPORT_APP_DRAM_HL | DPORT_APP_DRAM_SPLIT, 0);
- if (vaddrmode == PSRAM_VADDR_MODE_LOWHIGH)
- {
- modifyreg32(DPORT_PRO_CACHE_CTRL_REG, 0, DPORT_PRO_DRAM_HL);
- modifyreg32(DPORT_APP_CACHE_CTRL_REG, 0, DPORT_APP_DRAM_HL);
- }
- else
- {
- if (vaddrmode == PSRAM_VADDR_MODE_EVENODD)
- {
- modifyreg32(DPORT_PRO_CACHE_CTRL_REG, 0, DPORT_PRO_DRAM_SPLIT);
- modifyreg32(DPORT_APP_CACHE_CTRL_REG, 0, DPORT_APP_DRAM_SPLIT);
- }
- }
-
- /* use Dram1 to visit ext sram. */
-
- modifyreg32(DPORT_PRO_CACHE_CTRL1_REG,
- DPORT_PRO_CACHE_MASK_DRAM1 | DPORT_PRO_CACHE_MASK_OPSDRAM, 0);
-
- /* cache page mode :
- * 1 -->16k
- * 4 -->2k
- * 0 -->32k,(accord with the settings in cache_sram_mmu_set)
- */
-
- /* get into unknown exception if not comment */
-
- regval = getreg32(DPORT_PRO_CACHE_CTRL1_REG);
- regval &= ~(DPORT_PRO_CMMU_SRAM_PAGE_MODE <<
- DPORT_PRO_CMMU_SRAM_PAGE_MODE_S);
- putreg32(regval, DPORT_PRO_CACHE_CTRL1_REG);
-
- /* use DRAM1 to visit ext sram. */
-
- modifyreg32(DPORT_APP_CACHE_CTRL1_REG,
- DPORT_APP_CACHE_MASK_DRAM1 |
- DPORT_APP_CACHE_MASK_OPSDRAM, 0);
-
- /* cache page mode :
- * 1 -->16k
- * 4 -->2k
- * 0 -->32k, (accord with the settings in cache_sram_mmu_set)
- */
-
- regval = getreg32(DPORT_APP_CACHE_CTRL1_REG);
- regval &= ~(DPORT_APP_CMMU_SRAM_PAGE_MODE <<
- DPORT_APP_CMMU_SRAM_PAGE_MODE_S);
- putreg32(regval, DPORT_APP_CACHE_CTRL1_REG);
-
- /* ENABLE SPI0 CS1 TO PSRAM(CS0--FLASH; CS1--SRAM) */
-
- modifyreg32(SPI_PIN_REG(0), SPI_CS1_DIS_M, 0);
-}
-
#endif /* CONFIG_ESP32_SPIRAM */
diff --git a/arch/xtensa/src/esp32/esp32_psram.h b/arch/xtensa/src/esp32/esp32_psram.h
index abb5cba..c081d0d 100644
--- a/arch/xtensa/src/esp32/esp32_psram.h
+++ b/arch/xtensa/src/esp32/esp32_psram.h
@@ -22,7 +22,7 @@
#define __ARCH_XTENSA_SRC_ESP32_ESP32_PSRAM_H
/****************************************************************************
- * Included Files
+ * Pre-processor Definitions
****************************************************************************/
#define PSRAM_CACHE_F80M_S40M 0
@@ -55,6 +55,10 @@
* odd ones.
*/
+/****************************************************************************
+ * Public Functions Prototypes
+ ****************************************************************************/
+
/* Description: Get PSRAM size
* return:
* - PSRAM_SIZE_MAX if psram not enabled or not valid
diff --git a/arch/xtensa/src/esp32/esp32_spiram.c b/arch/xtensa/src/esp32/esp32_spiram.c
index c6eef15..c2b9f35 100644
--- a/arch/xtensa/src/esp32/esp32_spiram.c
+++ b/arch/xtensa/src/esp32/esp32_spiram.c
@@ -57,10 +57,6 @@
#endif
#endif
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
/* Let's to assume SPIFLASH SPEED == SPIRAM SPEED for now */
#if defined(CONFIG_ESP32_SPIRAM_SPEED_40M)
@@ -71,12 +67,12 @@
# error "FLASH speed can only be equal to or higher than SRAM speed while SRAM is enabled!"
#endif
-static bool spiram_inited = false;
-
/****************************************************************************
- * Private Functions
+ * Private Data
****************************************************************************/
+static bool spiram_inited = false;
+
/****************************************************************************
* Public Functions
****************************************************************************/
diff --git a/arch/xtensa/src/esp32/esp32_spiram.h b/arch/xtensa/src/esp32/esp32_spiram.h
index 28734a9..3ae3e27 100644
--- a/arch/xtensa/src/esp32/esp32_spiram.h
+++ b/arch/xtensa/src/esp32/esp32_spiram.h
@@ -30,6 +30,10 @@
#include <stdbool.h>
#include "xtensa_attr.h"
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
#define ESP_SPIRAM_SIZE_16MBITS 0 /* SPI RAM size is 16 MBits */
#define ESP_SPIRAM_SIZE_32MBITS 1 /* SPI RAM size is 32 MBits */
#define ESP_SPIRAM_SIZE_64MBITS 2 /* SPI RAM size is 64 MBits */
@@ -74,6 +78,10 @@
#define SRAM_MMU_EDGE_CHECK(mmu_val,num,psize) (((mmu_val) + (num)) > ((8*1024)/(psize)))
+/****************************************************************************
+ * Public Functions Prototypes
+ ****************************************************************************/
+
/* Description: get SPI RAM size
* return
* - ESP_SPIRAM_SIZE_INVALID if SPI RAM not enabled or not valid