Lines Matching refs:i2c_periph
55 void i2c_deinit(uint32_t i2c_periph) in i2c_deinit() argument
57 switch(i2c_periph){ in i2c_deinit()
85 void i2c_clock_config(uint32_t i2c_periph, uint32_t clkspeed, uint32_t dutycyc) in i2c_clock_config() argument
96 temp = I2C_CTL1(i2c_periph); in i2c_clock_config()
100 I2C_CTL1(i2c_periph) = temp; in i2c_clock_config()
106 I2C_RT(i2c_periph) = I2CCLK_MAX; in i2c_clock_config()
108 I2C_RT(i2c_periph) = I2CCLK_MIN; in i2c_clock_config()
110 I2C_RT(i2c_periph) = risetime; in i2c_clock_config()
118 I2C_CKCFG(i2c_periph) |= (I2C_CKCFG_CLKC & clkc); in i2c_clock_config()
121 I2C_RT(i2c_periph) = (uint32_t)(((freq * (uint32_t)300U) / (uint32_t)1000U) + (uint32_t)1U); in i2c_clock_config()
125 I2C_CKCFG(i2c_periph) &= ~I2C_CKCFG_DTCY; in i2c_clock_config()
129 I2C_CKCFG(i2c_periph) |= I2C_CKCFG_DTCY; in i2c_clock_config()
135 I2C_CKCFG(i2c_periph) |= I2C_CKCFG_FAST; in i2c_clock_config()
136 I2C_CKCFG(i2c_periph) |= clkc; in i2c_clock_config()
139 I2C_RT(i2c_periph) = (uint32_t)(((freq*(uint32_t)120U)/(uint32_t)1000U)+(uint32_t)1U); in i2c_clock_config()
143 I2C_CKCFG(i2c_periph) &= ~I2C_CKCFG_DTCY; in i2c_clock_config()
147 I2C_CKCFG(i2c_periph) |= I2C_CKCFG_DTCY; in i2c_clock_config()
150 I2C_CKCFG(i2c_periph) |= I2C_CKCFG_FAST; in i2c_clock_config()
151 I2C_CKCFG(i2c_periph) |= clkc; in i2c_clock_config()
153 I2C_FMPCFG(i2c_periph) = I2C_FMPCFG_FMPEN; in i2c_clock_config()
172 void i2c_mode_addr_config(uint32_t i2c_periph, uint32_t mode, uint32_t addformat, uint32_t addr) in i2c_mode_addr_config() argument
177 ctl = I2C_CTL0(i2c_periph); in i2c_mode_addr_config()
180 I2C_CTL0(i2c_periph) = ctl; in i2c_mode_addr_config()
183 I2C_SADDR0(i2c_periph) = (addformat | addr); in i2c_mode_addr_config()
196 void i2c_smbus_type_config(uint32_t i2c_periph, uint32_t type) in i2c_smbus_type_config() argument
199 I2C_CTL0(i2c_periph) |= I2C_CTL0_SMBSEL; in i2c_smbus_type_config()
201 I2C_CTL0(i2c_periph) &= ~(I2C_CTL0_SMBSEL); in i2c_smbus_type_config()
215 void i2c_ack_config(uint32_t i2c_periph, uint32_t ack) in i2c_ack_config() argument
219 ctl = I2C_CTL0(i2c_periph); in i2c_ack_config()
222 I2C_CTL0(i2c_periph) = ctl; in i2c_ack_config()
235 void i2c_ackpos_config(uint32_t i2c_periph, uint32_t pos) in i2c_ackpos_config() argument
240 ctl = I2C_CTL0(i2c_periph); in i2c_ackpos_config()
243 I2C_CTL0(i2c_periph) = ctl; in i2c_ackpos_config()
257 void i2c_master_addressing(uint32_t i2c_periph, uint32_t addr, uint32_t trandirection) in i2c_master_addressing() argument
266 I2C_DATA(i2c_periph) = addr; in i2c_master_addressing()
276 void i2c_dualaddr_enable(uint32_t i2c_periph, uint32_t addr) in i2c_dualaddr_enable() argument
280 I2C_SADDR1(i2c_periph) = (I2C_SADDR1_DUADEN | addr); in i2c_dualaddr_enable()
289 void i2c_dualaddr_disable(uint32_t i2c_periph) in i2c_dualaddr_disable() argument
291 I2C_SADDR1(i2c_periph) &= ~(I2C_SADDR1_DUADEN); in i2c_dualaddr_disable()
300 void i2c_enable(uint32_t i2c_periph) in i2c_enable() argument
302 I2C_CTL0(i2c_periph) |= I2C_CTL0_I2CEN; in i2c_enable()
311 void i2c_disable(uint32_t i2c_periph) in i2c_disable() argument
313 I2C_CTL0(i2c_periph) &= ~(I2C_CTL0_I2CEN); in i2c_disable()
322 void i2c_start_on_bus(uint32_t i2c_periph) in i2c_start_on_bus() argument
324 I2C_CTL0(i2c_periph) |= I2C_CTL0_START; in i2c_start_on_bus()
333 void i2c_stop_on_bus(uint32_t i2c_periph) in i2c_stop_on_bus() argument
335 I2C_CTL0(i2c_periph) |= I2C_CTL0_STOP; in i2c_stop_on_bus()
345 void i2c_data_transmit(uint32_t i2c_periph, uint8_t data) in i2c_data_transmit() argument
347 I2C_DATA(i2c_periph) = DATA_TRANS(data); in i2c_data_transmit()
356 uint8_t i2c_data_receive(uint32_t i2c_periph) in i2c_data_receive() argument
358 return (uint8_t)DATA_RECV(I2C_DATA(i2c_periph)); in i2c_data_receive()
371 void i2c_dma_config(uint32_t i2c_periph, uint32_t dmastate) in i2c_dma_config() argument
376 ctl = I2C_CTL1(i2c_periph); in i2c_dma_config()
379 I2C_CTL1(i2c_periph) = ctl; in i2c_dma_config()
392 void i2c_dma_last_transfer_config(uint32_t i2c_periph, uint32_t dmalast) in i2c_dma_last_transfer_config() argument
397 ctl = I2C_CTL1(i2c_periph); in i2c_dma_last_transfer_config()
400 I2C_CTL1(i2c_periph) = ctl; in i2c_dma_last_transfer_config()
413 void i2c_stretch_scl_low_config(uint32_t i2c_periph, uint32_t stretchpara) in i2c_stretch_scl_low_config() argument
418 ctl = I2C_CTL0(i2c_periph); in i2c_stretch_scl_low_config()
421 I2C_CTL0(i2c_periph) = ctl; in i2c_stretch_scl_low_config()
434 void i2c_slave_response_to_gcall_config(uint32_t i2c_periph, uint32_t gcallpara) in i2c_slave_response_to_gcall_config() argument
439 ctl = I2C_CTL0(i2c_periph); in i2c_slave_response_to_gcall_config()
442 I2C_CTL0(i2c_periph) = ctl; in i2c_slave_response_to_gcall_config()
455 void i2c_software_reset_config(uint32_t i2c_periph, uint32_t sreset) in i2c_software_reset_config() argument
460 ctl = I2C_CTL0(i2c_periph); in i2c_software_reset_config()
463 I2C_CTL0(i2c_periph) = ctl; in i2c_software_reset_config()
476 void i2c_pec_config(uint32_t i2c_periph, uint32_t pecstate) in i2c_pec_config() argument
481 ctl = I2C_CTL0(i2c_periph); in i2c_pec_config()
484 I2C_CTL0(i2c_periph) = ctl; in i2c_pec_config()
497 void i2c_pec_transfer_config(uint32_t i2c_periph, uint32_t pecpara) in i2c_pec_transfer_config() argument
502 ctl = I2C_CTL0(i2c_periph); in i2c_pec_transfer_config()
505 I2C_CTL0(i2c_periph) = ctl; in i2c_pec_transfer_config()
514 uint8_t i2c_pec_value_get(uint32_t i2c_periph) in i2c_pec_value_get() argument
516 return (uint8_t)((I2C_STAT1(i2c_periph) & I2C_STAT1_PECV) >> STAT1_PECV_OFFSET); in i2c_pec_value_get()
529 void i2c_smbus_alert_config(uint32_t i2c_periph, uint32_t smbuspara) in i2c_smbus_alert_config() argument
534 ctl = I2C_CTL0(i2c_periph); in i2c_smbus_alert_config()
537 I2C_CTL0(i2c_periph) = ctl; in i2c_smbus_alert_config()
550 void i2c_smbus_arp_config(uint32_t i2c_periph, uint32_t arpstate) in i2c_smbus_arp_config() argument
555 ctl = I2C_CTL0(i2c_periph); in i2c_smbus_arp_config()
558 I2C_CTL0(i2c_periph) = ctl; in i2c_smbus_arp_config()
567 void i2c_sam_enable(uint32_t i2c_periph) in i2c_sam_enable() argument
569 I2C_SAMCS(i2c_periph) |= I2C_SAMCS_SAMEN; in i2c_sam_enable()
578 void i2c_sam_disable(uint32_t i2c_periph) in i2c_sam_disable() argument
580 I2C_SAMCS(i2c_periph) &= ~(I2C_SAMCS_SAMEN); in i2c_sam_disable()
589 void i2c_sam_timeout_enable(uint32_t i2c_periph) in i2c_sam_timeout_enable() argument
591 I2C_SAMCS(i2c_periph) |= I2C_SAMCS_STOEN; in i2c_sam_timeout_enable()
600 void i2c_sam_timeout_disable(uint32_t i2c_periph) in i2c_sam_timeout_disable() argument
602 I2C_SAMCS(i2c_periph) &= ~(I2C_SAMCS_STOEN); in i2c_sam_timeout_disable()
638 FlagStatus i2c_flag_get(uint32_t i2c_periph, i2c_flag_enum flag) in i2c_flag_get() argument
640 if(RESET != (I2C_REG_VAL(i2c_periph, flag) & BIT(I2C_BIT_POS(flag)))){ in i2c_flag_get()
667 void i2c_flag_clear(uint32_t i2c_periph, i2c_flag_enum flag) in i2c_flag_clear() argument
671 I2C_STAT0(i2c_periph); in i2c_flag_clear()
672 I2C_STAT1(i2c_periph); in i2c_flag_clear()
674 I2C_REG_VAL(i2c_periph, flag) &= ~BIT(I2C_BIT_POS(flag)); in i2c_flag_clear()
693 void i2c_interrupt_enable(uint32_t i2c_periph, i2c_interrupt_enum interrupt) in i2c_interrupt_enable() argument
695 I2C_REG_VAL(i2c_periph, interrupt) |= BIT(I2C_BIT_POS(interrupt)); in i2c_interrupt_enable()
713 void i2c_interrupt_disable(uint32_t i2c_periph, i2c_interrupt_enum interrupt) in i2c_interrupt_disable() argument
715 I2C_REG_VAL(i2c_periph, interrupt) &= ~BIT(I2C_BIT_POS(interrupt)); in i2c_interrupt_disable()
744 FlagStatus i2c_interrupt_flag_get(uint32_t i2c_periph, i2c_interrupt_flag_enum int_flag) in i2c_interrupt_flag_get() argument
749 bufie = I2C_CTL1(i2c_periph)&I2C_CTL1_BUFIE; in i2c_interrupt_flag_get()
752 intenable = (I2C_REG_VAL(i2c_periph, int_flag) & BIT(I2C_BIT_POS(int_flag))); in i2c_interrupt_flag_get()
754 flagstatus = (I2C_REG_VAL2(i2c_periph, int_flag) & BIT(I2C_BIT_POS2(int_flag))); in i2c_interrupt_flag_get()
790 void i2c_interrupt_flag_clear(uint32_t i2c_periph, i2c_interrupt_flag_enum int_flag) in i2c_interrupt_flag_clear() argument
794 I2C_STAT0(i2c_periph); in i2c_interrupt_flag_clear()
795 I2C_STAT1(i2c_periph); in i2c_interrupt_flag_clear()
797 I2C_REG_VAL2(i2c_periph, int_flag) &= ~BIT(I2C_BIT_POS2(int_flag)); in i2c_interrupt_flag_clear()