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