Lines Matching refs:i2s_id
1171 #define I2S_MCUX_INIT(i2s_id) \ argument
1172 static void i2s_irq_connect_##i2s_id(const struct device *dev); \
1174 PINCTRL_DT_INST_DEFINE(i2s_id); \
1176 static const struct i2s_mcux_config i2s_##i2s_id##_config = { \
1177 .base = (I2S_Type *)DT_INST_REG_ADDR(i2s_id), \
1178 .clk_src = DT_INST_PROP(i2s_id, clock_mux), \
1179 .clk_pre_div = DT_INST_PROP(i2s_id, pre_div), \
1180 .clk_src_div = DT_INST_PROP(i2s_id, podf), \
1181 .pll_src = DT_PHA_BY_NAME(DT_DRV_INST(i2s_id), pll_clocks, src, value), \
1182 .pll_lp = DT_PHA_BY_NAME(DT_DRV_INST(i2s_id), pll_clocks, lp, value), \
1183 .pll_pd = DT_PHA_BY_NAME(DT_DRV_INST(i2s_id), pll_clocks, pd, value), \
1184 .pll_num = DT_PHA_BY_NAME(DT_DRV_INST(i2s_id), pll_clocks, num, value), \
1185 .pll_den = DT_PHA_BY_NAME(DT_DRV_INST(i2s_id), pll_clocks, den, value), \
1187 (uint32_t *)DT_REG_ADDR(DT_PHANDLE(DT_DRV_INST(i2s_id), pinmuxes)), \
1188 .mclk_pin_mask = DT_PHA_BY_IDX(DT_DRV_INST(i2s_id), pinmuxes, 0, function), \
1189 .mclk_pin_offset = DT_PHA_BY_IDX(DT_DRV_INST(i2s_id), pinmuxes, 0, pin), \
1191 (clock_control_subsys_t)DT_INST_CLOCKS_CELL_BY_IDX(i2s_id, 0, name), \
1192 .ccm_dev = DEVICE_DT_GET(DT_INST_CLOCKS_CTLR(i2s_id)), \
1193 .irq_connect = i2s_irq_connect_##i2s_id, \
1194 .pinctrl = PINCTRL_DT_INST_DEV_CONFIG_GET(i2s_id), \
1195 .tx_sync_mode = DT_INST_PROP(i2s_id, nxp_tx_sync_mode), \
1196 .rx_sync_mode = DT_INST_PROP(i2s_id, nxp_rx_sync_mode), \
1197 .tx_channel = DT_INST_PROP(i2s_id, nxp_tx_channel), \
1200 static struct i2s_dev_data i2s_##i2s_id##_data = { \
1201 .dev_dma = DEVICE_DT_GET(DT_INST_DMAS_CTLR_BY_NAME(i2s_id, rx)), \
1204 .dma_channel = DT_INST_PROP(i2s_id, nxp_tx_dma_channel), \
1213 .head_block = &i2s_##i2s_id##_data.tx.dma_block, \
1215 .dma_slot = DT_INST_DMAS_CELL_BY_NAME(i2s_id, tx, \
1222 .dma_channel = DT_INST_PROP(i2s_id, nxp_rx_dma_channel), \
1231 .head_block = &i2s_##i2s_id##_data.rx.dma_block, \
1233 .dma_slot = DT_INST_DMAS_CELL_BY_NAME(i2s_id, rx, \
1240 DEVICE_DT_INST_DEFINE(i2s_id, &i2s_mcux_initialize, NULL, &i2s_##i2s_id##_data, \
1241 &i2s_##i2s_id##_config, POST_KERNEL, CONFIG_I2S_INIT_PRIORITY, \
1244 static void i2s_irq_connect_##i2s_id(const struct device *dev) \
1246 IRQ_CONNECT(DT_INST_IRQ_BY_IDX(i2s_id, 0, irq), \
1247 DT_INST_IRQ_BY_IDX(i2s_id, 0, priority), i2s_mcux_isr, \
1248 DEVICE_DT_INST_GET(i2s_id), 0); \
1249 irq_enable(DT_INST_IRQN(i2s_id)); \