MeterLogger
|
Go to the source code of this file.
Macros | |
#define | SPI 0 |
#define | HSPI 1 |
#define | SPI_CLK_USE_DIV 0 |
#define | SPI_CLK_80MHZ_NODIV 1 |
#define | SPI_BYTE_ORDER_HIGH_TO_LOW 1 |
#define | SPI_BYTE_ORDER_LOW_TO_HIGH 0 |
#define | CPU_CLK_FREQ 80*1000000 |
#define | SPI_CLK_PREDIV 10 |
#define | SPI_CLK_CNTDIV 2 |
#define | SPI_CLK_FREQ CPU_CLK_FREQ/(SPI_CLK_PREDIV*SPI_CLK_CNTDIV) |
#define | spi_busy(spi_no) READ_PERI_REG(SPI_CMD(spi_no))&SPI_USR |
#define | spi_txd(spi_no, bits, data) spi_transaction(spi_no, 0, 0, 0, 0, bits, (uint32) data, 0, 0) |
#define | spi_tx8(spi_no, data) spi_transaction(spi_no, 0, 0, 0, 0, 8, (uint32) data, 0, 0) |
#define | spi_tx16(spi_no, data) spi_transaction(spi_no, 0, 0, 0, 0, 16, (uint32) data, 0, 0) |
#define | spi_tx32(spi_no, data) spi_transaction(spi_no, 0, 0, 0, 0, 32, (uint32) data, 0, 0) |
#define | spi_rxd(spi_no, bits) spi_transaction(spi_no, 0, 0, 0, 0, 0, 0, bits, 0) |
#define | spi_rx8(spi_no) spi_transaction(spi_no, 0, 0, 0, 0, 0, 0, 8, 0) |
#define | spi_rx16(spi_no) spi_transaction(spi_no, 0, 0, 0, 0, 0, 0, 16, 0) |
#define | spi_rx32(spi_no) spi_transaction(spi_no, 0, 0, 0, 0, 0, 0, 32, 0) |
Functions | |
ICACHE_FLASH_ATTR void | spi_init (uint8 spi_no) |
ICACHE_FLASH_ATTR void | spi_mode (uint8 spi_no, uint8 spi_cpha, uint8 spi_cpol) |
ICACHE_FLASH_ATTR void | spi_init_gpio (uint8 spi_no, uint8 sysclk_as_spiclk) |
ICACHE_FLASH_ATTR void | spi_clock (uint8 spi_no, uint16 prediv, uint8 cntdiv) |
ICACHE_FLASH_ATTR void | spi_tx_byte_order (uint8 spi_no, uint8 byte_order) |
ICACHE_FLASH_ATTR void | spi_rx_byte_order (uint8 spi_no, uint8 byte_order) |
ICACHE_FLASH_ATTR uint32 | spi_transaction (uint8 spi_no, uint8 cmd_bits, uint16 cmd_data, uint32 addr_bits, uint32 addr_data, uint32 dout_bits, uint32 dout_data, uint32 din_bits, uint32 dummy_bits) |
#define HSPI 1 |
Definition at line 36 of file spi.h.
Referenced by ext_spi_flash_erase_sector(), ext_spi_flash_id(), ext_spi_flash_read(), ext_spi_flash_write(), ext_spi_init(), and spi_init_gpio().
#define SPI 0 |
Definition at line 35 of file spi.h.
Referenced by spi_init_gpio().
#define spi_busy | ( | spi_no | ) | READ_PERI_REG(SPI_CMD(spi_no))&SPI_USR |
Definition at line 66 of file spi.h.
Referenced by spi_transaction().
#define SPI_BYTE_ORDER_HIGH_TO_LOW 1 |
Definition at line 41 of file spi.h.
Referenced by spi_init().
#define SPI_BYTE_ORDER_LOW_TO_HIGH 0 |
Definition at line 42 of file spi.h.
Referenced by ext_spi_init().
#define SPI_CLK_CNTDIV 2 |
Definition at line 50 of file spi.h.
Referenced by spi_init().
#define SPI_CLK_FREQ CPU_CLK_FREQ/(SPI_CLK_PREDIV*SPI_CLK_CNTDIV) |
#define SPI_CLK_PREDIV 10 |
Definition at line 49 of file spi.h.
Referenced by spi_init().
#define SPI_CLK_USE_DIV 0 |
Definition at line 38 of file spi.h.
Referenced by ext_spi_init(), and spi_init().
#define spi_rx16 | ( | spi_no | ) | spi_transaction(spi_no, 0, 0, 0, 0, 0, 0, 16, 0) |
#define spi_rx32 | ( | spi_no | ) | spi_transaction(spi_no, 0, 0, 0, 0, 0, 0, 32, 0) |
#define spi_rx8 | ( | spi_no | ) | spi_transaction(spi_no, 0, 0, 0, 0, 0, 0, 8, 0) |
#define spi_rxd | ( | spi_no, | |
bits | |||
) | spi_transaction(spi_no, 0, 0, 0, 0, 0, 0, bits, 0) |
#define spi_tx16 | ( | spi_no, | |
data | |||
) | spi_transaction(spi_no, 0, 0, 0, 0, 16, (uint32) data, 0, 0) |
#define spi_tx32 | ( | spi_no, | |
data | |||
) | spi_transaction(spi_no, 0, 0, 0, 0, 32, (uint32) data, 0, 0) |
#define spi_tx8 | ( | spi_no, | |
data | |||
) | spi_transaction(spi_no, 0, 0, 0, 0, 8, (uint32) data, 0, 0) |
#define spi_txd | ( | spi_no, | |
bits, | |||
data | |||
) | spi_transaction(spi_no, 0, 0, 0, 0, bits, (uint32) data, 0, 0) |
ICACHE_FLASH_ATTR void spi_clock | ( | uint8 | spi_no, |
uint16 | prediv, | ||
uint8 | cntdiv | ||
) |
Definition at line 136 of file spi.c.
References ICACHE_FLASH_ATTR, SPI_CLK_EQU_SYSCLK, SPI_CLKCNT_H, SPI_CLKCNT_H_S, SPI_CLKCNT_L, SPI_CLKCNT_L_S, SPI_CLKCNT_N, SPI_CLKCNT_N_S, SPI_CLKDIV_PRE, SPI_CLKDIV_PRE_S, SPI_CLOCK, and WRITE_PERI_REG.
Referenced by ext_spi_init(), and spi_init().
ICACHE_FLASH_ATTR void spi_init | ( | uint8 | spi_no | ) |
Definition at line 38 of file spi.c.
References CLEAR_PERI_REG_MASK, ICACHE_FLASH_ATTR, SET_PERI_REG_MASK, SPI_BYTE_ORDER_HIGH_TO_LOW, SPI_CLK_CNTDIV, SPI_CLK_PREDIV, SPI_CLK_USE_DIV, spi_clock(), SPI_CS_HOLD, SPI_CS_SETUP, SPI_FLASH_MODE, spi_init_gpio(), spi_rx_byte_order(), spi_tx_byte_order(), and SPI_USER.
ICACHE_FLASH_ATTR void spi_init_gpio | ( | uint8 | spi_no, |
uint8 | sysclk_as_spiclk | ||
) |
Definition at line 97 of file spi.c.
References HSPI, ICACHE_FLASH_ATTR, PERIPHS_IO_MUX, PERIPHS_IO_MUX_MTCK_U, PERIPHS_IO_MUX_MTDI_U, PERIPHS_IO_MUX_MTDO_U, PERIPHS_IO_MUX_MTMS_U, PERIPHS_IO_MUX_SD_CLK_U, PERIPHS_IO_MUX_SD_CMD_U, PERIPHS_IO_MUX_SD_DATA0_U, PERIPHS_IO_MUX_SD_DATA1_U, PIN_FUNC_SELECT, SPI, and WRITE_PERI_REG.
Referenced by ext_spi_init(), and spi_init().
ICACHE_FLASH_ATTR void spi_mode | ( | uint8 | spi_no, |
uint8 | spi_cpha, | ||
uint8 | spi_cpol | ||
) |
Definition at line 67 of file spi.c.
References CLEAR_PERI_REG_MASK, ICACHE_FLASH_ATTR, SET_PERI_REG_MASK, SPI_CK_OUT_EDGE, SPI_IDLE_EDGE, SPI_PIN, and SPI_USER.
ICACHE_FLASH_ATTR void spi_rx_byte_order | ( | uint8 | spi_no, |
uint8 | byte_order | ||
) |
Definition at line 207 of file spi.c.
References CLEAR_PERI_REG_MASK, ICACHE_FLASH_ATTR, SET_PERI_REG_MASK, SPI_RD_BYTE_ORDER, and SPI_USER.
Referenced by ext_spi_init(), and spi_init().
ICACHE_FLASH_ATTR uint32 spi_transaction | ( | uint8 | spi_no, |
uint8 | cmd_bits, | ||
uint16 | cmd_data, | ||
uint32 | addr_bits, | ||
uint32 | addr_data, | ||
uint32 | dout_bits, | ||
uint32 | dout_data, | ||
uint32 | din_bits, | ||
uint32 | dummy_bits | ||
) |
Definition at line 241 of file spi.c.
References CLEAR_PERI_REG_MASK, READ_PERI_REG, SET_PERI_REG_MASK, SPI_ADDR, spi_busy, SPI_CMD, SPI_RD_BYTE_ORDER, SPI_USER, SPI_USER1, SPI_USER2, SPI_USR, SPI_USR_ADDR, SPI_USR_ADDR_BITLEN, SPI_USR_ADDR_BITLEN_S, SPI_USR_COMMAND, SPI_USR_COMMAND_BITLEN, SPI_USR_COMMAND_BITLEN_S, SPI_USR_COMMAND_VALUE, SPI_USR_DUMMY, SPI_USR_DUMMY_CYCLELEN, SPI_USR_DUMMY_CYCLELEN_S, SPI_USR_MISO, SPI_USR_MISO_BITLEN, SPI_USR_MISO_BITLEN_S, SPI_USR_MOSI, SPI_USR_MOSI_BITLEN, SPI_USR_MOSI_BITLEN_S, SPI_W0, SPI_WR_BYTE_ORDER, and WRITE_PERI_REG.
Referenced by ext_spi_flash_erase_sector(), ext_spi_flash_id(), ext_spi_flash_read(), and ext_spi_flash_write().
ICACHE_FLASH_ATTR void spi_tx_byte_order | ( | uint8 | spi_no, |
uint8 | byte_order | ||
) |
Definition at line 176 of file spi.c.
References CLEAR_PERI_REG_MASK, ICACHE_FLASH_ATTR, SET_PERI_REG_MASK, SPI_USER, and SPI_WR_BYTE_ORDER.
Referenced by ext_spi_init(), and spi_init().