Home
last modified time | relevance | path

Searched refs:i2c_module (Results 1 – 12 of 12) sorted by relevance

/bsp/samd21/sam_d2x_asflib/sam0/drivers/i2c/
A Di2c_common.h306 static inline void i2c_wait_for_idle(I2c *const i2c_module) in i2c_wait_for_idle() argument
308 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() argument
324 i2c_wait_for_idle(i2c_module); in i2c_enable()
337 static inline void i2c_disable(I2c *const i2c_module) in i2c_disable() argument
339 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 …]
A Di2c_master.c97 I2c *const i2c_module = (module->hw); in _i2c_master_set_config() local
214 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() local
357 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 …]
A Di2c_master_interrupt.c64 I2c *const i2c_module = module->hw; in _i2c_master_read() local
87 I2c *const i2c_module = module->hw; in _i2c_master_write() local
178 I2c *const i2c_module = module->hw; in _i2c_master_read_packet() local
186 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() local
300 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() local
405 i2c_module->TX_INTERRUPT_MASK.reg = 0; in _i2c_master_isr_handler()
[all …]
A Di2c_slave.c103 I2c *const i2c_module = (module->hw); in _i2c_slave_set_config() local
213 I2c *const i2c_module = (module->hw); in i2c_slave_read_packet_wait() local
223 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() local
262 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 …]
A Di2c_slave_interrupt.c64 I2c *const i2c_module = module->hw; in _i2c_slave_read() local
67 *(module->buffer++) = i2c_module->RECEIVE_DATA.reg; in _i2c_slave_read()
86 I2c *const i2c_module = module->hw; in _i2c_slave_write() local
173 I2c *const i2c_module = module->hw; in i2c_slave_read_packet_job() local
187 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() local
230 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() local
278 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 …]
/bsp/samd21/sam_d2x_asflib/sam0/drivers/sercom/i2c/i2c_samd20/
A Di2c_master.c82 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_master_set_config() local
139 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() local
278 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 …]
A Di2c_master_interrupt.c62 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_master_read() local
72 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() local
265 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 …]
A Di2c_slave.c264 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_slave_wait_for_bus() local
268 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()
/bsp/samd21/sam_d2x_asflib/sam0/drivers/sercom/i2c/i2c_sam0/
A Di2c_master_interrupt.c73 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 …]
A Di2c_master.c95 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_master_set_config() local
170 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 …]
A Di2c_slave.c297 SercomI2cm *const i2c_module = &(module->hw->I2CM); in _i2c_slave_wait_for_bus() local
301 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()
/bsp/samd21/sam_d2x_asflib/sam0/drivers/sercom/i2c/
A Di2c_master.h488 SercomI2cm *const i2c_module = &(module->hw->I2CM); in i2c_master_enable() local
497 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() local
540 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