mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
spi: simplify the caps header
This commit is contained in:
@ -40,7 +40,16 @@
|
||||
#define SPI_FLASH_LL_CLKREG_VAL_80MHZ ((spi_flash_ll_clock_reg_t){.val=0x80000000}) ///< Clock set to 80 MHz
|
||||
|
||||
/// Get the start address of SPI peripheral registers by the host ID
|
||||
#define spi_flash_ll_get_hw(host_id) ((host_id)==SPI1_HOST? &SPI1:((host_id)==SPI2_HOST?&SPI2:((host_id)==SPI3_HOST?&SPI3:({abort();(spi_dev_t*)0;}))))
|
||||
#define spi_flash_ll_get_hw(host_id) ( ((host_id)==SPI1_HOST) ? &SPI1 :(\
|
||||
((host_id)==SPI2_HOST) ? &SPI2 :(\
|
||||
((host_id)==SPI3_HOST) ? &SPI3 :(\
|
||||
{abort();(spi_dev_t*)0;}\
|
||||
))) )
|
||||
#define spi_flash_ll_hw_get_id(dev) ( ((dev) == &SPI1) ? SPI1_HOST :(\
|
||||
((dev) == &SPI2) ? SPI2_HOST :(\
|
||||
((dev) == &SPI3) ? SPI3_HOST :(\
|
||||
-1\
|
||||
))) )
|
||||
|
||||
/// type to store pre-calculated register value in above layers
|
||||
typedef typeof(SPI1.clock) spi_flash_ll_clock_reg_t;
|
||||
|
@ -60,4 +60,4 @@
|
||||
//#define SOC_SPI_SLAVE_SUPPORT_SEG_TRANS
|
||||
//#define SOC_SPI_SUPPORT_CD_SIG
|
||||
|
||||
#define SOC_SPI_PERIPH_SUPPORT_MULTILINE_MODE(SPI_HOST) true
|
||||
#define SOC_SPI_PERIPH_SUPPORT_MULTILINE_MODE(SPI_HOST) ({(void)SPI_HOST; true;})
|
||||
|
@ -31,10 +31,14 @@
|
||||
#include <string.h>
|
||||
|
||||
|
||||
#define gpspi_flash_ll_get_hw(host_id) (((host_id)==SPI2_HOST ? &GPSPI2 \
|
||||
: ((host_id)==SPI3_HOST ? &GPSPI3 \
|
||||
: ((host_id)==SPI4_HOST ? &GPSPI4 \
|
||||
: ({abort();(spi_dev_t*)0;})))))
|
||||
#define gpspi_flash_ll_get_hw(host_id) ( ((host_id)==SPI2_HOST) ? &GPSPI2 : (\
|
||||
((host_id)==SPI3_HOST) ? &GPSPI3 : (\
|
||||
{abort();(spi_dev_t*)0;}\
|
||||
)) )
|
||||
#define gpspi_flash_ll_hw_get_id(dev) ( ((dev) == (void*)&GPSPI2) ? SPI2_HOST : (\
|
||||
((dev) == (void*)&GPSPI3) ? SPI3_HOST : (\
|
||||
-1 \
|
||||
)) )
|
||||
|
||||
typedef typeof(GPSPI2.clock) gpspi_flash_ll_clock_reg_t;
|
||||
|
||||
|
@ -37,6 +37,12 @@
|
||||
#define spi_flash_ll_get_hw(host_id) (((host_id)<=SPI1_HOST ? (spi_dev_t*) spimem_flash_ll_get_hw(host_id) \
|
||||
: gpspi_flash_ll_get_hw(host_id)))
|
||||
|
||||
#define spi_flash_ll_hw_get_id(dev) ({int dev_id = spimem_flash_ll_hw_get_id(dev); \
|
||||
if (dev_id < 0) {\
|
||||
dev_id = gpspi_flash_ll_hw_get_id(dev);\
|
||||
}\
|
||||
dev_id; \
|
||||
})
|
||||
|
||||
typedef union {
|
||||
gpspi_flash_ll_clock_reg_t gpspi;
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "hal/spi_flash_types.h"
|
||||
|
||||
#define spimem_flash_ll_get_hw(host_id) (((host_id)==SPI1_HOST ? &SPIMEM1 : NULL ))
|
||||
#define spimem_flash_ll_hw_get_id(dev) ((dev) == (void*)&SPIMEM1? SPI1_HOST: -1)
|
||||
|
||||
typedef typeof(SPIMEM1.clock) spimem_flash_ll_clock_reg_t;
|
||||
|
||||
|
Reference in New Issue
Block a user