From fb2f5cc1da7027405223f43e5a357b5f85f2d2b1 Mon Sep 17 00:00:00 2001 From: wanckl Date: Fri, 11 Apr 2025 15:08:41 +0800 Subject: [PATCH] feat(driver_spi): c5 eco2 support master rx timing sample phase --- components/hal/esp32c5/include/hal/spi_ll.h | 7 +- components/soc/esp32c5/include/soc/soc.h | 1 - components/soc/esp32c5/register/soc/spi_reg.h | 592 +++++++++--------- .../soc/esp32c5/register/soc/spi_struct.h | 591 +++++++++-------- docs/docs_not_updated/esp32c5.txt | 1 - 5 files changed, 593 insertions(+), 599 deletions(-) diff --git a/components/hal/esp32c5/include/hal/spi_ll.h b/components/hal/esp32c5/include/hal/spi_ll.h index 30f0ac56f6..6db46ddcca 100644 --- a/components/hal/esp32c5/include/hal/spi_ll.h +++ b/components/hal/esp32c5/include/hal/spi_ll.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -698,13 +698,14 @@ static inline void spi_ll_master_keep_cs(spi_dev_t *hw, int keep_active) *----------------------------------------------------------------------------*/ /** * Set the standard clock mode for master. + * This config take effect only when SPI_CLK (pre-div before periph) div >=2 * * @param hw Beginning address of the peripheral registers. * @param enable_std True for std timing, False for half cycle delay sampling. */ static inline void spi_ll_master_set_rx_timing_mode(spi_dev_t *hw, spi_sampling_point_t sample_point) { - //This is not supported + hw->clock.clk_edge_sel = (sample_point == SPI_SAMPLING_POINT_PHASE_1); } /** @@ -712,7 +713,7 @@ static inline void spi_ll_master_set_rx_timing_mode(spi_dev_t *hw, spi_sampling_ */ static inline bool spi_ll_master_is_rx_std_sample_supported(void) { - return false; + return true; } /** diff --git a/components/soc/esp32c5/include/soc/soc.h b/components/soc/esp32c5/include/soc/soc.h index 0d99d51a1e..b69113df54 100644 --- a/components/soc/esp32c5/include/soc/soc.h +++ b/components/soc/esp32c5/include/soc/soc.h @@ -21,7 +21,6 @@ #define REG_I2S_BASE(i) (DR_REG_I2S_BASE) // only one I2S on C5 #define REG_TIMG_BASE(i) (DR_REG_TIMERG0_BASE + (i) * 0x1000) // TIMERG0 and TIMERG1 #define REG_SPI_MEM_BASE(i) (DR_REG_SPIMEM0_BASE + (i) * 0x1000) // SPIMEM0 and SPIMEM1 -#define REG_SPI_BASE(i) (DR_REG_SPI2_BASE) // only one GPSPI on C5 #define REG_I2C_BASE(i) (DR_REG_I2C_BASE) // only one I2C on C5 #define REG_MCPWM_BASE(i) (DR_REG_MCPWM_BASE) // only one MCPWM on C5 #define REG_TWAI_BASE(i) (DR_REG_TWAI0_BASE + (i) * 0x2000) // TWAI0 and TWAI1 diff --git a/components/soc/esp32c5/register/soc/spi_reg.h b/components/soc/esp32c5/register/soc/spi_reg.h index cce0834349..4ace6f9957 100644 --- a/components/soc/esp32c5/register/soc/spi_reg.h +++ b/components/soc/esp32c5/register/soc/spi_reg.h @@ -1,5 +1,5 @@ /** - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -11,13 +11,15 @@ extern "C" { #endif +#define REG_SPI_BASE(i) (DR_REG_SPI2_BASE) // only one GPSPI on C5 + /** SPI_CMD_REG register * Command control register */ #define SPI_CMD_REG(i) (REG_SPI_BASE(i) + 0x0) /** SPI_CONF_BITLEN : R/W; bitpos: [17:0]; default: 0; * Configures the SPI_CLK cycles of SPI CONF state. - * Measurement unit: SPI_CLK clock cycle.\\ + * Measurement unit: SPI_CLK clock cycle. * Can be configured in CONF state. */ #define SPI_CONF_BITLEN 0x0003FFFFU @@ -26,9 +28,9 @@ extern "C" { #define SPI_CONF_BITLEN_S 0 /** SPI_UPDATE : WT; bitpos: [23]; default: 0; * Configures whether or not to synchronize SPI registers from APB clock domain into - * SPI module clock domain. \\ - * 0: Not synchronize \\ - * 1: Synchronize \\ + * SPI module clock domain. + * 0: Not synchronize + * 1: Synchronize * This bit is only used in SPI master transfer. */ #define SPI_UPDATE (BIT(23)) @@ -36,9 +38,9 @@ extern "C" { #define SPI_UPDATE_V 0x00000001U #define SPI_UPDATE_S 23 /** SPI_USR : R/W/SC; bitpos: [24]; default: 0; - * Configures whether or not to enable user-defined command. \\ - * 0: Not enable \\ - * 1: Enable \\ + * Configures whether or not to enable user-defined command. + * 0: Not enable + * 1: Enable * An SPI operation will be triggered when the bit is set. This bit will be cleared * once the operation is done. Can not be changed by CONF_buf. */ @@ -65,9 +67,9 @@ extern "C" { */ #define SPI_CTRL_REG(i) (REG_SPI_BASE(i) + 0x8) /** SPI_DUMMY_OUT : R/W; bitpos: [3]; default: 0; - * Configures whether or not to output the FSPI bus signals in DUMMY state. \\ - * 0: Not output \\ - * 1: Output \\ + * Configures whether or not to output the FSPI bus signals in DUMMY state. + * 0: Not output + * 1: Output * Can be configured in CONF state. */ #define SPI_DUMMY_OUT (BIT(3)) @@ -75,9 +77,9 @@ extern "C" { #define SPI_DUMMY_OUT_V 0x00000001U #define SPI_DUMMY_OUT_S 3 /** SPI_FADDR_DUAL : R/W; bitpos: [5]; default: 0; - * Configures whether or not to enable 2-bit mode during address (ADDR) state.\\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 2-bit mode during address (ADDR) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FADDR_DUAL (BIT(5)) @@ -85,9 +87,9 @@ extern "C" { #define SPI_FADDR_DUAL_V 0x00000001U #define SPI_FADDR_DUAL_S 5 /** SPI_FADDR_QUAD : R/W; bitpos: [6]; default: 0; - * Configures whether or not to enable 4-bit mode during address (ADDR) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 4-bit mode during address (ADDR) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FADDR_QUAD (BIT(6)) @@ -95,9 +97,9 @@ extern "C" { #define SPI_FADDR_QUAD_V 0x00000001U #define SPI_FADDR_QUAD_S 6 /** SPI_FADDR_OCT : HRO; bitpos: [7]; default: 0; - * Configures whether or not to enable 8-bit mode during address (ADDR) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 8-bit mode during address (ADDR) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FADDR_OCT (BIT(7)) @@ -105,9 +107,9 @@ extern "C" { #define SPI_FADDR_OCT_V 0x00000001U #define SPI_FADDR_OCT_S 7 /** SPI_FCMD_DUAL : R/W; bitpos: [8]; default: 0; - * Configures whether or not to enable 2-bit mode during command (CMD) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 2-bit mode during command (CMD) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FCMD_DUAL (BIT(8)) @@ -115,9 +117,9 @@ extern "C" { #define SPI_FCMD_DUAL_V 0x00000001U #define SPI_FCMD_DUAL_S 8 /** SPI_FCMD_QUAD : R/W; bitpos: [9]; default: 0; - * Configures whether or not to enable 4-bit mode during command (CMD) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 4-bit mode during command (CMD) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FCMD_QUAD (BIT(9)) @@ -125,9 +127,9 @@ extern "C" { #define SPI_FCMD_QUAD_V 0x00000001U #define SPI_FCMD_QUAD_S 9 /** SPI_FCMD_OCT : HRO; bitpos: [10]; default: 0; - * Configures whether or not to enable 8-bit mode during command (CMD) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 8-bit mode during command (CMD) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FCMD_OCT (BIT(10)) @@ -136,9 +138,9 @@ extern "C" { #define SPI_FCMD_OCT_S 10 /** SPI_FREAD_DUAL : R/W; bitpos: [14]; default: 0; * Configures whether or not to enable the 2-bit mode of read-data (DIN) state in read - * operations. \\ - * 0: Disable \\ - * 1: Enable \\ + * operations. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FREAD_DUAL (BIT(14)) @@ -147,9 +149,9 @@ extern "C" { #define SPI_FREAD_DUAL_S 14 /** SPI_FREAD_QUAD : R/W; bitpos: [15]; default: 0; * Configures whether or not to enable the 4-bit mode of read-data (DIN) state in read - * operations. \\ - * 0: Disable \\ - * 1: Enable \\ + * operations. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FREAD_QUAD (BIT(15)) @@ -158,9 +160,9 @@ extern "C" { #define SPI_FREAD_QUAD_S 15 /** SPI_FREAD_OCT : HRO; bitpos: [16]; default: 0; * Configures whether or not to enable the 8-bit mode of read-data (DIN) state in read - * operations. \\ - * 0: Disable \\ - * 1: Enable \\ + * operations. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FREAD_OCT (BIT(16)) @@ -168,9 +170,9 @@ extern "C" { #define SPI_FREAD_OCT_V 0x00000001U #define SPI_FREAD_OCT_S 16 /** SPI_Q_POL : R/W; bitpos: [18]; default: 1; - * Configures MISO line polarity. \\ - * 0: Low \\ - * 1: High \\ + * Configures MISO line polarity. + * 0: Low + * 1: High * Can be configured in CONF state. */ #define SPI_Q_POL (BIT(18)) @@ -178,9 +180,9 @@ extern "C" { #define SPI_Q_POL_V 0x00000001U #define SPI_Q_POL_S 18 /** SPI_D_POL : R/W; bitpos: [19]; default: 1; - * Configures MOSI line polarity. \\ - * 0: Low \\ - * 1: High \\ + * Configures MOSI line polarity. + * 0: Low + * 1: High * Can be configured in CONF state. */ #define SPI_D_POL (BIT(19)) @@ -188,9 +190,9 @@ extern "C" { #define SPI_D_POL_V 0x00000001U #define SPI_D_POL_S 19 /** SPI_HOLD_POL : R/W; bitpos: [20]; default: 1; - * Configures SPI_HOLD output value when SPI is in idle. \\ - * 0: Output low \\ - * 1: Output high \\ + * Configures SPI_HOLD output value when SPI is in idle. + * 0: Output low + * 1: Output high * Can be configured in CONF state. */ #define SPI_HOLD_POL (BIT(20)) @@ -198,9 +200,9 @@ extern "C" { #define SPI_HOLD_POL_V 0x00000001U #define SPI_HOLD_POL_S 20 /** SPI_WP_POL : R/W; bitpos: [21]; default: 1; - * Configures the output value of write-protect signal when SPI is in idle. \\ - * 0: Output low \\ - * 1: Output high \\ + * Configures the output value of write-protect signal when SPI is in idle. + * 0: Output low + * 1: Output high * Can be configured in CONF state. */ #define SPI_WP_POL (BIT(21)) @@ -208,9 +210,9 @@ extern "C" { #define SPI_WP_POL_V 0x00000001U #define SPI_WP_POL_S 21 /** SPI_RD_BIT_ORDER : R/W; bitpos: [24:23]; default: 0; - * Configures the bit order in read-data (MISO) state. \\ - * 0: MSB first \\ - * 1: LSB first \\ + * Configures the bit order in read-data (MISO) state. + * 0: MSB first + * 1: LSB first * Can be configured in CONF state. */ #define SPI_RD_BIT_ORDER 0x00000003U @@ -219,9 +221,9 @@ extern "C" { #define SPI_RD_BIT_ORDER_S 23 /** SPI_WR_BIT_ORDER : R/W; bitpos: [26:25]; default: 0; * Configures the bit order in command (CMD), address (ADDR), and write-data (MOSI) - * states. \\ - * 0: MSB first \\ - * 1: LSB first \\ + * states. + * 0: MSB first + * 1: LSB first * Can be configured in CONF state. */ #define SPI_WR_BIT_ORDER 0x00000003U @@ -245,7 +247,7 @@ extern "C" { * Configures the duty cycle of SPI_CLK (high level) in master transfer. * It's recommended to configure this value to floor((SPI_CLKCNT_N + 1)/2 - 1). * floor() here is to round a number down, e.g., floor(2.2) = 2. In slave mode, it - * must be 0. \\ + * must be 0. * Can be configured in CONF state. */ #define SPI_CLKCNT_H 0x0000003FU @@ -255,7 +257,7 @@ extern "C" { /** SPI_CLKCNT_N : R/W; bitpos: [17:12]; default: 3; * Configures the divider of SPI_CLK in master transfer. * SPI_CLK frequency is $f_{\textrm{apb_clk}}$/(SPI_CLKDIV_PRE + 1)/(SPI_CLKCNT_N + - * 1). \\ + * 1). * Can be configured in CONF state. */ #define SPI_CLKCNT_N 0x0000003FU @@ -270,10 +272,21 @@ extern "C" { #define SPI_CLKDIV_PRE_M (SPI_CLKDIV_PRE_V << SPI_CLKDIV_PRE_S) #define SPI_CLKDIV_PRE_V 0x0000000FU #define SPI_CLKDIV_PRE_S 18 +/** SPI_CLK_EDGE_SEL : R/W; bitpos: [30]; default: 0; + * Configures use standard clock sampling edge or delay the sampling edge by half a + * cycle in master transfer. + * 0: clock sampling edge is delayed by half a cycle. + * 1: clock sampling edge is standard. + * Can be configured in CONF state. + */ +#define SPI_CLK_EDGE_SEL (BIT(30)) +#define SPI_CLK_EDGE_SEL_M (SPI_CLK_EDGE_SEL_V << SPI_CLK_EDGE_SEL_S) +#define SPI_CLK_EDGE_SEL_V 0x00000001U +#define SPI_CLK_EDGE_SEL_S 30 /** SPI_CLK_EQU_SYSCLK : R/W; bitpos: [31]; default: 1; - * Configures whether or not the SPI_CLK is equal to APB_CLK in master transfer.\\ - * 0: SPI_CLK is divided from APB_CLK.\\ - * 1: SPI_CLK is equal to APB_CLK.\\ + * Configures whether or not the SPI_CLK is equal to APB_CLK in master transfer. + * 0: SPI_CLK is divided from APB_CLK. + * 1: SPI_CLK is equal to APB_CLK. * Can be configured in CONF state. */ #define SPI_CLK_EQU_SYSCLK (BIT(31)) @@ -286,9 +299,9 @@ extern "C" { */ #define SPI_USER_REG(i) (REG_SPI_BASE(i) + 0x10) /** SPI_DOUTDIN : R/W; bitpos: [0]; default: 0; - * Configures whether or not to enable full-duplex communication. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable full-duplex communication. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_DOUTDIN (BIT(0)) @@ -296,9 +309,9 @@ extern "C" { #define SPI_DOUTDIN_V 0x00000001U #define SPI_DOUTDIN_S 0 /** SPI_QPI_MODE : R/W/SS/SC; bitpos: [3]; default: 0; - * Configures whether or not to enable QPI mode. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable QPI mode. + * 0: Disable + * 1: Enable * This configuration is applicable when the SPI controller works as master or slave. * Can be configured in CONF state. */ @@ -315,18 +328,18 @@ extern "C" { #define SPI_OPI_MODE_V 0x00000001U #define SPI_OPI_MODE_S 4 /** SPI_TSCK_I_EDGE : R/W; bitpos: [5]; default: 0; - * Configures whether or not to change the polarity of TSCK in slave transfer. \\ - * 0: TSCK = SPI_CK_I \\ - * 1: TSCK = !SPI_CK_I \\ + * Configures whether or not to change the polarity of TSCK in slave transfer. + * 0: TSCK = SPI_CK_I + * 1: TSCK = !SPI_CK_I */ #define SPI_TSCK_I_EDGE (BIT(5)) #define SPI_TSCK_I_EDGE_M (SPI_TSCK_I_EDGE_V << SPI_TSCK_I_EDGE_S) #define SPI_TSCK_I_EDGE_V 0x00000001U #define SPI_TSCK_I_EDGE_S 5 /** SPI_CS_HOLD : R/W; bitpos: [6]; default: 1; - * Configures whether or not to keep SPI CS low when SPI is in DONE state. \\ - * 0: Not keep low \\ - * 1: Keep low \\ + * Configures whether or not to keep SPI CS low when SPI is in DONE state. + * 0: Not keep low + * 1: Keep low * Can be configured in CONF state. */ #define SPI_CS_HOLD (BIT(6)) @@ -334,9 +347,9 @@ extern "C" { #define SPI_CS_HOLD_V 0x00000001U #define SPI_CS_HOLD_S 6 /** SPI_CS_SETUP : R/W; bitpos: [7]; default: 1; - * Configures whether or not to enable SPI CS when SPI is in prepare (PREP) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable SPI CS when SPI is in prepare (PREP) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_CS_SETUP (BIT(7)) @@ -344,9 +357,9 @@ extern "C" { #define SPI_CS_SETUP_V 0x00000001U #define SPI_CS_SETUP_S 7 /** SPI_RSCK_I_EDGE : R/W; bitpos: [8]; default: 0; - * Configures whether or not to change the polarity of RSCK in slave transfer. \\ - * 0: RSCK = !SPI_CK_I \\ - * 1: RSCK = SPI_CK_I \\ + * Configures whether or not to change the polarity of RSCK in slave transfer. + * 0: RSCK = !SPI_CK_I + * 1: RSCK = SPI_CK_I */ #define SPI_RSCK_I_EDGE (BIT(8)) #define SPI_RSCK_I_EDGE_M (SPI_RSCK_I_EDGE_V << SPI_RSCK_I_EDGE_S) @@ -354,8 +367,7 @@ extern "C" { #define SPI_RSCK_I_EDGE_S 8 /** SPI_CK_OUT_EDGE : R/W; bitpos: [9]; default: 0; * Configures SPI clock mode together with SPI_CK_IDLE_EDGE. - * Can be configured in CONF state. For more information, see Section link. + * Can be configured in CONF state. For more information, see Section . */ #define SPI_CK_OUT_EDGE (BIT(9)) #define SPI_CK_OUT_EDGE_M (SPI_CK_OUT_EDGE_V << SPI_CK_OUT_EDGE_S) @@ -363,9 +375,9 @@ extern "C" { #define SPI_CK_OUT_EDGE_S 9 /** SPI_FWRITE_DUAL : R/W; bitpos: [12]; default: 0; * Configures whether or not to enable the 2-bit mode of read-data phase in write - * operations.\\ - * 0: Not enable \\ - * 1: Enable \\ + * operations. + * 0: Not enable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FWRITE_DUAL (BIT(12)) @@ -374,9 +386,9 @@ extern "C" { #define SPI_FWRITE_DUAL_S 12 /** SPI_FWRITE_QUAD : R/W; bitpos: [13]; default: 0; * Configures whether or not to enable the 4-bit mode of read-data phase in write - * operations. \\ - * 0: Not enable \\ - * 1: Enable \\ + * operations. + * 0: Not enable + * 1: Enable * Can be configured in CONF state. */ #define SPI_FWRITE_QUAD (BIT(13)) @@ -393,11 +405,11 @@ extern "C" { #define SPI_FWRITE_OCT_S 14 /** SPI_USR_CONF_NXT : R/W; bitpos: [15]; default: 0; * Configures whether or not to enable the CONF state for the next transaction - * (segment) in a configurable segmented transfer. \\ + * (segment) in a configurable segmented transfer. * 0: this transfer will end after the current transaction (segment) is finished. Or - * this is not a configurable segmented transfer. \\ + * this is not a configurable segmented transfer. * 1: this configurable segmented transfer will continue its next transaction - * (segment). \\ + * (segment). * Can be configured in CONF state. */ #define SPI_USR_CONF_NXT (BIT(15)) @@ -406,9 +418,9 @@ extern "C" { #define SPI_USR_CONF_NXT_S 15 /** SPI_SIO : R/W; bitpos: [17]; default: 0; * Configures whether or not to enable 3-line half-duplex communication, where MOSI - * and MISO signals share the same pin.\\ - * 0: Disable \\ - * 1: Enable \\ + * and MISO signals share the same pin. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_SIO (BIT(17)) @@ -417,9 +429,9 @@ extern "C" { #define SPI_SIO_S 17 /** SPI_USR_MISO_HIGHPART : R/W; bitpos: [24]; default: 0; * Configures whether or not to enable high part mode, i.e., only access to high part - * of the buffers: SPI_W8_REG ~ SPI_W15_REG in read-data phase. \\ - * 0: Disable \\ - * 1: Enable \\ + * of the buffers: SPI_W8_REG ~ SPI_W15_REG in read-data phase. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_USR_MISO_HIGHPART (BIT(24)) @@ -428,9 +440,9 @@ extern "C" { #define SPI_USR_MISO_HIGHPART_S 24 /** SPI_USR_MOSI_HIGHPART : R/W; bitpos: [25]; default: 0; * Configures whether or not to enable high part mode, i.e., only access to high part - * of the buffers: SPI_W8_REG ~ SPI_W15_REG in write-data phase. \\ - * 0: Disable \\ - * 1: Enable \\ + * of the buffers: SPI_W8_REG ~ SPI_W15_REG in write-data phase. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_USR_MOSI_HIGHPART (BIT(25)) @@ -438,9 +450,9 @@ extern "C" { #define SPI_USR_MOSI_HIGHPART_V 0x00000001U #define SPI_USR_MOSI_HIGHPART_S 25 /** SPI_USR_DUMMY_IDLE : R/W; bitpos: [26]; default: 0; - * Configures whether or not to disable SPI clock in DUMMY state. \\ - * 0: Not disable \\ - * 1: Disable \\ + * Configures whether or not to disable SPI clock in DUMMY state. + * 0: Not disable + * 1: Disable * Can be configured in CONF state. */ #define SPI_USR_DUMMY_IDLE (BIT(26)) @@ -448,9 +460,9 @@ extern "C" { #define SPI_USR_DUMMY_IDLE_V 0x00000001U #define SPI_USR_DUMMY_IDLE_S 26 /** SPI_USR_MOSI : R/W; bitpos: [27]; default: 0; - * Configures whether or not to enable the write-data (DOUT) state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the write-data (DOUT) state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_USR_MOSI (BIT(27)) @@ -458,9 +470,9 @@ extern "C" { #define SPI_USR_MOSI_V 0x00000001U #define SPI_USR_MOSI_S 27 /** SPI_USR_MISO : R/W; bitpos: [28]; default: 0; - * Configures whether or not to enable the read-data (DIN) state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the read-data (DIN) state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_USR_MISO (BIT(28)) @@ -468,9 +480,9 @@ extern "C" { #define SPI_USR_MISO_V 0x00000001U #define SPI_USR_MISO_S 28 /** SPI_USR_DUMMY : R/W; bitpos: [29]; default: 0; - * Configures whether or not to enable the DUMMY state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the DUMMY state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_USR_DUMMY (BIT(29)) @@ -478,9 +490,9 @@ extern "C" { #define SPI_USR_DUMMY_V 0x00000001U #define SPI_USR_DUMMY_S 29 /** SPI_USR_ADDR : R/W; bitpos: [30]; default: 0; - * Configures whether or not to enable the address (ADDR) state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the address (ADDR) state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_USR_ADDR (BIT(30)) @@ -488,9 +500,9 @@ extern "C" { #define SPI_USR_ADDR_V 0x00000001U #define SPI_USR_ADDR_S 30 /** SPI_USR_COMMAND : R/W; bitpos: [31]; default: 1; - * Configures whether or not to enable the command (CMD) state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the command (CMD) state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_USR_COMMAND (BIT(31)) @@ -504,7 +516,7 @@ extern "C" { #define SPI_USER1_REG(i) (REG_SPI_BASE(i) + 0x14) /** SPI_USR_DUMMY_CYCLELEN : R/W; bitpos: [7:0]; default: 7; * Configures the length of DUMMY state. - * Measurement unit: SPI_CLK clock cycles.\\ + * Measurement unit: SPI_CLK clock cycles. * This value is (the expected cycle number - 1). Can be configured in CONF state. */ #define SPI_USR_DUMMY_CYCLELEN 0x000000FFU @@ -513,9 +525,9 @@ extern "C" { #define SPI_USR_DUMMY_CYCLELEN_S 0 /** SPI_MST_WFULL_ERR_END_EN : R/W; bitpos: [16]; default: 1; * Configures whether or not to end the SPI transfer when SPI RX AFIFO wfull error - * occurs in master full-/half-duplex transfers. \\ - * 0: Not end \\ - * 1: End \\ + * occurs in master full-/half-duplex transfers. + * 0: Not end + * 1: End */ #define SPI_MST_WFULL_ERR_END_EN (BIT(16)) #define SPI_MST_WFULL_ERR_END_EN_M (SPI_MST_WFULL_ERR_END_EN_V << SPI_MST_WFULL_ERR_END_EN_S) @@ -523,7 +535,7 @@ extern "C" { #define SPI_MST_WFULL_ERR_END_EN_S 16 /** SPI_CS_SETUP_TIME : R/W; bitpos: [21:17]; default: 0; * Configures the length of prepare (PREP) state. - * Measurement unit: SPI_CLK clock cycles.\\ + * Measurement unit: SPI_CLK clock cycles. * This value is equal to the expected cycles - 1. This field is used together with * SPI_CS_SETUP. Can be configured in CONF state. */ @@ -533,7 +545,7 @@ extern "C" { #define SPI_CS_SETUP_TIME_S 17 /** SPI_CS_HOLD_TIME : R/W; bitpos: [26:22]; default: 1; * Configures the delay cycles of CS pin. - * Measurement unit: SPI_CLK clock cycles. \\ + * Measurement unit: SPI_CLK clock cycles. * This field is used together with SPI_CS_HOLD. Can be configured in CONF state. */ #define SPI_CS_HOLD_TIME 0x0000001FU @@ -563,9 +575,9 @@ extern "C" { #define SPI_USR_COMMAND_VALUE_S 0 /** SPI_MST_REMPTY_ERR_END_EN : R/W; bitpos: [27]; default: 1; * Configures whether or not to end the SPI transfer when SPI TX AFIFO read empty - * error occurs in master full-/half-duplex transfers. \\ - * 0: Not end \\ - * 1: End \\ + * error occurs in master full-/half-duplex transfers. + * 0: Not end + * 1: End */ #define SPI_MST_REMPTY_ERR_END_EN (BIT(27)) #define SPI_MST_REMPTY_ERR_END_EN_M (SPI_MST_REMPTY_ERR_END_EN_V << SPI_MST_REMPTY_ERR_END_EN_S) @@ -600,9 +612,9 @@ extern "C" { */ #define SPI_MISC_REG(i) (REG_SPI_BASE(i) + 0x20) /** SPI_CS0_DIS : R/W; bitpos: [0]; default: 0; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ #define SPI_CS0_DIS (BIT(0)) @@ -610,9 +622,9 @@ extern "C" { #define SPI_CS0_DIS_V 0x00000001U #define SPI_CS0_DIS_S 0 /** SPI_CS1_DIS : R/W; bitpos: [1]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ #define SPI_CS1_DIS (BIT(1)) @@ -620,9 +632,9 @@ extern "C" { #define SPI_CS1_DIS_V 0x00000001U #define SPI_CS1_DIS_S 1 /** SPI_CS2_DIS : R/W; bitpos: [2]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ #define SPI_CS2_DIS (BIT(2)) @@ -630,9 +642,9 @@ extern "C" { #define SPI_CS2_DIS_V 0x00000001U #define SPI_CS2_DIS_S 2 /** SPI_CS3_DIS : R/W; bitpos: [3]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ #define SPI_CS3_DIS (BIT(3)) @@ -640,9 +652,9 @@ extern "C" { #define SPI_CS3_DIS_V 0x00000001U #define SPI_CS3_DIS_S 3 /** SPI_CS4_DIS : R/W; bitpos: [4]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ #define SPI_CS4_DIS (BIT(4)) @@ -650,9 +662,9 @@ extern "C" { #define SPI_CS4_DIS_V 0x00000001U #define SPI_CS4_DIS_S 4 /** SPI_CS5_DIS : R/W; bitpos: [5]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ #define SPI_CS5_DIS (BIT(5)) @@ -660,9 +672,9 @@ extern "C" { #define SPI_CS5_DIS_V 0x00000001U #define SPI_CS5_DIS_S 5 /** SPI_CK_DIS : R/W; bitpos: [6]; default: 0; - * Configures whether or not to disable SPI_CLK output.\\ - * 0: Enable\\ - * 1: Disable\\ + * Configures whether or not to disable SPI_CLK output. + * 0: Enable + * 1: Disable * Can be configured in CONF state. */ #define SPI_CK_DIS (BIT(6)) @@ -670,9 +682,9 @@ extern "C" { #define SPI_CK_DIS_V 0x00000001U #define SPI_CK_DIS_S 6 /** SPI_MASTER_CS_POL : R/W; bitpos: [12:7]; default: 0; - * Configures the polarity of SPI_CS$n ($n = 0-5) line in master transfer.\\ - * 0: SPI_CS$n is low active.\\ - * 1: SPI_CS$n is high active.\\ + * Configures the polarity of SPI_CS$n ($n = 0-5) line in master transfer. + * 0: SPI_CS$n is low active. + * 1: SPI_CS$n is high active. * Can be configured in CONF state. */ #define SPI_MASTER_CS_POL 0x0000003FU @@ -715,9 +727,9 @@ extern "C" { #define SPI_CMD_DTR_EN_V 0x00000001U #define SPI_CMD_DTR_EN_S 19 /** SPI_SLAVE_CS_POL : R/W; bitpos: [23]; default: 0; - * Configures whether or not invert SPI slave input CS polarity.\\ - * 0: Not change\\ - * 1: Invert\\ + * Configures whether or not invert SPI slave input CS polarity. + * 0: Not change + * 1: Invert * Can be configured in CONF state. */ #define SPI_SLAVE_CS_POL (BIT(23)) @@ -732,9 +744,9 @@ extern "C" { #define SPI_DQS_IDLE_EDGE_V 0x00000001U #define SPI_DQS_IDLE_EDGE_S 24 /** SPI_CK_IDLE_EDGE : R/W; bitpos: [29]; default: 0; - * Configures the level of SPI_CLK line when GP-SPI2 is in idle.\\ - * 0: Low\\ - * 1: High\\ + * Configures the level of SPI_CLK line when GP-SPI2 is in idle. + * 0: Low + * 1: High * Can be configured in CONF state. */ #define SPI_CK_IDLE_EDGE (BIT(29)) @@ -742,9 +754,9 @@ extern "C" { #define SPI_CK_IDLE_EDGE_V 0x00000001U #define SPI_CK_IDLE_EDGE_S 29 /** SPI_CS_KEEP_ACTIVE : R/W; bitpos: [30]; default: 0; - * Configures whether or not to keep the SPI_CS line low.\\ - * 0: Not keep low\\ - * 1: Keep low\\ + * Configures whether or not to keep the SPI_CS line low. + * 0: Not keep low + * 1: Keep low * Can be configured in CONF state. */ #define SPI_CS_KEEP_ACTIVE (BIT(30)) @@ -765,13 +777,13 @@ extern "C" { */ #define SPI_DIN_MODE_REG(i) (REG_SPI_BASE(i) + 0x24) /** SPI_DIN0_MODE : R/W; bitpos: [1:0]; default: 0; - * Configures the input mode for FSPID signal.\\ - * 0: Input without delay\\ - * 1: Input at the (SPI_DIN0_NUM + 1)th falling edge of clk_spi_mst\\ + * Configures the input mode for FSPID signal. + * 0: Input without delay + * 1: Input at the (SPI_DIN0_NUM + 1)th falling edge of clk_spi_mst * 2: Input at the (SPI_DIN0_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * rising edge cycle\\ + * rising edge cycle * 3: Input at the (SPI_DIN0_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * falling edge cycle\\ + * falling edge cycle * Can be configured in CONF state. */ #define SPI_DIN0_MODE 0x00000003U @@ -779,13 +791,13 @@ extern "C" { #define SPI_DIN0_MODE_V 0x00000003U #define SPI_DIN0_MODE_S 0 /** SPI_DIN1_MODE : R/W; bitpos: [3:2]; default: 0; - * Configures the input mode for FSPIQ signal.\\ - * 0: Input without delay\\ - * 1: Input at the (SPI_DIN1_NUM+1)th falling edge of clk_spi_mst\\ + * Configures the input mode for FSPIQ signal. + * 0: Input without delay + * 1: Input at the (SPI_DIN1_NUM+1)th falling edge of clk_spi_mst * 2: Input at the (SPI_DIN1_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * rising edge cycle\\ + * rising edge cycle * 3: Input at the (SPI_DIN1_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * falling edge cycle\\ + * falling edge cycle * Can be configured in CONF state. */ #define SPI_DIN1_MODE 0x00000003U @@ -793,13 +805,13 @@ extern "C" { #define SPI_DIN1_MODE_V 0x00000003U #define SPI_DIN1_MODE_S 2 /** SPI_DIN2_MODE : R/W; bitpos: [5:4]; default: 0; - * Configures the input mode for FSPIWP signal.\\ - * 0: Input without delay\\ - * 1: Input at the (SPI_DIN2_NUM + 1)th falling edge of clk_spi_mst\\ + * Configures the input mode for FSPIWP signal. + * 0: Input without delay + * 1: Input at the (SPI_DIN2_NUM + 1)th falling edge of clk_spi_mst * 2: Input at the (SPI_DIN2_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * rising edge cycle\\ + * rising edge cycle * 3: Input at the (SPI_DIN2_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * falling edge cycle\\ + * falling edge cycle * Can be configured in CONF state. */ #define SPI_DIN2_MODE 0x00000003U @@ -807,13 +819,13 @@ extern "C" { #define SPI_DIN2_MODE_V 0x00000003U #define SPI_DIN2_MODE_S 4 /** SPI_DIN3_MODE : R/W; bitpos: [7:6]; default: 0; - * Configures the input mode for FSPIHD signal.\\ - * 0: Input without delay\\ - * 1: Input at the (SPI_DIN3_NUM + 1)th falling edge of clk_spi_mst\\ + * Configures the input mode for FSPIHD signal. + * 0: Input without delay + * 1: Input at the (SPI_DIN3_NUM + 1)th falling edge of clk_spi_mst * 2: Input at the (SPI_DIN3_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * rising edge cycle\\ + * rising edge cycle * 3: Input at the (SPI_DIN3_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * falling edge cycle\\ + * falling edge cycle * Can be configured in CONF state. * */ @@ -859,9 +871,9 @@ extern "C" { #define SPI_DIN7_MODE_S 14 /** SPI_TIMING_HCLK_ACTIVE : R/W; bitpos: [16]; default: 0; * Configures whether or not to enable HCLK (high-frequency clock) in SPI input timing - * module.\\ - * 0: Disable\\ - * 1: Enable\\ + * module. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ #define SPI_TIMING_HCLK_ACTIVE (BIT(16)) @@ -874,11 +886,11 @@ extern "C" { */ #define SPI_DIN_NUM_REG(i) (REG_SPI_BASE(i) + 0x28) /** SPI_DIN0_NUM : R/W; bitpos: [1:0]; default: 0; - * Configures the delays to input signal FSPID based on the setting of SPI_DIN0_MODE.\\ - * 0: Delayed by 1 clock cycle\\ - * 1: Delayed by 2 clock cycles\\ - * 2: Delayed by 3 clock cycles\\ - * 3: Delayed by 4 clock cycles\\ + * Configures the delays to input signal FSPID based on the setting of SPI_DIN0_MODE. + * 0: Delayed by 1 clock cycle + * 1: Delayed by 2 clock cycles + * 2: Delayed by 3 clock cycles + * 3: Delayed by 4 clock cycles * Can be configured in CONF state. */ #define SPI_DIN0_NUM 0x00000003U @@ -886,11 +898,11 @@ extern "C" { #define SPI_DIN0_NUM_V 0x00000003U #define SPI_DIN0_NUM_S 0 /** SPI_DIN1_NUM : R/W; bitpos: [3:2]; default: 0; - * Configures the delays to input signal FSPIQ based on the setting of SPI_DIN1_MODE.\\ - * 0: Delayed by 1 clock cycle\\ - * 1: Delayed by 2 clock cycles\\ - * 2: Delayed by 3 clock cycles\\ - * 3: Delayed by 4 clock cycles\\ + * Configures the delays to input signal FSPIQ based on the setting of SPI_DIN1_MODE. + * 0: Delayed by 1 clock cycle + * 1: Delayed by 2 clock cycles + * 2: Delayed by 3 clock cycles + * 3: Delayed by 4 clock cycles * Can be configured in CONF state. */ #define SPI_DIN1_NUM 0x00000003U @@ -898,12 +910,11 @@ extern "C" { #define SPI_DIN1_NUM_V 0x00000003U #define SPI_DIN1_NUM_S 2 /** SPI_DIN2_NUM : R/W; bitpos: [5:4]; default: 0; - * Configures the delays to input signal FSPIWP based on the setting of - * SPI_DIN2_MODE.\\ - * 0: Delayed by 1 clock cycle\\ - * 1: Delayed by 2 clock cycles\\ - * 2: Delayed by 3 clock cycles\\ - * 3: Delayed by 4 clock cycles\\ + * Configures the delays to input signal FSPIWP based on the setting of SPI_DIN2_MODE. + * 0: Delayed by 1 clock cycle + * 1: Delayed by 2 clock cycles + * 2: Delayed by 3 clock cycles + * 3: Delayed by 4 clock cycles * Can be configured in CONF state. */ #define SPI_DIN2_NUM 0x00000003U @@ -911,12 +922,11 @@ extern "C" { #define SPI_DIN2_NUM_V 0x00000003U #define SPI_DIN2_NUM_S 4 /** SPI_DIN3_NUM : R/W; bitpos: [7:6]; default: 0; - * Configures the delays to input signal FSPIHD based on the setting of - * SPI_DIN3_MODE.\\ - * 0: Delayed by 1 clock cycle\\ - * 1: Delayed by 2 clock cycles\\ - * 2: Delayed by 3 clock cycles\\ - * 3: Delayed by 4 clock cycles\\ + * Configures the delays to input signal FSPIHD based on the setting of SPI_DIN3_MODE. + * 0: Delayed by 1 clock cycle + * 1: Delayed by 2 clock cycles + * 2: Delayed by 3 clock cycles + * 3: Delayed by 4 clock cycles * Can be configured in CONF state. */ #define SPI_DIN3_NUM 0x00000003U @@ -961,9 +971,9 @@ extern "C" { */ #define SPI_DOUT_MODE_REG(i) (REG_SPI_BASE(i) + 0x2c) /** SPI_DOUT0_MODE : R/W; bitpos: [0]; default: 0; - * Configures the output mode for FSPID signal.\\ - * 0: Output without delay\\ - * 1: Output with a delay of a SPI module clock cycle at its falling edge\\ + * Configures the output mode for FSPID signal. + * 0: Output without delay + * 1: Output with a delay of a SPI module clock cycle at its falling edge * Can be configured in CONF state. */ #define SPI_DOUT0_MODE (BIT(0)) @@ -971,9 +981,9 @@ extern "C" { #define SPI_DOUT0_MODE_V 0x00000001U #define SPI_DOUT0_MODE_S 0 /** SPI_DOUT1_MODE : R/W; bitpos: [1]; default: 0; - * Configures the output mode for FSPIQ signal.\\ - * 0: Output without delay\\ - * 1: Output with a delay of a SPI module clock cycle at its falling edge\\ + * Configures the output mode for FSPIQ signal. + * 0: Output without delay + * 1: Output with a delay of a SPI module clock cycle at its falling edge * Can be configured in CONF state. */ #define SPI_DOUT1_MODE (BIT(1)) @@ -981,9 +991,9 @@ extern "C" { #define SPI_DOUT1_MODE_V 0x00000001U #define SPI_DOUT1_MODE_S 1 /** SPI_DOUT2_MODE : R/W; bitpos: [2]; default: 0; - * Configures the output mode for FSPIWP signal.\\ - * 0: Output without delay\\ - * 1: Output with a delay of a SPI module clock cycle at its falling edge\\ + * Configures the output mode for FSPIWP signal. + * 0: Output without delay + * 1: Output with a delay of a SPI module clock cycle at its falling edge * Can be configured in CONF state. */ #define SPI_DOUT2_MODE (BIT(2)) @@ -991,9 +1001,9 @@ extern "C" { #define SPI_DOUT2_MODE_V 0x00000001U #define SPI_DOUT2_MODE_S 2 /** SPI_DOUT3_MODE : R/W; bitpos: [3]; default: 0; - * Configures the output mode for FSPIHD signal.\\ - * 0: Output without delay\\ - * 1: Output with a delay of a SPI module clock cycle at its falling edge\\ + * Configures the output mode for FSPIHD signal. + * 0: Output without delay + * 1: Output with a delay of a SPI module clock cycle at its falling edge * Can be configured in CONF state. */ #define SPI_DOUT3_MODE (BIT(3)) @@ -1051,18 +1061,18 @@ extern "C" { */ #define SPI_DMA_CONF_REG(i) (REG_SPI_BASE(i) + 0x30) /** SPI_DMA_OUTFIFO_EMPTY : RO; bitpos: [0]; default: 1; - * Represents whether or not the DMA TX FIFO is ready for sending data.\\ - * 0: Ready\\ - * 1: Not ready\\ + * Represents whether or not the DMA TX FIFO is ready for sending data. + * 0: Ready + * 1: Not ready */ #define SPI_DMA_OUTFIFO_EMPTY (BIT(0)) #define SPI_DMA_OUTFIFO_EMPTY_M (SPI_DMA_OUTFIFO_EMPTY_V << SPI_DMA_OUTFIFO_EMPTY_S) #define SPI_DMA_OUTFIFO_EMPTY_V 0x00000001U #define SPI_DMA_OUTFIFO_EMPTY_S 0 /** SPI_DMA_INFIFO_FULL : RO; bitpos: [1]; default: 1; - * Represents whether or not the DMA RX FIFO is ready for receiving data.\\ - * 0: Ready\\ - * 1: Not ready\\ + * Represents whether or not the DMA RX FIFO is ready for receiving data. + * 0: Ready + * 1: Not ready */ #define SPI_DMA_INFIFO_FULL (BIT(1)) #define SPI_DMA_INFIFO_FULL_M (SPI_DMA_INFIFO_FULL_V << SPI_DMA_INFIFO_FULL_S) @@ -1070,9 +1080,9 @@ extern "C" { #define SPI_DMA_INFIFO_FULL_S 1 /** SPI_DMA_SLV_SEG_TRANS_EN : R/W; bitpos: [18]; default: 0; * Configures whether or not to enable DMA-controlled segmented transfer in slave - * half-duplex communication.\\ - * 0: Disable\\ - * 1: Enable\\ + * half-duplex communication. + * 0: Disable + * 1: Enable */ #define SPI_DMA_SLV_SEG_TRANS_EN (BIT(18)) #define SPI_DMA_SLV_SEG_TRANS_EN_M (SPI_DMA_SLV_SEG_TRANS_EN_V << SPI_DMA_SLV_SEG_TRANS_EN_S) @@ -1080,10 +1090,10 @@ extern "C" { #define SPI_DMA_SLV_SEG_TRANS_EN_S 18 /** SPI_SLV_RX_SEG_TRANS_CLR_EN : R/W; bitpos: [19]; default: 0; * In slave segmented transfer, if the size of the DMA RX buffer is smaller than the - * size of the received data, \\1: the data in all the following Wr_DMA transactions - * will not be received\\ 0: the data in this Wr_DMA transaction will not be received, - * but in the following transactions,\\ - * + * size of the received data, + * 1: the data in all the following Wr_DMA transactions will not be received + * 0: the data in this Wr_DMA transaction will not be received, but in the following + * transactions, * - if the size of DMA RX buffer is not 0, the data in following Wr_DMA transactions * will be received. * - if the size of DMA RX buffer is 0, the data in following Wr_DMA transactions will @@ -1095,12 +1105,11 @@ extern "C" { #define SPI_SLV_RX_SEG_TRANS_CLR_EN_S 19 /** SPI_SLV_TX_SEG_TRANS_CLR_EN : R/W; bitpos: [20]; default: 0; * In slave segmented transfer, if the size of the DMA TX buffer is smaller than the - * size of the transmitted data,\\ + * size of the transmitted data, * 1: the data in the following transactions will not be updated, i.e. the old data is - * transmitted repeatedly.\\ + * transmitted repeatedly. * 0: the data in this transaction will not be updated. But in the following - * transactions,\\ - * + * transactions, * - if new data is filled in DMA TX FIFO, new data will be transmitted. * - if no new data is filled in DMA TX FIFO, no new data will be transmitted. */ @@ -1120,29 +1129,27 @@ extern "C" { #define SPI_RX_EOF_EN_V 0x00000001U #define SPI_RX_EOF_EN_S 21 /** SPI_DMA_RX_ENA : R/W; bitpos: [27]; default: 0; - * Configures whether or not to enable DMA-controlled receive data transfer.\\ - * 0: Disable\\ - * 1: Enable\\ + * Configures whether or not to enable DMA-controlled receive data transfer. + * 0: Disable + * 1: Enable */ #define SPI_DMA_RX_ENA (BIT(27)) #define SPI_DMA_RX_ENA_M (SPI_DMA_RX_ENA_V << SPI_DMA_RX_ENA_S) #define SPI_DMA_RX_ENA_V 0x00000001U #define SPI_DMA_RX_ENA_S 27 /** SPI_DMA_TX_ENA : R/W; bitpos: [28]; default: 0; - * Configures whether or not to enable DMA-controlled send data transfer.\\ - * 0: Disable\\ - * 1: Enable\\ + * Configures whether or not to enable DMA-controlled send data transfer. + * 0: Disable + * 1: Enable */ #define SPI_DMA_TX_ENA (BIT(28)) #define SPI_DMA_TX_ENA_M (SPI_DMA_TX_ENA_V << SPI_DMA_TX_ENA_S) #define SPI_DMA_TX_ENA_V 0x00000001U #define SPI_DMA_TX_ENA_S 28 /** SPI_RX_AFIFO_RST : WT; bitpos: [29]; default: 0; - * Configures whether or not to reset spi_rx_afifo as shown in Figure link and in Figure link.\\ - * 0: Not reset\\ - * 1: Reset\\ + * Configures whether or not to reset spi_rx_afifo as shown in Figure . + * 0: Not reset + * 1: Reset * spi_rx_afifo is used to receive data in SPI master and slave transfer. */ #define SPI_RX_AFIFO_RST (BIT(29)) @@ -1150,11 +1157,9 @@ extern "C" { #define SPI_RX_AFIFO_RST_V 0x00000001U #define SPI_RX_AFIFO_RST_S 29 /** SPI_BUF_AFIFO_RST : WT; bitpos: [30]; default: 0; - * Configures whether or not to reset buf_tx_afifo as shown in Figure link and in Figure link.\\ - * 0: Not reset\\ - * 1: Reset\\ + * Configures whether or not to reset buf_tx_afifo as shown in Figure . + * 0: Not reset + * 1: Reset * buf_tx_afifo is used to send data out in CPU-controlled master and slave transfer. */ #define SPI_BUF_AFIFO_RST (BIT(30)) @@ -1162,11 +1167,9 @@ extern "C" { #define SPI_BUF_AFIFO_RST_V 0x00000001U #define SPI_BUF_AFIFO_RST_S 30 /** SPI_DMA_AFIFO_RST : WT; bitpos: [31]; default: 0; - * Configures whether or not to reset dma_tx_afifo as shown in Figure link and in Figure link.\\ - * 0: Not reset\\ - * 1: Reset\\ + * Configures whether or not to reset dma_tx_afifo as shown in Figure . + * 0: Not reset + * 1: Reset * dma_tx_afifo is used to send data out in DMA-controlled slave transfer. */ #define SPI_DMA_AFIFO_RST (BIT(31)) @@ -2135,11 +2138,11 @@ extern "C" { */ #define SPI_SLAVE_REG(i) (REG_SPI_BASE(i) + 0xe0) /** SPI_CLK_MODE : R/W; bitpos: [1:0]; default: 0; - * Configures SPI clock mode.\\ - * 0: SPI clock is off when CS becomes inactive.\\ - * 1: SPI clock is delayed one cycle after CS becomes inactive.\\ - * 2: SPI clock is delayed two cycles after CS becomes inactive.\\ - * 3: SPI clock is always on.\\ + * Configures SPI clock mode. + * 0: SPI clock is off when CS becomes inactive. + * 1: SPI clock is delayed one cycle after CS becomes inactive. + * 2: SPI clock is delayed two cycles after CS becomes inactive. + * 3: SPI clock is always on. * Can be configured in CONF state. */ #define SPI_CLK_MODE 0x00000003U @@ -2147,20 +2150,18 @@ extern "C" { #define SPI_CLK_MODE_V 0x00000003U #define SPI_CLK_MODE_S 0 /** SPI_CLK_MODE_13 : R/W; bitpos: [2]; default: 0; - * Configure clock mode.\\ - * 0: Support SPI clock mode 0 or 2. See Table link.\\ - * 1: Support SPI clock mode 1 or 3. See Table link.\\ + * Configure clock mode. + * 0: Support SPI clock mode 0 or 2. See Table . + * 1: Support SPI clock mode 1 or 3. See Table . */ #define SPI_CLK_MODE_13 (BIT(2)) #define SPI_CLK_MODE_13_M (SPI_CLK_MODE_13_V << SPI_CLK_MODE_13_S) #define SPI_CLK_MODE_13_V 0x00000001U #define SPI_CLK_MODE_13_S 2 /** SPI_RSCK_DATA_OUT : R/W; bitpos: [3]; default: 0; - * Configures the edge of output data.\\ - * 0: Output data at TSCK rising edge.\\ - * 1: Output data at RSCK rising edge.\\ + * Configures the edge of output data. + * 0: Output data at TSCK rising edge. + * 1: Output data at RSCK rising edge. */ #define SPI_RSCK_DATA_OUT (BIT(3)) #define SPI_RSCK_DATA_OUT_M (SPI_RSCK_DATA_OUT_V << SPI_RSCK_DATA_OUT_S) @@ -2168,9 +2169,9 @@ extern "C" { #define SPI_RSCK_DATA_OUT_S 3 /** SPI_SLV_RDDMA_BITLEN_EN : R/W; bitpos: [8]; default: 0; * Configures whether or not to use SPI_SLV_DATA_BITLEN to store the data bit length - * of Rd_DMA transfer.\\ - * 0: Not use\\ - * 1: Use\\ + * of Rd_DMA transfer. + * 0: Not use + * 1: Use */ #define SPI_SLV_RDDMA_BITLEN_EN (BIT(8)) #define SPI_SLV_RDDMA_BITLEN_EN_M (SPI_SLV_RDDMA_BITLEN_EN_V << SPI_SLV_RDDMA_BITLEN_EN_S) @@ -2178,9 +2179,9 @@ extern "C" { #define SPI_SLV_RDDMA_BITLEN_EN_S 8 /** SPI_SLV_WRDMA_BITLEN_EN : R/W; bitpos: [9]; default: 0; * Configures whether or not to use SPI_SLV_DATA_BITLEN to store the data bit length - * of Wr_DMA transfer.\\ - * 0: Not use\\ - * 1: Use\\ + * of Wr_DMA transfer. + * 0: Not use + * 1: Use */ #define SPI_SLV_WRDMA_BITLEN_EN (BIT(9)) #define SPI_SLV_WRDMA_BITLEN_EN_M (SPI_SLV_WRDMA_BITLEN_EN_V << SPI_SLV_WRDMA_BITLEN_EN_S) @@ -2188,9 +2189,9 @@ extern "C" { #define SPI_SLV_WRDMA_BITLEN_EN_S 9 /** SPI_SLV_RDBUF_BITLEN_EN : R/W; bitpos: [10]; default: 0; * Configures whether or not to use SPI_SLV_DATA_BITLEN to store the data bit length - * of Rd_BUF transfer.\\ - * 0: Not use\\ - * 1: Use\\ + * of Rd_BUF transfer. + * 0: Not use + * 1: Use */ #define SPI_SLV_RDBUF_BITLEN_EN (BIT(10)) #define SPI_SLV_RDBUF_BITLEN_EN_M (SPI_SLV_RDBUF_BITLEN_EN_V << SPI_SLV_RDBUF_BITLEN_EN_S) @@ -2198,9 +2199,9 @@ extern "C" { #define SPI_SLV_RDBUF_BITLEN_EN_S 10 /** SPI_SLV_WRBUF_BITLEN_EN : R/W; bitpos: [11]; default: 0; * Configures whether or not to use SPI_SLV_DATA_BITLEN to store the data bit length - * of Wr_BUF transfer.\\ - * 0: Not use\\ - * 1: Use\\ + * of Wr_BUF transfer. + * 0: Not use + * 1: Use */ #define SPI_SLV_WRBUF_BITLEN_EN (BIT(11)) #define SPI_SLV_WRBUF_BITLEN_EN_M (SPI_SLV_WRBUF_BITLEN_EN_V << SPI_SLV_WRBUF_BITLEN_EN_S) @@ -2223,19 +2224,18 @@ extern "C" { #define SPI_DMA_SEG_MAGIC_VALUE_V 0x0000000FU #define SPI_DMA_SEG_MAGIC_VALUE_S 22 /** SPI_SLAVE_MODE : R/W; bitpos: [26]; default: 0; - * Configures SPI work mode.\\ - * 0: Master\\ - * 1: Slave\\ + * Configures SPI work mode. + * 0: Master + * 1: Slave */ #define SPI_SLAVE_MODE (BIT(26)) #define SPI_SLAVE_MODE_M (SPI_SLAVE_MODE_V << SPI_SLAVE_MODE_S) #define SPI_SLAVE_MODE_V 0x00000001U #define SPI_SLAVE_MODE_S 26 /** SPI_SOFT_RESET : WT; bitpos: [27]; default: 0; - * Configures whether to reset the SPI clock line, CS line, and data line via - * software.\\ - * 0: Not reset\\ - * 1: Reset\\ + * Configures whether to reset the SPI clock line, CS line, and data line via software. + * 0: Not reset + * 1: Reset * Can be configured in CONF state. */ #define SPI_SOFT_RESET (BIT(27)) @@ -2244,10 +2244,10 @@ extern "C" { #define SPI_SOFT_RESET_S 27 /** SPI_USR_CONF : R/W; bitpos: [28]; default: 0; * Configures whether or not to enable the CONF state of current DMA-controlled - * configurable segmented transfer.\\ + * configurable segmented transfer. * 0: No effect, which means the current transfer is not a configurable segmented - * transfer.\\ - * 1: Enable, which means a configurable segmented transfer is started.\\ + * transfer. + * 1: Enable, which means a configurable segmented transfer is started. */ #define SPI_USR_CONF (BIT(28)) #define SPI_USR_CONF_M (SPI_USR_CONF_V << SPI_USR_CONF_S) @@ -2255,9 +2255,9 @@ extern "C" { #define SPI_USR_CONF_S 28 /** SPI_MST_FD_WAIT_DMA_TX_DATA : R/W; bitpos: [29]; default: 0; * Configures whether or not to wait DMA TX data gets ready before starting SPI - * transfer in master full-duplex transfer.\\ - * 0: Not wait\\ - * 1: Wait\\ + * transfer in master full-duplex transfer. + * 0: Not wait + * 1: Wait */ #define SPI_MST_FD_WAIT_DMA_TX_DATA (BIT(29)) #define SPI_MST_FD_WAIT_DMA_TX_DATA_M (SPI_MST_FD_WAIT_DMA_TX_DATA_V << SPI_MST_FD_WAIT_DMA_TX_DATA_S) @@ -2295,9 +2295,9 @@ extern "C" { */ #define SPI_CLK_GATE_REG(i) (REG_SPI_BASE(i) + 0xe8) /** SPI_CLK_EN : R/W; bitpos: [0]; default: 0; - * Configures whether or not to enable clock gate.\\ - * 0: Disable\\ - * 1: Enable\\ + * Configures whether or not to enable clock gate. + * 0: Disable + * 1: Enable */ #define SPI_CLK_EN (BIT(0)) #define SPI_CLK_EN_M (SPI_CLK_EN_V << SPI_CLK_EN_S) @@ -2323,7 +2323,7 @@ extern "C" { * Version control */ #define SPI_DATE_REG(i) (REG_SPI_BASE(i) + 0xf0) -/** SPI_DATE : R/W; bitpos: [27:0]; default: 36716931; +/** SPI_DATE : R/W; bitpos: [27:0]; default: 37761424; * Version control register. */ #define SPI_DATE 0x0FFFFFFFU diff --git a/components/soc/esp32c5/register/soc/spi_struct.h b/components/soc/esp32c5/register/soc/spi_struct.h index c5625f0968..0a50d5964b 100644 --- a/components/soc/esp32c5/register/soc/spi_struct.h +++ b/components/soc/esp32c5/register/soc/spi_struct.h @@ -1,5 +1,5 @@ /** - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -18,23 +18,23 @@ typedef union { struct { /** conf_bitlen : R/W; bitpos: [17:0]; default: 0; * Configures the SPI_CLK cycles of SPI CONF state. - * Measurement unit: SPI_CLK clock cycle.\\ + * Measurement unit: SPI_CLK clock cycle. * Can be configured in CONF state. */ uint32_t conf_bitlen:18; uint32_t reserved_18:5; /** update : WT; bitpos: [23]; default: 0; * Configures whether or not to synchronize SPI registers from APB clock domain into - * SPI module clock domain. \\ - * 0: Not synchronize \\ - * 1: Synchronize \\ + * SPI module clock domain. + * 0: Not synchronize + * 1: Synchronize * This bit is only used in SPI master transfer. */ uint32_t update:1; /** usr : R/W/SC; bitpos: [24]; default: 0; - * Configures whether or not to enable user-defined command. \\ - * 0: Not enable \\ - * 1: Enable \\ + * Configures whether or not to enable user-defined command. + * 0: Not enable + * 1: Enable * An SPI operation will be triggered when the bit is set. This bit will be cleared * once the operation is done. Can not be changed by CONF_buf. */ @@ -64,17 +64,17 @@ typedef union { typedef union { struct { /** doutdin : R/W; bitpos: [0]; default: 0; - * Configures whether or not to enable full-duplex communication. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable full-duplex communication. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t doutdin:1; uint32_t reserved_1:2; /** qpi_mode : R/W/SS/SC; bitpos: [3]; default: 0; - * Configures whether or not to enable QPI mode. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable QPI mode. + * 0: Disable + * 1: Enable * This configuration is applicable when the SPI controller works as master or slave. * Can be configured in CONF state. */ @@ -85,51 +85,50 @@ typedef union { */ uint32_t opi_mode:1; /** tsck_i_edge : R/W; bitpos: [5]; default: 0; - * Configures whether or not to change the polarity of TSCK in slave transfer. \\ - * 0: TSCK = SPI_CK_I \\ - * 1: TSCK = !SPI_CK_I \\ + * Configures whether or not to change the polarity of TSCK in slave transfer. + * 0: TSCK = SPI_CK_I + * 1: TSCK = !SPI_CK_I */ uint32_t tsck_i_edge:1; /** cs_hold : R/W; bitpos: [6]; default: 1; - * Configures whether or not to keep SPI CS low when SPI is in DONE state. \\ - * 0: Not keep low \\ - * 1: Keep low \\ + * Configures whether or not to keep SPI CS low when SPI is in DONE state. + * 0: Not keep low + * 1: Keep low * Can be configured in CONF state. */ uint32_t cs_hold:1; /** cs_setup : R/W; bitpos: [7]; default: 1; - * Configures whether or not to enable SPI CS when SPI is in prepare (PREP) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable SPI CS when SPI is in prepare (PREP) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t cs_setup:1; /** rsck_i_edge : R/W; bitpos: [8]; default: 0; - * Configures whether or not to change the polarity of RSCK in slave transfer. \\ - * 0: RSCK = !SPI_CK_I \\ - * 1: RSCK = SPI_CK_I \\ + * Configures whether or not to change the polarity of RSCK in slave transfer. + * 0: RSCK = !SPI_CK_I + * 1: RSCK = SPI_CK_I */ uint32_t rsck_i_edge:1; /** ck_out_edge : R/W; bitpos: [9]; default: 0; * Configures SPI clock mode together with SPI_CK_IDLE_EDGE. - * Can be configured in CONF state. For more information, see Section link. + * Can be configured in CONF state. For more information, see Section . */ uint32_t ck_out_edge:1; uint32_t reserved_10:2; /** fwrite_dual : R/W; bitpos: [12]; default: 0; * Configures whether or not to enable the 2-bit mode of read-data phase in write - * operations.\\ - * 0: Not enable \\ - * 1: Enable \\ + * operations. + * 0: Not enable + * 1: Enable * Can be configured in CONF state. */ uint32_t fwrite_dual:1; /** fwrite_quad : R/W; bitpos: [13]; default: 0; * Configures whether or not to enable the 4-bit mode of read-data phase in write - * operations. \\ - * 0: Not enable \\ - * 1: Enable \\ + * operations. + * 0: Not enable + * 1: Enable * Can be configured in CONF state. */ uint32_t fwrite_quad:1; @@ -140,79 +139,79 @@ typedef union { uint32_t fwrite_oct:1; /** usr_conf_nxt : R/W; bitpos: [15]; default: 0; * Configures whether or not to enable the CONF state for the next transaction - * (segment) in a configurable segmented transfer. \\ + * (segment) in a configurable segmented transfer. * 0: this transfer will end after the current transaction (segment) is finished. Or - * this is not a configurable segmented transfer. \\ + * this is not a configurable segmented transfer. * 1: this configurable segmented transfer will continue its next transaction - * (segment). \\ + * (segment). * Can be configured in CONF state. */ uint32_t usr_conf_nxt:1; uint32_t reserved_16:1; /** sio : R/W; bitpos: [17]; default: 0; * Configures whether or not to enable 3-line half-duplex communication, where MOSI - * and MISO signals share the same pin.\\ - * 0: Disable \\ - * 1: Enable \\ + * and MISO signals share the same pin. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t sio:1; uint32_t reserved_18:6; /** usr_miso_highpart : R/W; bitpos: [24]; default: 0; * Configures whether or not to enable high part mode, i.e., only access to high part - * of the buffers: SPI_W8_REG ~ SPI_W15_REG in read-data phase. \\ - * 0: Disable \\ - * 1: Enable \\ + * of the buffers: SPI_W8_REG ~ SPI_W15_REG in read-data phase. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t usr_miso_highpart:1; /** usr_mosi_highpart : R/W; bitpos: [25]; default: 0; * Configures whether or not to enable high part mode, i.e., only access to high part - * of the buffers: SPI_W8_REG ~ SPI_W15_REG in write-data phase. \\ - * 0: Disable \\ - * 1: Enable \\ + * of the buffers: SPI_W8_REG ~ SPI_W15_REG in write-data phase. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t usr_mosi_highpart:1; /** usr_dummy_idle : R/W; bitpos: [26]; default: 0; - * Configures whether or not to disable SPI clock in DUMMY state. \\ - * 0: Not disable \\ - * 1: Disable \\ + * Configures whether or not to disable SPI clock in DUMMY state. + * 0: Not disable + * 1: Disable * Can be configured in CONF state. */ uint32_t usr_dummy_idle:1; /** usr_mosi : R/W; bitpos: [27]; default: 0; - * Configures whether or not to enable the write-data (DOUT) state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the write-data (DOUT) state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t usr_mosi:1; /** usr_miso : R/W; bitpos: [28]; default: 0; - * Configures whether or not to enable the read-data (DIN) state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the read-data (DIN) state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t usr_miso:1; /** usr_dummy : R/W; bitpos: [29]; default: 0; - * Configures whether or not to enable the DUMMY state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the DUMMY state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t usr_dummy:1; /** usr_addr : R/W; bitpos: [30]; default: 0; - * Configures whether or not to enable the address (ADDR) state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the address (ADDR) state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t usr_addr:1; /** usr_command : R/W; bitpos: [31]; default: 1; - * Configures whether or not to enable the command (CMD) state of an operation. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable the command (CMD) state of an operation. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t usr_command:1; @@ -227,28 +226,28 @@ typedef union { struct { /** usr_dummy_cyclelen : R/W; bitpos: [7:0]; default: 7; * Configures the length of DUMMY state. - * Measurement unit: SPI_CLK clock cycles.\\ + * Measurement unit: SPI_CLK clock cycles. * This value is (the expected cycle number - 1). Can be configured in CONF state. */ uint32_t usr_dummy_cyclelen:8; uint32_t reserved_8:8; /** mst_wfull_err_end_en : R/W; bitpos: [16]; default: 1; * Configures whether or not to end the SPI transfer when SPI RX AFIFO wfull error - * occurs in master full-/half-duplex transfers. \\ - * 0: Not end \\ - * 1: End \\ + * occurs in master full-/half-duplex transfers. + * 0: Not end + * 1: End */ uint32_t mst_wfull_err_end_en:1; /** cs_setup_time : R/W; bitpos: [21:17]; default: 0; * Configures the length of prepare (PREP) state. - * Measurement unit: SPI_CLK clock cycles.\\ + * Measurement unit: SPI_CLK clock cycles. * This value is equal to the expected cycles - 1. This field is used together with * SPI_CS_SETUP. Can be configured in CONF state. */ uint32_t cs_setup_time:5; /** cs_hold_time : R/W; bitpos: [26:22]; default: 1; * Configures the delay cycles of CS pin. - * Measurement unit: SPI_CLK clock cycles. \\ + * Measurement unit: SPI_CLK clock cycles. * This field is used together with SPI_CS_HOLD. Can be configured in CONF state. */ uint32_t cs_hold_time:5; @@ -274,9 +273,9 @@ typedef union { uint32_t reserved_16:11; /** mst_rempty_err_end_en : R/W; bitpos: [27]; default: 1; * Configures whether or not to end the SPI transfer when SPI TX AFIFO read empty - * error occurs in master full-/half-duplex transfers. \\ - * 0: Not end \\ - * 1: End \\ + * error occurs in master full-/half-duplex transfers. + * 0: Not end + * 1: End */ uint32_t mst_rempty_err_end_en:1; /** usr_command_bitlen : R/W; bitpos: [31:28]; default: 7; @@ -297,122 +296,122 @@ typedef union { struct { uint32_t reserved_0:3; /** dummy_out : R/W; bitpos: [3]; default: 0; - * Configures whether or not to output the FSPI bus signals in DUMMY state. \\ - * 0: Not output \\ - * 1: Output \\ + * Configures whether or not to output the FSPI bus signals in DUMMY state. + * 0: Not output + * 1: Output * Can be configured in CONF state. */ uint32_t dummy_out:1; uint32_t reserved_4:1; /** faddr_dual : R/W; bitpos: [5]; default: 0; - * Configures whether or not to enable 2-bit mode during address (ADDR) state.\\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 2-bit mode during address (ADDR) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t faddr_dual:1; /** faddr_quad : R/W; bitpos: [6]; default: 0; - * Configures whether or not to enable 4-bit mode during address (ADDR) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 4-bit mode during address (ADDR) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t faddr_quad:1; /** faddr_oct : HRO; bitpos: [7]; default: 0; - * Configures whether or not to enable 8-bit mode during address (ADDR) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 8-bit mode during address (ADDR) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t faddr_oct:1; /** fcmd_dual : R/W; bitpos: [8]; default: 0; - * Configures whether or not to enable 2-bit mode during command (CMD) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 2-bit mode during command (CMD) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t fcmd_dual:1; /** fcmd_quad : R/W; bitpos: [9]; default: 0; - * Configures whether or not to enable 4-bit mode during command (CMD) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 4-bit mode during command (CMD) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t fcmd_quad:1; /** fcmd_oct : HRO; bitpos: [10]; default: 0; - * Configures whether or not to enable 8-bit mode during command (CMD) state. \\ - * 0: Disable \\ - * 1: Enable \\ + * Configures whether or not to enable 8-bit mode during command (CMD) state. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t fcmd_oct:1; uint32_t reserved_11:3; /** fread_dual : R/W; bitpos: [14]; default: 0; * Configures whether or not to enable the 2-bit mode of read-data (DIN) state in read - * operations. \\ - * 0: Disable \\ - * 1: Enable \\ + * operations. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t fread_dual:1; /** fread_quad : R/W; bitpos: [15]; default: 0; * Configures whether or not to enable the 4-bit mode of read-data (DIN) state in read - * operations. \\ - * 0: Disable \\ - * 1: Enable \\ + * operations. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t fread_quad:1; /** fread_oct : HRO; bitpos: [16]; default: 0; * Configures whether or not to enable the 8-bit mode of read-data (DIN) state in read - * operations. \\ - * 0: Disable \\ - * 1: Enable \\ + * operations. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t fread_oct:1; uint32_t reserved_17:1; /** q_pol : R/W; bitpos: [18]; default: 1; - * Configures MISO line polarity. \\ - * 0: Low \\ - * 1: High \\ + * Configures MISO line polarity. + * 0: Low + * 1: High * Can be configured in CONF state. */ uint32_t q_pol:1; /** d_pol : R/W; bitpos: [19]; default: 1; - * Configures MOSI line polarity. \\ - * 0: Low \\ - * 1: High \\ + * Configures MOSI line polarity. + * 0: Low + * 1: High * Can be configured in CONF state. */ uint32_t d_pol:1; /** hold_pol : R/W; bitpos: [20]; default: 1; - * Configures SPI_HOLD output value when SPI is in idle. \\ - * 0: Output low \\ - * 1: Output high \\ + * Configures SPI_HOLD output value when SPI is in idle. + * 0: Output low + * 1: Output high * Can be configured in CONF state. */ uint32_t hold_pol:1; /** wp_pol : R/W; bitpos: [21]; default: 1; - * Configures the output value of write-protect signal when SPI is in idle. \\ - * 0: Output low \\ - * 1: Output high \\ + * Configures the output value of write-protect signal when SPI is in idle. + * 0: Output low + * 1: Output high * Can be configured in CONF state. */ uint32_t wp_pol:1; uint32_t reserved_22:1; /** rd_bit_order : R/W; bitpos: [24:23]; default: 0; - * Configures the bit order in read-data (MISO) state. \\ - * 0: MSB first \\ - * 1: LSB first \\ + * Configures the bit order in read-data (MISO) state. + * 0: MSB first + * 1: LSB first * Can be configured in CONF state. */ uint32_t rd_bit_order:2; /** wr_bit_order : R/W; bitpos: [26:25]; default: 0; * Configures the bit order in command (CMD), address (ADDR), and write-data (MOSI) - * states. \\ - * 0: MSB first \\ - * 1: LSB first \\ + * states. + * 0: MSB first + * 1: LSB first * Can be configured in CONF state. */ uint32_t wr_bit_order:2; @@ -444,58 +443,58 @@ typedef union { typedef union { struct { /** cs0_dis : R/W; bitpos: [0]; default: 0; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ uint32_t cs0_dis:1; /** cs1_dis : R/W; bitpos: [1]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ uint32_t cs1_dis:1; /** cs2_dis : R/W; bitpos: [2]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ uint32_t cs2_dis:1; /** cs3_dis : R/W; bitpos: [3]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ uint32_t cs3_dis:1; /** cs4_dis : R/W; bitpos: [4]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ uint32_t cs4_dis:1; /** cs5_dis : R/W; bitpos: [5]; default: 1; - * Configures whether or not to disable SPI_CS$n pin.\\ - * 0: SPI_CS$n signal is from/to SPI_CS$n pin.\\ - * 1: Disable SPI_CS$n pin.\\ + * Configures whether or not to disable SPI_CS$n pin. + * 0: SPI_CS$n signal is from/to SPI_CS$n pin. + * 1: Disable SPI_CS$n pin. * Can be configured in CONF state. */ uint32_t cs5_dis:1; /** ck_dis : R/W; bitpos: [6]; default: 0; - * Configures whether or not to disable SPI_CLK output.\\ - * 0: Enable\\ - * 1: Disable\\ + * Configures whether or not to disable SPI_CLK output. + * 0: Enable + * 1: Disable * Can be configured in CONF state. */ uint32_t ck_dis:1; /** master_cs_pol : R/W; bitpos: [12:7]; default: 0; - * Configures the polarity of SPI_CS$n ($n = 0-5) line in master transfer.\\ - * 0: SPI_CS$n is low active.\\ - * 1: SPI_CS$n is high active.\\ + * Configures the polarity of SPI_CS$n ($n = 0-5) line in master transfer. + * 0: SPI_CS$n is low active. + * 1: SPI_CS$n is high active. * Can be configured in CONF state. */ uint32_t master_cs_pol:6; @@ -525,9 +524,9 @@ typedef union { uint32_t cmd_dtr_en:1; uint32_t reserved_20:3; /** slave_cs_pol : R/W; bitpos: [23]; default: 0; - * Configures whether or not invert SPI slave input CS polarity.\\ - * 0: Not change\\ - * 1: Invert\\ + * Configures whether or not invert SPI slave input CS polarity. + * 0: Not change + * 1: Invert * Can be configured in CONF state. */ uint32_t slave_cs_pol:1; @@ -537,16 +536,16 @@ typedef union { uint32_t dqs_idle_edge:1; uint32_t reserved_25:4; /** ck_idle_edge : R/W; bitpos: [29]; default: 0; - * Configures the level of SPI_CLK line when GP-SPI2 is in idle.\\ - * 0: Low\\ - * 1: High\\ + * Configures the level of SPI_CLK line when GP-SPI2 is in idle. + * 0: Low + * 1: High * Can be configured in CONF state. */ uint32_t ck_idle_edge:1; /** cs_keep_active : R/W; bitpos: [30]; default: 0; - * Configures whether or not to keep the SPI_CS line low.\\ - * 0: Not keep low\\ - * 1: Keep low\\ + * Configures whether or not to keep the SPI_CS line low. + * 0: Not keep low + * 1: Keep low * Can be configured in CONF state. */ uint32_t cs_keep_active:1; @@ -565,31 +564,31 @@ typedef union { typedef union { struct { /** dma_outfifo_empty : RO; bitpos: [0]; default: 1; - * Represents whether or not the DMA TX FIFO is ready for sending data.\\ - * 0: Ready\\ - * 1: Not ready\\ + * Represents whether or not the DMA TX FIFO is ready for sending data. + * 0: Ready + * 1: Not ready */ uint32_t dma_outfifo_empty:1; /** dma_infifo_full : RO; bitpos: [1]; default: 1; - * Represents whether or not the DMA RX FIFO is ready for receiving data.\\ - * 0: Ready\\ - * 1: Not ready\\ + * Represents whether or not the DMA RX FIFO is ready for receiving data. + * 0: Ready + * 1: Not ready */ uint32_t dma_infifo_full:1; uint32_t reserved_2:16; /** dma_slv_seg_trans_en : R/W; bitpos: [18]; default: 0; * Configures whether or not to enable DMA-controlled segmented transfer in slave - * half-duplex communication.\\ - * 0: Disable\\ - * 1: Enable\\ + * half-duplex communication. + * 0: Disable + * 1: Enable */ uint32_t dma_slv_seg_trans_en:1; /** slv_rx_seg_trans_clr_en : R/W; bitpos: [19]; default: 0; * In slave segmented transfer, if the size of the DMA RX buffer is smaller than the - * size of the received data, \\1: the data in all the following Wr_DMA transactions - * will not be received\\ 0: the data in this Wr_DMA transaction will not be received, - * but in the following transactions,\\ - * + * size of the received data, + * 1: the data in all the following Wr_DMA transactions will not be received + * 0: the data in this Wr_DMA transaction will not be received, but in the following + * transactions, * - if the size of DMA RX buffer is not 0, the data in following Wr_DMA transactions * will be received. * - if the size of DMA RX buffer is 0, the data in following Wr_DMA transactions will @@ -598,12 +597,11 @@ typedef union { uint32_t slv_rx_seg_trans_clr_en:1; /** slv_tx_seg_trans_clr_en : R/W; bitpos: [20]; default: 0; * In slave segmented transfer, if the size of the DMA TX buffer is smaller than the - * size of the transmitted data,\\ + * size of the transmitted data, * 1: the data in the following transactions will not be updated, i.e. the old data is - * transmitted repeatedly.\\ + * transmitted repeatedly. * 0: the data in this transaction will not be updated. But in the following - * transactions,\\ - * + * transactions, * - if new data is filled in DMA TX FIFO, new data will be transmitted. * - if no new data is filled in DMA TX FIFO, no new data will be transmitted. */ @@ -618,41 +616,35 @@ typedef union { uint32_t rx_eof_en:1; uint32_t reserved_22:5; /** dma_rx_ena : R/W; bitpos: [27]; default: 0; - * Configures whether or not to enable DMA-controlled receive data transfer.\\ - * 0: Disable\\ - * 1: Enable\\ + * Configures whether or not to enable DMA-controlled receive data transfer. + * 0: Disable + * 1: Enable */ uint32_t dma_rx_ena:1; /** dma_tx_ena : R/W; bitpos: [28]; default: 0; - * Configures whether or not to enable DMA-controlled send data transfer.\\ - * 0: Disable\\ - * 1: Enable\\ + * Configures whether or not to enable DMA-controlled send data transfer. + * 0: Disable + * 1: Enable */ uint32_t dma_tx_ena:1; /** rx_afifo_rst : WT; bitpos: [29]; default: 0; - * Configures whether or not to reset spi_rx_afifo as shown in Figure link and in Figure link.\\ - * 0: Not reset\\ - * 1: Reset\\ + * Configures whether or not to reset spi_rx_afifo as shown in Figure . + * 0: Not reset + * 1: Reset * spi_rx_afifo is used to receive data in SPI master and slave transfer. */ uint32_t rx_afifo_rst:1; /** buf_afifo_rst : WT; bitpos: [30]; default: 0; - * Configures whether or not to reset buf_tx_afifo as shown in Figure link and in Figure link.\\ - * 0: Not reset\\ - * 1: Reset\\ + * Configures whether or not to reset buf_tx_afifo as shown in Figure . + * 0: Not reset + * 1: Reset * buf_tx_afifo is used to send data out in CPU-controlled master and slave transfer. */ uint32_t buf_afifo_rst:1; /** dma_afifo_rst : WT; bitpos: [31]; default: 0; - * Configures whether or not to reset dma_tx_afifo as shown in Figure link and in Figure link.\\ - * 0: Not reset\\ - * 1: Reset\\ + * Configures whether or not to reset dma_tx_afifo as shown in Figure . + * 0: Not reset + * 1: Reset * dma_tx_afifo is used to send data out in DMA-controlled slave transfer. */ uint32_t dma_afifo_rst:1; @@ -666,55 +658,53 @@ typedef union { typedef union { struct { /** clk_mode : R/W; bitpos: [1:0]; default: 0; - * Configures SPI clock mode.\\ - * 0: SPI clock is off when CS becomes inactive.\\ - * 1: SPI clock is delayed one cycle after CS becomes inactive.\\ - * 2: SPI clock is delayed two cycles after CS becomes inactive.\\ - * 3: SPI clock is always on.\\ + * Configures SPI clock mode. + * 0: SPI clock is off when CS becomes inactive. + * 1: SPI clock is delayed one cycle after CS becomes inactive. + * 2: SPI clock is delayed two cycles after CS becomes inactive. + * 3: SPI clock is always on. * Can be configured in CONF state. */ uint32_t clk_mode:2; /** clk_mode_13 : R/W; bitpos: [2]; default: 0; - * Configure clock mode.\\ - * 0: Support SPI clock mode 0 or 2. See Table link.\\ - * 1: Support SPI clock mode 1 or 3. See Table link.\\ + * Configure clock mode. + * 0: Support SPI clock mode 0 or 2. See Table . + * 1: Support SPI clock mode 1 or 3. See Table . */ uint32_t clk_mode_13:1; /** rsck_data_out : R/W; bitpos: [3]; default: 0; - * Configures the edge of output data.\\ - * 0: Output data at TSCK rising edge.\\ - * 1: Output data at RSCK rising edge.\\ + * Configures the edge of output data. + * 0: Output data at TSCK rising edge. + * 1: Output data at RSCK rising edge. */ uint32_t rsck_data_out:1; uint32_t reserved_4:4; /** slv_rddma_bitlen_en : R/W; bitpos: [8]; default: 0; * Configures whether or not to use SPI_SLV_DATA_BITLEN to store the data bit length - * of Rd_DMA transfer.\\ - * 0: Not use\\ - * 1: Use\\ + * of Rd_DMA transfer. + * 0: Not use + * 1: Use */ uint32_t slv_rddma_bitlen_en:1; /** slv_wrdma_bitlen_en : R/W; bitpos: [9]; default: 0; * Configures whether or not to use SPI_SLV_DATA_BITLEN to store the data bit length - * of Wr_DMA transfer.\\ - * 0: Not use\\ - * 1: Use\\ + * of Wr_DMA transfer. + * 0: Not use + * 1: Use */ uint32_t slv_wrdma_bitlen_en:1; /** slv_rdbuf_bitlen_en : R/W; bitpos: [10]; default: 0; * Configures whether or not to use SPI_SLV_DATA_BITLEN to store the data bit length - * of Rd_BUF transfer.\\ - * 0: Not use\\ - * 1: Use\\ + * of Rd_BUF transfer. + * 0: Not use + * 1: Use */ uint32_t slv_rdbuf_bitlen_en:1; /** slv_wrbuf_bitlen_en : R/W; bitpos: [11]; default: 0; * Configures whether or not to use SPI_SLV_DATA_BITLEN to store the data bit length - * of Wr_BUF transfer.\\ - * 0: Not use\\ - * 1: Use\\ + * of Wr_BUF transfer. + * 0: Not use + * 1: Use */ uint32_t slv_wrbuf_bitlen_en:1; /** slv_last_byte_strb : R/SS; bitpos: [19:12]; default: 0; @@ -729,32 +719,31 @@ typedef union { */ uint32_t dma_seg_magic_value:4; /** slave_mode : R/W; bitpos: [26]; default: 0; - * Configures SPI work mode.\\ - * 0: Master\\ - * 1: Slave\\ + * Configures SPI work mode. + * 0: Master + * 1: Slave */ uint32_t slave_mode:1; /** soft_reset : WT; bitpos: [27]; default: 0; - * Configures whether to reset the SPI clock line, CS line, and data line via - * software.\\ - * 0: Not reset\\ - * 1: Reset\\ + * Configures whether to reset the SPI clock line, CS line, and data line via software. + * 0: Not reset + * 1: Reset * Can be configured in CONF state. */ uint32_t soft_reset:1; /** usr_conf : R/W; bitpos: [28]; default: 0; * Configures whether or not to enable the CONF state of current DMA-controlled - * configurable segmented transfer.\\ + * configurable segmented transfer. * 0: No effect, which means the current transfer is not a configurable segmented - * transfer.\\ - * 1: Enable, which means a configurable segmented transfer is started.\\ + * transfer. + * 1: Enable, which means a configurable segmented transfer is started. */ uint32_t usr_conf:1; /** mst_fd_wait_dma_tx_data : R/W; bitpos: [29]; default: 0; * Configures whether or not to wait DMA TX data gets ready before starting SPI - * transfer in master full-duplex transfer.\\ - * 0: Not wait\\ - * 1: Wait\\ + * transfer in master full-duplex transfer. + * 0: Not wait + * 1: Wait */ uint32_t mst_fd_wait_dma_tx_data:1; uint32_t reserved_30:2; @@ -799,14 +788,14 @@ typedef union { * Configures the duty cycle of SPI_CLK (high level) in master transfer. * It's recommended to configure this value to floor((SPI_CLKCNT_N + 1)/2 - 1). * floor() here is to round a number down, e.g., floor(2.2) = 2. In slave mode, it - * must be 0. \\ + * must be 0. * Can be configured in CONF state. */ uint32_t clkcnt_h:6; /** clkcnt_n : R/W; bitpos: [17:12]; default: 3; * Configures the divider of SPI_CLK in master transfer. * SPI_CLK frequency is $f_{\textrm{apb_clk}}$/(SPI_CLKDIV_PRE + 1)/(SPI_CLKCNT_N + - * 1). \\ + * 1). * Can be configured in CONF state. */ uint32_t clkcnt_n:6; @@ -815,11 +804,19 @@ typedef union { * Can be configured in CONF state. */ uint32_t clkdiv_pre:4; - uint32_t reserved_22:9; + uint32_t reserved_22:8; + /** clk_edge_sel : R/W; bitpos: [30]; default: 0; + * Configures use standard clock sampling edge or delay the sampling edge by half a + * cycle in master transfer. + * 0: clock sampling edge is delayed by half a cycle. + * 1: clock sampling edge is standard. + * Can be configured in CONF state. + */ + uint32_t clk_edge_sel:1; /** clk_equ_sysclk : R/W; bitpos: [31]; default: 1; - * Configures whether or not the SPI_CLK is equal to APB_CLK in master transfer.\\ - * 0: SPI_CLK is divided from APB_CLK.\\ - * 1: SPI_CLK is equal to APB_CLK.\\ + * Configures whether or not the SPI_CLK is equal to APB_CLK in master transfer. + * 0: SPI_CLK is divided from APB_CLK. + * 1: SPI_CLK is equal to APB_CLK. * Can be configured in CONF state. */ uint32_t clk_equ_sysclk:1; @@ -833,9 +830,9 @@ typedef union { typedef union { struct { /** clk_en : R/W; bitpos: [0]; default: 0; - * Configures whether or not to enable clock gate.\\ - * 0: Disable\\ - * 1: Enable\\ + * Configures whether or not to enable clock gate. + * 0: Disable + * 1: Enable */ uint32_t clk_en:1; /** mst_clk_active : R/W; bitpos: [1]; default: 0; @@ -860,46 +857,46 @@ typedef union { typedef union { struct { /** din0_mode : R/W; bitpos: [1:0]; default: 0; - * Configures the input mode for FSPID signal.\\ - * 0: Input without delay\\ - * 1: Input at the (SPI_DIN0_NUM + 1)th falling edge of clk_spi_mst\\ + * Configures the input mode for FSPID signal. + * 0: Input without delay + * 1: Input at the (SPI_DIN0_NUM + 1)th falling edge of clk_spi_mst * 2: Input at the (SPI_DIN0_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * rising edge cycle\\ + * rising edge cycle * 3: Input at the (SPI_DIN0_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * falling edge cycle\\ + * falling edge cycle * Can be configured in CONF state. */ uint32_t din0_mode:2; /** din1_mode : R/W; bitpos: [3:2]; default: 0; - * Configures the input mode for FSPIQ signal.\\ - * 0: Input without delay\\ - * 1: Input at the (SPI_DIN1_NUM+1)th falling edge of clk_spi_mst\\ + * Configures the input mode for FSPIQ signal. + * 0: Input without delay + * 1: Input at the (SPI_DIN1_NUM+1)th falling edge of clk_spi_mst * 2: Input at the (SPI_DIN1_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * rising edge cycle\\ + * rising edge cycle * 3: Input at the (SPI_DIN1_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * falling edge cycle\\ + * falling edge cycle * Can be configured in CONF state. */ uint32_t din1_mode:2; /** din2_mode : R/W; bitpos: [5:4]; default: 0; - * Configures the input mode for FSPIWP signal.\\ - * 0: Input without delay\\ - * 1: Input at the (SPI_DIN2_NUM + 1)th falling edge of clk_spi_mst\\ + * Configures the input mode for FSPIWP signal. + * 0: Input without delay + * 1: Input at the (SPI_DIN2_NUM + 1)th falling edge of clk_spi_mst * 2: Input at the (SPI_DIN2_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * rising edge cycle\\ + * rising edge cycle * 3: Input at the (SPI_DIN2_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * falling edge cycle\\ + * falling edge cycle * Can be configured in CONF state. */ uint32_t din2_mode:2; /** din3_mode : R/W; bitpos: [7:6]; default: 0; - * Configures the input mode for FSPIHD signal.\\ - * 0: Input without delay\\ - * 1: Input at the (SPI_DIN3_NUM + 1)th falling edge of clk_spi_mst\\ + * Configures the input mode for FSPIHD signal. + * 0: Input without delay + * 1: Input at the (SPI_DIN3_NUM + 1)th falling edge of clk_spi_mst * 2: Input at the (SPI_DIN3_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * rising edge cycle\\ + * rising edge cycle * 3: Input at the (SPI_DIN3_NUM + 1)th rising edge of clk_hclk plus one clk_spi_mst - * falling edge cycle\\ + * falling edge cycle * Can be configured in CONF state. * */ @@ -930,9 +927,9 @@ typedef union { uint32_t din7_mode:2; /** timing_hclk_active : R/W; bitpos: [16]; default: 0; * Configures whether or not to enable HCLK (high-frequency clock) in SPI input timing - * module.\\ - * 0: Disable\\ - * 1: Enable\\ + * module. + * 0: Disable + * 1: Enable * Can be configured in CONF state. */ uint32_t timing_hclk_active:1; @@ -947,40 +944,38 @@ typedef union { typedef union { struct { /** din0_num : R/W; bitpos: [1:0]; default: 0; - * Configures the delays to input signal FSPID based on the setting of SPI_DIN0_MODE.\\ - * 0: Delayed by 1 clock cycle\\ - * 1: Delayed by 2 clock cycles\\ - * 2: Delayed by 3 clock cycles\\ - * 3: Delayed by 4 clock cycles\\ + * Configures the delays to input signal FSPID based on the setting of SPI_DIN0_MODE. + * 0: Delayed by 1 clock cycle + * 1: Delayed by 2 clock cycles + * 2: Delayed by 3 clock cycles + * 3: Delayed by 4 clock cycles * Can be configured in CONF state. */ uint32_t din0_num:2; /** din1_num : R/W; bitpos: [3:2]; default: 0; - * Configures the delays to input signal FSPIQ based on the setting of SPI_DIN1_MODE.\\ - * 0: Delayed by 1 clock cycle\\ - * 1: Delayed by 2 clock cycles\\ - * 2: Delayed by 3 clock cycles\\ - * 3: Delayed by 4 clock cycles\\ + * Configures the delays to input signal FSPIQ based on the setting of SPI_DIN1_MODE. + * 0: Delayed by 1 clock cycle + * 1: Delayed by 2 clock cycles + * 2: Delayed by 3 clock cycles + * 3: Delayed by 4 clock cycles * Can be configured in CONF state. */ uint32_t din1_num:2; /** din2_num : R/W; bitpos: [5:4]; default: 0; - * Configures the delays to input signal FSPIWP based on the setting of - * SPI_DIN2_MODE.\\ - * 0: Delayed by 1 clock cycle\\ - * 1: Delayed by 2 clock cycles\\ - * 2: Delayed by 3 clock cycles\\ - * 3: Delayed by 4 clock cycles\\ + * Configures the delays to input signal FSPIWP based on the setting of SPI_DIN2_MODE. + * 0: Delayed by 1 clock cycle + * 1: Delayed by 2 clock cycles + * 2: Delayed by 3 clock cycles + * 3: Delayed by 4 clock cycles * Can be configured in CONF state. */ uint32_t din2_num:2; /** din3_num : R/W; bitpos: [7:6]; default: 0; - * Configures the delays to input signal FSPIHD based on the setting of - * SPI_DIN3_MODE.\\ - * 0: Delayed by 1 clock cycle\\ - * 1: Delayed by 2 clock cycles\\ - * 2: Delayed by 3 clock cycles\\ - * 3: Delayed by 4 clock cycles\\ + * Configures the delays to input signal FSPIHD based on the setting of SPI_DIN3_MODE. + * 0: Delayed by 1 clock cycle + * 1: Delayed by 2 clock cycles + * 2: Delayed by 3 clock cycles + * 3: Delayed by 4 clock cycles * Can be configured in CONF state. */ uint32_t din3_num:2; @@ -1015,30 +1010,30 @@ typedef union { typedef union { struct { /** dout0_mode : R/W; bitpos: [0]; default: 0; - * Configures the output mode for FSPID signal.\\ - * 0: Output without delay\\ - * 1: Output with a delay of a SPI module clock cycle at its falling edge\\ + * Configures the output mode for FSPID signal. + * 0: Output without delay + * 1: Output with a delay of a SPI module clock cycle at its falling edge * Can be configured in CONF state. */ uint32_t dout0_mode:1; /** dout1_mode : R/W; bitpos: [1]; default: 0; - * Configures the output mode for FSPIQ signal.\\ - * 0: Output without delay\\ - * 1: Output with a delay of a SPI module clock cycle at its falling edge\\ + * Configures the output mode for FSPIQ signal. + * 0: Output without delay + * 1: Output with a delay of a SPI module clock cycle at its falling edge * Can be configured in CONF state. */ uint32_t dout1_mode:1; /** dout2_mode : R/W; bitpos: [2]; default: 0; - * Configures the output mode for FSPIWP signal.\\ - * 0: Output without delay\\ - * 1: Output with a delay of a SPI module clock cycle at its falling edge\\ + * Configures the output mode for FSPIWP signal. + * 0: Output without delay + * 1: Output with a delay of a SPI module clock cycle at its falling edge * Can be configured in CONF state. */ uint32_t dout2_mode:1; /** dout3_mode : R/W; bitpos: [3]; default: 0; - * Configures the output mode for FSPIHD signal.\\ - * 0: Output without delay\\ - * 1: Output with a delay of a SPI module clock cycle at its falling edge\\ + * Configures the output mode for FSPIHD signal. + * 0: Output without delay + * 1: Output with a delay of a SPI module clock cycle at its falling edge * Can be configured in CONF state. */ uint32_t dout3_mode:1; @@ -1574,7 +1569,7 @@ typedef union { */ typedef union { struct { - /** date : R/W; bitpos: [27:0]; default: 36716931; + /** date : R/W; bitpos: [27:0]; default: 37761424; * Version control register. */ uint32_t date:28; @@ -1601,7 +1596,7 @@ typedef struct { volatile spi_dma_int_ena_reg_t dma_int_ena; volatile spi_dma_int_clr_reg_t dma_int_clr; volatile spi_dma_int_raw_reg_t dma_int_raw; - volatile spi_dma_int_st_reg_t dma_int_sta; + volatile spi_dma_int_st_reg_t dma_int_st; volatile spi_dma_int_set_reg_t dma_int_set; uint32_t reserved_048[20]; volatile spi_wn_reg_t data_buf[16]; diff --git a/docs/docs_not_updated/esp32c5.txt b/docs/docs_not_updated/esp32c5.txt index fb8fb4bcc9..921ec9af28 100644 --- a/docs/docs_not_updated/esp32c5.txt +++ b/docs/docs_not_updated/esp32c5.txt @@ -23,7 +23,6 @@ api-reference/storage/fatfsgen.rst api-reference/storage/index.rst api-reference/storage/nvs_partition_parse.rst api-reference/peripherals/twai.rst -api-reference/peripherals/spi_features.rst api-reference/peripherals/touch_pad.rst api-reference/peripherals/sd_pullup_requirements.rst api-reference/peripherals/index.rst