Hi Stephen
+sound {
- compatible = "simple-audio";
...
- simple-audio,codec,dai = <&ak4648 0>;
...
+sh_fsi2: sh_fsi2@0xec230000 {
- compatible = "renesas,sh_fsi2";
- reg = <0xec230000 0x400>;
- interrupt-parent = <&gic>;
- interrupts = <0 146 0x4>;
+};
Note that the DT binding documentation for renesas,sh_fsi2 needs to define:
a) The value of the #sound-dai-cells property that's missing from the sh_fsi2 node.
b) The legal values for the "0" in the "simple-audio,codec,dai" property in the "sound" node above, and which DAI on the device each value represents.
Sorry, I couldn't understand this. Do you mean like this ?
This example is assuming like this, and shows FSI-ak4642 sound
FSI port A -- ak4642 port B -- HDMI
sh_fsi2 has #sound-dai-cells, and ak4642 doesn't have it. Does this solved a) ?
Do you mean sh_fsi2 needs something like "port-a = xxx" settings for b) ??
sound { compatible = "simple-audio";
simple-audio,card-name = "FSI2A-AK4648"; simple-audio,format = "left_j"; simple-audio,cpu,dai = <&sh_fsi2 0>; simple-audio,codec,dai = <&ak4648>; simple-audio,codec,bitclock-master; simple-audio,codec,frame-master; simple-audio,codec,system-clock-frequency = <11289600>; };
&i2c0 { ak4648: ak4648@0x12 { compatible = "asahi-kasei,ak4648"; reg = <0x12>; }; };
sh_fsi2: sh_fsi2@0xec230000 { #sound-dai-cells = <2>; compatible = "renesas,sh_fsi2"; reg = <0xec230000 0x400>; interrupt-parent = <&gic>; interrupts = <0 146 0x4>; };
Best regards --- Kuninori Morimoto