4949
5050#define I2C_SLAVE_USE_RX_QUEUE 0 // 1: Queue, 0: RingBuffer
5151
52- #if SOC_I2C_NUM > 1
52+ #if SOC_HP_I2C_NUM > 1
5353#define I2C_SCL_IDX (p ) ((p == 0) ? I2CEXT0_SCL_OUT_IDX : ((p == 1) ? I2CEXT1_SCL_OUT_IDX : 0))
5454#define I2C_SDA_IDX (p ) ((p == 0) ? I2CEXT0_SDA_OUT_IDX : ((p == 1) ? I2CEXT1_SDA_OUT_IDX : 0))
5555#else
@@ -99,14 +99,14 @@ typedef union {
9999 uint32_t val ;
100100} i2c_slave_queue_event_t ;
101101
102- static i2c_slave_struct_t _i2c_bus_array [SOC_I2C_NUM ] = {
102+ static i2c_slave_struct_t _i2c_bus_array [SOC_HP_I2C_NUM ] = {
103103 {& I2C0 , 0 , -1 , -1 , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , 0
104104#if !CONFIG_DISABLE_HAL_LOCKS
105105 ,
106106 NULL
107107#endif
108108 },
109- #if SOC_I2C_NUM > 1
109+ #if SOC_HP_I2C_NUM > 1
110110 {& I2C1 , 1 , -1 , -1 , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , 0
111111#if !CONFIG_DISABLE_HAL_LOCKS
112112 ,
@@ -210,7 +210,7 @@ static bool i2cSlaveDetachBus(void *bus_i2c_num);
210210//=====================================================================================================================
211211
212212esp_err_t i2cSlaveAttachCallbacks (uint8_t num , i2c_slave_request_cb_t request_callback , i2c_slave_receive_cb_t receive_callback , void * arg ) {
213- if (num >= SOC_I2C_NUM ) {
213+ if (num >= SOC_HP_I2C_NUM ) {
214214 log_e ("Invalid port num: %u" , num );
215215 return ESP_ERR_INVALID_ARG ;
216216 }
@@ -224,7 +224,7 @@ esp_err_t i2cSlaveAttachCallbacks(uint8_t num, i2c_slave_request_cb_t request_ca
224224}
225225
226226esp_err_t i2cSlaveInit (uint8_t num , int sda , int scl , uint16_t slaveID , uint32_t frequency , size_t rx_len , size_t tx_len ) {
227- if (num >= SOC_I2C_NUM ) {
227+ if (num >= SOC_HP_I2C_NUM ) {
228228 log_e ("Invalid port num: %u" , num );
229229 return ESP_ERR_INVALID_ARG ;
230230 }
@@ -309,14 +309,14 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t
309309
310310 if (i2c -> num == 0 ) {
311311 periph_ll_enable_clk_clear_rst (PERIPH_I2C0_MODULE );
312- #if SOC_I2C_NUM > 1
312+ #if SOC_HP_I2C_NUM > 1
313313 } else {
314314 periph_ll_enable_clk_clear_rst (PERIPH_I2C1_MODULE );
315315#endif
316316 }
317317
318318 i2c_ll_slave_init (i2c -> dev );
319- i2c_ll_set_fifo_mode (i2c -> dev , true);
319+ i2c_ll_slave_set_fifo_mode (i2c -> dev , true);
320320 i2c_ll_set_slave_addr (i2c -> dev , slaveID , false);
321321 i2c_ll_set_tout (i2c -> dev , I2C_LL_MAX_TIMEOUT );
322322 i2c_slave_set_frequency (i2c , frequency );
@@ -337,13 +337,13 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t
337337
338338 i2c_ll_disable_intr_mask (i2c -> dev , I2C_LL_INTR_MASK );
339339 i2c_ll_clear_intr_mask (i2c -> dev , I2C_LL_INTR_MASK );
340- i2c_ll_set_fifo_mode (i2c -> dev , true);
340+ i2c_ll_slave_set_fifo_mode (i2c -> dev , true);
341341
342342 if (!i2c -> intr_handle ) {
343343 uint32_t flags = ESP_INTR_FLAG_LOWMED | ESP_INTR_FLAG_SHARED ;
344344 if (i2c -> num == 0 ) {
345345 ret = esp_intr_alloc (ETS_I2C_EXT0_INTR_SOURCE , flags , & i2c_slave_isr_handler , i2c , & i2c -> intr_handle );
346- #if SOC_I2C_NUM > 1
346+ #if SOC_HP_I2C_NUM > 1
347347 } else {
348348 ret = esp_intr_alloc (ETS_I2C_EXT1_INTR_SOURCE , flags , & i2c_slave_isr_handler , i2c , & i2c -> intr_handle );
349349#endif
@@ -375,7 +375,7 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t
375375}
376376
377377esp_err_t i2cSlaveDeinit (uint8_t num ) {
378- if (num >= SOC_I2C_NUM ) {
378+ if (num >= SOC_HP_I2C_NUM ) {
379379 log_e ("Invalid port num: %u" , num );
380380 return ESP_ERR_INVALID_ARG ;
381381 }
@@ -398,7 +398,7 @@ esp_err_t i2cSlaveDeinit(uint8_t num) {
398398}
399399
400400size_t i2cSlaveWrite (uint8_t num , const uint8_t * buf , uint32_t len , uint32_t timeout_ms ) {
401- if (num >= SOC_I2C_NUM ) {
401+ if (num >= SOC_HP_I2C_NUM ) {
402402 log_e ("Invalid port num: %u" , num );
403403 return 0 ;
404404 }
@@ -515,16 +515,16 @@ static bool i2c_slave_set_frequency(i2c_slave_struct_t *i2c, uint32_t clk_speed)
515515
516516 i2c_hal_clk_config_t clk_cal ;
517517#if SOC_I2C_SUPPORT_APB
518- i2c_ll_cal_bus_clk (APB_CLK_FREQ , clk_speed , & clk_cal );
518+ i2c_ll_master_cal_bus_clk (APB_CLK_FREQ , clk_speed , & clk_cal );
519519 i2c_ll_set_source_clk (i2c -> dev , SOC_MOD_CLK_APB ); /*!< I2C source clock from APB, 80M*/
520520#elif SOC_I2C_SUPPORT_XTAL
521- i2c_ll_cal_bus_clk (XTAL_CLK_FREQ , clk_speed , & clk_cal );
521+ i2c_ll_master_cal_bus_clk (XTAL_CLK_FREQ , clk_speed , & clk_cal );
522522 i2c_ll_set_source_clk (i2c -> dev , SOC_MOD_CLK_XTAL ); /*!< I2C source clock from XTAL, 40M */
523523#endif
524524 i2c_ll_set_txfifo_empty_thr (i2c -> dev , a );
525525 i2c_ll_set_rxfifo_full_thr (i2c -> dev , SOC_I2C_FIFO_LEN - a );
526- i2c_ll_set_bus_timing (i2c -> dev , & clk_cal );
527- i2c_ll_set_filter (i2c -> dev , 3 );
526+ i2c_ll_master_set_bus_timing (i2c -> dev , & clk_cal );
527+ i2c_ll_master_set_filter (i2c -> dev , 3 );
528528 return true;
529529}
530530
0 commit comments