Lines Matching full:i2s
3 // Loongson I2S controller master mode dirver(platform device)
116 struct loongson_i2s *i2s; in loongson_i2s_plat_probe() local
121 i2s = devm_kzalloc(dev, sizeof(*i2s), GFP_KERNEL); in loongson_i2s_plat_probe()
122 if (!i2s) in loongson_i2s_plat_probe()
130 i2s->reg_base = devm_ioremap_resource(&pdev->dev, res); in loongson_i2s_plat_probe()
131 if (IS_ERR(i2s->reg_base)) in loongson_i2s_plat_probe()
132 return dev_err_probe(dev, PTR_ERR(i2s->reg_base), in loongson_i2s_plat_probe()
135 i2s->regmap = devm_regmap_init_mmio(dev, i2s->reg_base, in loongson_i2s_plat_probe()
137 if (IS_ERR(i2s->regmap)) in loongson_i2s_plat_probe()
138 return dev_err_probe(dev, PTR_ERR(i2s->regmap), in loongson_i2s_plat_probe()
141 i2s->playback_dma_data.addr = res->start + LS_I2S_TX_DATA; in loongson_i2s_plat_probe()
142 i2s->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; in loongson_i2s_plat_probe()
143 i2s->playback_dma_data.maxburst = 4; in loongson_i2s_plat_probe()
145 i2s->capture_dma_data.addr = res->start + LS_I2S_RX_DATA; in loongson_i2s_plat_probe()
146 i2s->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; in loongson_i2s_plat_probe()
147 i2s->capture_dma_data.maxburst = 4; in loongson_i2s_plat_probe()
152 i2s->clk_rate = clk_get_rate(i2s_clk); in loongson_i2s_plat_probe()
156 dev_set_drvdata(dev, i2s); in loongson_i2s_plat_probe()
168 { .compatible = "loongson,ls2k1000-i2s" },
176 .name = "loongson-i2s-plat",
183 MODULE_DESCRIPTION("Loongson I2S Master Mode ASoC Driver");