Hi Rob
Thank you for your feedback
Do you mean "on this sample" ? or in general ? Indeed this sample is definitely for sound, so type is very clear without property. But in general, for example HDMI, it want to know port type. Anyway, I can remove above "type" from this new sound driver.
For HDMI, the port number should dictate which one is video and which is audio.
Hmm.. I will consider about that.
ports { compatible = "asoc-simple-graph-card";
I think your problems start with trying to extend simple-card. This binding is anything but simple. I think using OF graph is a good idea, but trying to make it completely generic is not.
Current ALSA SoC basically needs CPU/Codec/Card drivers. If we use this new simple sound card, DT needs only CPU/Codec. Card part will be created from CPU by using compatible = "xxx" (= Card driver itself is needed, but no DT)
This "Card" part is related to its whole sound system. If you want to use normal sound system, it will be "simple-card", if you want to use feature sound system, it will be "xxxx-card". This time, I'm focusing to simple one, someone will create xxxx-card, but it is not me :)
port@0 { simple-audio-card,format = "left_j"; simple-audio-card,bitclock-master = <&rcar_ak4613_port>; simple-audio-card,frame-master = <&rcar_ak4613_port>;
These look like properties of the ak4613 to me, so put them in the ak4613 node. If they are standard property names, then you just walk the graph and get them.
These were "Card" part property, not ak4613 property. It indicates which can be master (CPU or Codec) on sound system.
type = "sound"; rcar_ak4613_port: endpoint { remote-endpoint = <&ak4613_port>; playback = <&ssi0 &src0 &dvc0>; capture = <&ssi1 &src1 &dvc1>;
Not really sure how you are using these to comment.
I'm sorry, maybe your confusing is because this sample. This playback/capture are Renesas CPU specific properties. Renesas CPU port needs to know CPU-inside connection.
port@1 { simple-audio-card,format = "i2s"; simple-audio-card,bitclock-master = <&rcar_hdmi0_port>; simple-audio-card,frame-master = <&rcar_hdmi0_port>; type = "sound"; rcar_hdmi0_port: endpoint { remote-endpoint = <&du_out_hdmi_snd0>; playback = <&ssi2>;
If you are trying to describe a connection between hdmi_snd0 and ssi2, then do just that. Add a port to ssi2 and connect it to hdmi_snd0.
I'm sorry, same comment. This "playback" is Renesas CPU specific property. It indicating Renesas CPU inside connection