[Letux-kernel] jz4730 sound

H. Nikolaus Schaller hns at goldelico.com
Sat Jan 23 18:22:46 CET 2021

Hi Paul,
I have found some issues in the device tree and
the i2s node wasn't complete at all.

Hence I have checked with jz4740 and the i2s controllers
are quite similar. On a first scan of the documentation
there are only minor differences in 24 bit capabilites.
And some status registers may have additional bits.

So it is likely to get it run.

But it needs DMA...
And I2C to access the external sound chip...

Maybe it is also easier to test DMA for this subsystem
than for MMC which is necessary for boot.

Anyways, attached is a proposal where I think the compatible,
the ref and the interrupt and dma channel numbers are correct.

What do you think how to correctly set up the jz4730 clocks?

Best regards,

	i2s: i2s at 10020000 {
		compatible = "ingenic,jz4730-i2s";
		reg = <0x10020000 0x38>;

		#sound-dai-cells = <0>;

		interrupt-parent = <&intc>;
		interrupts = <20>;

		clocks = <&cgu JZ4740_CLK_AIC>,
			 <&cgu JZ4740_CLK_I2S>,
			 <&cgu JZ4740_CLK_EXT>,
			 <&cgu JZ4740_CLK_PLL_HALF>;
		clock-names = "aic", "i2s", "ext", "pll half";

		dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
		dma-names = "rx", "tx";

More information about the Letux-kernel mailing list