Searched refs:i2c_module (Results 1 – 12 of 12) sorted by relevance
306 static inline void i2c_wait_for_idle(I2c *const i2c_module) in i2c_wait_for_idle() argument308 while (i2c_module->I2C_STATUS.bit.I2C_ACTIVE) { in i2c_wait_for_idle()321 static inline void i2c_enable(I2c *const i2c_module) in i2c_enable() argument324 i2c_wait_for_idle(i2c_module); in i2c_enable()337 static inline void i2c_disable(I2c *const i2c_module) in i2c_disable() argument339 i2c_wait_for_idle(i2c_module); in i2c_disable()340 i2c_module->I2C_MODULE_ENABLE.reg = 0; in i2c_disable()353 i2c_wait_for_idle(i2c_module); in i2c_slave_flush_fifo()354 i2c_module->I2C_FLUSH.reg = 1; in i2c_slave_flush_fifo()388 i2c_module->RX_INTERRUPT_MASK.bit.NAK_MASK = 1; in i2c_slave_tx_interrupt()[all …]
97 I2c *const i2c_module = (module->hw); in _i2c_master_set_config() local214 i2c_wait_for_idle(i2c_module); in _i2c_master_read_packet()217 i2c_module->I2C_FLUSH.reg = 1; in _i2c_master_read_packet()351 I2c *const i2c_module = (module->hw); in _i2c_master_write_packet() local357 i2c_wait_for_idle(i2c_module); in _i2c_master_write_packet()360 i2c_module->I2C_FLUSH.reg = 1; in _i2c_master_write_packet()496 i2c_wait_for_idle(i2c_module); in i2c_master_send_stop()517 i2c_wait_for_idle(i2c_module); in i2c_master_send_start()539 i2c_wait_for_idle(i2c_module); in i2c_master_read_byte()564 i2c_wait_for_idle(i2c_module); in i2c_master_write_address()[all …]
64 I2c *const i2c_module = module->hw; in _i2c_master_read() local87 I2c *const i2c_module = module->hw; in _i2c_master_write() local178 I2c *const i2c_module = module->hw; in _i2c_master_read_packet() local186 i2c_wait_for_idle(i2c_module); in _i2c_master_read_packet()188 i2c_module->I2C_FLUSH.reg = 1; in _i2c_master_read_packet()190 i2c_module->I2C_ONBUS.reg = I2C_ONBUS_ONBUS_ENABLE_1; in _i2c_master_read_packet()291 I2c *const i2c_module = module->hw; in _i2c_master_write_packet() local300 i2c_module->I2C_ONBUS.reg = I2C_ONBUS_ONBUS_ENABLE_1; in _i2c_master_write_packet()392 I2c *const i2c_module = module->hw; in _i2c_master_isr_handler() local405 i2c_module->TX_INTERRUPT_MASK.reg = 0; in _i2c_master_isr_handler()[all …]
103 I2c *const i2c_module = (module->hw); in _i2c_slave_set_config() local213 I2c *const i2c_module = (module->hw); in i2c_slave_read_packet_wait() local223 status = i2c_module->RECEIVE_STATUS.reg; in i2c_slave_read_packet_wait()225 packet->data[counter++] = i2c_module->RECEIVE_DATA.reg; in i2c_slave_read_packet_wait()230 status = i2c_module->TRANSMIT_STATUS.reg; in i2c_slave_read_packet_wait()253 I2c *const i2c_module = (module->hw); in i2c_slave_write_packet_wait() local262 i2c_wait_for_idle(i2c_module); in i2c_slave_write_packet_wait()265 i2c_module->I2C_FLUSH.reg = 1; in i2c_slave_write_packet_wait()268 status = i2c_module->TRANSMIT_STATUS.reg; in i2c_slave_write_packet_wait()270 i2c_module->TRANSMIT_DATA.reg = packet->data[i++]; in i2c_slave_write_packet_wait()[all …]
64 I2c *const i2c_module = module->hw; in _i2c_slave_read() local67 *(module->buffer++) = i2c_module->RECEIVE_DATA.reg; in _i2c_slave_read()86 I2c *const i2c_module = module->hw; in _i2c_slave_write() local173 I2c *const i2c_module = module->hw; in i2c_slave_read_packet_job() local187 i2c_slave_rx_interrupt(i2c_module, true); in i2c_slave_read_packet_job()217 I2c *const i2c_module = module->hw; in i2c_slave_write_packet_job() local230 i2c_slave_tx_interrupt(i2c_module, true); in i2c_slave_write_packet_job()248 I2c *const i2c_module = module->hw; in _i2c_slave_rx_isr_handler() local278 i2c_module->RX_INTERRUPT_MASK.bit.NAK_MASK = 0; in _i2c_slave_rx_isr_handler()299 I2c *const i2c_module = module->hw; in _i2c_slave_tx_isr_handler() local[all …]
82 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_master_set_config() local139 i2c_module->CTRLA.reg |= tmp_ctrla; in _i2c_master_set_config()142 i2c_module->CTRLB.reg = SERCOM_I2CM_CTRLB_SMEN; in _i2c_master_set_config()155 i2c_module->BAUD.reg = (uint8_t)tmp_baud; in _i2c_master_set_config()196 SercomI2cm *const i2c_module = &(module->hw->I2CM); in i2c_master_init() local278 i2c_module->CTRLA.reg = SERCOM_I2CM_CTRLA_SWRST; in i2c_master_reset()309 i2c_module->INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB; in _i2c_master_address_response()427 packet->data[counter++] = i2c_module->DATA.reg; in _i2c_master_read_packet()449 packet->data[counter] = i2c_module->DATA.reg; in _i2c_master_read_packet()846 *byte = i2c_module->DATA.reg; in i2c_master_read_byte()[all …]
62 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_master_read() local72 i2c_module->CTRLB.reg |= SERCOM_I2CM_CTRLB_ACKACT; in _i2c_master_read()76 i2c_module->CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(3); in _i2c_master_read()79 i2c_module->CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(1); in _i2c_master_read()103 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_master_write() local265 i2c_module->INTENSET.reg = in i2c_master_read_bytes()299 i2c_module->INTENSET.reg = in _i2c_master_read_packet()451 i2c_module->INTENSET.reg = in i2c_master_write_bytes()484 i2c_module->INTENSET.reg = in _i2c_master_write_packet()597 i2c_module->INTENCLR.reg = in _i2c_master_interrupt_handler()[all …]
264 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_slave_wait_for_bus() local268 while ((!(i2c_module->INTFLAG.reg & SERCOM_I2CS_INTFLAG_DRDY)) && in _i2c_slave_wait_for_bus()269 (!(i2c_module->INTFLAG.reg & SERCOM_I2CS_INTFLAG_PREC)) && in _i2c_slave_wait_for_bus()270 (!(i2c_module->INTFLAG.reg & SERCOM_I2CS_INTFLAG_AMATCH))) { in _i2c_slave_wait_for_bus()
73 bool sclsm_flag = i2c_module->CTRLA.bit.SCLSM; in _i2c_master_read()281 i2c_module->INTENSET.reg = in i2c_master_read_bytes()315 bool sclsm_flag = i2c_module->CTRLA.bit.SCLSM; in _i2c_master_read_packet()334 i2c_module->ADDR.reg = (packet->address << 1) | in _i2c_master_read_packet()352 i2c_module->INTENSET.reg = in _i2c_master_read_packet()367 i2c_module->INTENSET.reg = in _i2c_master_read_packet()521 i2c_module->INTENSET.reg = in i2c_master_write_bytes()562 i2c_module->INTENSET.reg = in _i2c_master_write_packet()667 bool sclsm_flag = i2c_module->CTRLA.bit.SCLSM; in _i2c_master_interrupt_handler()683 i2c_module->INTENCLR.reg = in _i2c_master_interrupt_handler()[all …]
95 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_master_set_config() local170 i2c_module->CTRLA.reg |= tmp_ctrla; in _i2c_master_set_config()173 i2c_module->CTRLB.reg = SERCOM_I2CM_CTRLB_SMEN; in _i2c_master_set_config()355 i2c_module->CTRLA.reg = SERCOM_I2CM_CTRLA_SWRST; in i2c_master_reset()386 i2c_module->INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB; in _i2c_master_address_response()460 i2c_module->ADDR.reg = hs_master_code; in _i2c_master_send_hs_master_code()505 bool sclsm_flag = i2c_module->CTRLA.bit.SCLSM; in _i2c_master_read_packet()521 i2c_module->ADDR.reg = (packet->address << 1) | in _i2c_master_read_packet()604 packet->data[counter] = i2c_module->DATA.reg; in _i2c_master_read_packet()1015 *byte = i2c_module->DATA.reg; in i2c_master_read_byte()[all …]
297 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_slave_wait_for_bus() local301 while ((!(i2c_module->INTFLAG.reg & SERCOM_I2CS_INTFLAG_DRDY)) && in _i2c_slave_wait_for_bus()302 (!(i2c_module->INTFLAG.reg & SERCOM_I2CS_INTFLAG_PREC)) && in _i2c_slave_wait_for_bus()303 (!(i2c_module->INTFLAG.reg & SERCOM_I2CS_INTFLAG_AMATCH))) { in _i2c_slave_wait_for_bus()
488 SercomI2cm *const i2c_module = &(module->hw->I2CM); in i2c_master_enable() local497 i2c_module->CTRLA.reg |= SERCOM_I2CM_CTRLA_ENABLE; in i2c_master_enable()504 while (!(i2c_module->STATUS.reg & SERCOM_I2CM_STATUS_BUSSTATE(1))) { in i2c_master_enable()508 i2c_module->STATUS.reg = SERCOM_I2CM_STATUS_BUSSTATE(1); in i2c_master_enable()529 SercomI2cm *const i2c_module = &(module->hw->I2CM); in i2c_master_disable() local540 i2c_module->INTENCLR.reg = SERCOM_I2CM_INTENCLR_MASK; in i2c_master_disable()542 i2c_module->INTFLAG.reg = SERCOM_I2CM_INTFLAG_MASK; in i2c_master_disable()545 i2c_module->CTRLA.reg &= ~SERCOM_I2CM_CTRLA_ENABLE; in i2c_master_disable()
Completed in 19 milliseconds