50 if(ti_lib_prcm_power_domain_status(PRCM_DOMAIN_SERIAL)
51 != PRCM_DOMAIN_POWER_ON) {
56 if(!(HWREG(PRCM_BASE + PRCM_O_SSICLKGR) & PRCM_SSICLKGR_CLK_EN_SSI0)) {
66 if(accessible() ==
false) {
85 if(accessible() ==
false) {
92 if(!ti_lib_rom_ssi_data_put_non_blocking(
SSI0_BASE, 0)) {
107 if(accessible() ==
false) {
112 while(ti_lib_rom_ssi_data_get_non_blocking(
SSI0_BASE, &ul));
121 ti_lib_prcm_power_domain_on(PRCM_DOMAIN_SERIAL);
122 while((ti_lib_prcm_power_domain_status(PRCM_DOMAIN_SERIAL)
123 != PRCM_DOMAIN_POWER_ON));
126 ti_lib_rom_prcm_peripheral_run_enable(PRCM_PERIPH_SSI0);
127 ti_lib_prcm_load_set();
128 while(!ti_lib_prcm_load_get());
131 ti_lib_ssi_int_disable(
SSI0_BASE, SSI_RXOR | SSI_RXFF | SSI_RXTO | SSI_TXFF);
132 ti_lib_ssi_int_clear(
SSI0_BASE, SSI_RXOR | SSI_RXTO);
133 ti_lib_rom_ssi_config_set_exp_clk(
SSI0_BASE, ti_lib_sys_ctrl_clock_get(),
135 SSI_MODE_MASTER, bit_rate, 8);
136 ti_lib_rom_ioc_pin_type_ssi_master(
SSI0_BASE, BOARD_IOID_SPI_MISO,
141 while(ti_lib_ssi_data_get_non_blocking(
SSI0_BASE, &buf));
148 ti_lib_rom_prcm_peripheral_run_disable(PRCM_PERIPH_SSI0);
149 ti_lib_prcm_load_set();
150 while(!ti_lib_prcm_load_get());
153 ti_lib_ioc_pin_type_gpio_input(BOARD_IOID_SPI_MISO);
154 ti_lib_ioc_io_port_pull_set(BOARD_IOID_SPI_MISO, IOC_IOPULL_DOWN);
159 ti_lib_ioc_pin_type_gpio_input(BOARD_IOID_SPI_CLK_FLASH);
160 ti_lib_ioc_io_port_pull_set(BOARD_IOID_SPI_CLK_FLASH, IOC_IOPULL_DOWN);
Header file with macros which rename TI CC26xxware functions.
Header file for the Sensortag/LaunchPad SPI Driver.
#define SSI0_BASE
Base address for SSI0.
void board_spi_close()
Close the SPI interface.
bool board_spi_write(const uint8_t *buf, size_t len)
Write to an SPI device.
bool board_spi_read(uint8_t *buf, size_t len)
Read from an SPI device.
void board_spi_open(uint32_t bit_rate, uint32_t clk_pin)
Initialize the SPI interface.
void board_spi_flush()
Clear data from the SPI interface.
#define BOARD_IOID_SPI_MOSI
SPI IOID mappings.