Lines Matching refs:index
492 #define I2C_RA_IIC_INIT(index) \ argument
494 PINCTRL_DT_INST_DEFINE(index); \
496 static void i2c_ra_iic_irq_config_func##index(const struct device *dev) \
498 R_ICU->IELSR[DT_INST_IRQ_BY_NAME(index, rxi, irq)] = \
499 ELC_EVENT_IIC_RXI(DT_INST_PROP(index, channel)); \
500 R_ICU->IELSR[DT_INST_IRQ_BY_NAME(index, txi, irq)] = \
501 ELC_EVENT_IIC_TXI(DT_INST_PROP(index, channel)); \
502 R_ICU->IELSR[DT_INST_IRQ_BY_NAME(index, tei, irq)] = \
503 ELC_EVENT_IIC_TEI(DT_INST_PROP(index, channel)); \
504 R_ICU->IELSR[DT_INST_IRQ_BY_NAME(index, eri, irq)] = \
505 ELC_EVENT_IIC_ERI(DT_INST_PROP(index, channel)); \
507 IRQ_CONNECT(DT_INST_IRQ_BY_NAME(index, rxi, irq), \
508 DT_INST_IRQ_BY_NAME(index, rxi, priority), iic_master_rxi_isr, \
509 DEVICE_DT_INST_GET(index), 0); \
510 IRQ_CONNECT(DT_INST_IRQ_BY_NAME(index, txi, irq), \
511 DT_INST_IRQ_BY_NAME(index, txi, priority), iic_master_txi_isr, \
512 DEVICE_DT_INST_GET(index), 0); \
513 IRQ_CONNECT(DT_INST_IRQ_BY_NAME(index, tei, irq), \
514 DT_INST_IRQ_BY_NAME(index, tei, priority), iic_master_tei_isr, \
515 DEVICE_DT_INST_GET(index), 0); \
516 IRQ_CONNECT(DT_INST_IRQ_BY_NAME(index, eri, irq), \
517 DT_INST_IRQ_BY_NAME(index, eri, priority), iic_master_eri_isr, \
518 DEVICE_DT_INST_GET(index), 0); \
520 irq_enable(DT_INST_IRQ_BY_NAME(index, rxi, irq)); \
521 irq_enable(DT_INST_IRQ_BY_NAME(index, txi, irq)); \
522 irq_enable(DT_INST_IRQ_BY_NAME(index, tei, irq)); \
523 irq_enable(DT_INST_IRQ_BY_NAME(index, eri, irq)); \
526 static const struct i2c_ra_iic_config i2c_ra_iic_config_##index = { \
527 .pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(index), \
528 .irq_config_func = i2c_ra_iic_irq_config_func##index, \
530 .rise_time_s = DT_INST_PROP(index, rise_time_ns) / RA_IIC_MASTER_DIV_TIME_NS, \
531 .fall_time_s = DT_INST_PROP(index, fall_time_ns) / RA_IIC_MASTER_DIV_TIME_NS, \
532 .duty_cycle_percent = DT_INST_PROP(index, duty_cycle_percent), \
535 static struct i2c_ra_iic_data i2c_ra_iic_data_##index = { \
538 .channel = DT_INST_PROP(index, channel), \
540 .rate = DT_INST_PROP(index, clock_frequency), \
542 .ipl = DT_INST_PROP(index, interrupt_priority_level), \
543 .rxi_irq = DT_INST_IRQ_BY_NAME(index, rxi, irq), \
544 .txi_irq = DT_INST_IRQ_BY_NAME(index, txi, irq), \
545 .tei_irq = DT_INST_IRQ_BY_NAME(index, tei, irq), \
546 .eri_irq = DT_INST_IRQ_BY_NAME(index, eri, irq), \
548 .p_context = DEVICE_DT_GET(DT_DRV_INST(index)), \
552 I2C_DEVICE_DT_INST_DEFINE(index, i2c_ra_iic_init, NULL, &i2c_ra_iic_data_##index, \
553 &i2c_ra_iic_config_##index, POST_KERNEL, \