Hi John

> On Mon, Jun 12, 2017 at 3:10 PM, Mark Brown <[email protected]> wrote:
> > On Mon, Jun 12, 2017 at 01:52:46PM -0700, John Stultz wrote:
> >
> >> +     sound {
> >> +             compatible = "simple-audio-card";
> >> +             simple-audio-card,name = "hikey-hdmi";
> >
> > Now the graph card has been merged it's probably a good idea to be using
> > that, it's generally a better idea for pretty much all use cases.
> 
> I've taken a shot today trying to convert over to the audio-graph-card
> method (which isn't yet upstream, but in -next), but I've been running
> into some quirks.
> 
> Part of the issue is the adv7533 bridge already has a endpoint port
> entry for the dsi output. So when I add the codec_endpoint port, it
> wants the two port entries to be enumerated, so I get something like:
> 
> port@0 {
>     adv7533_in: endpoint {
>         remote-endpoint = <&dsi_out0>;
>     };
> };
> port@1 {
>     codec_endpoint: endpoint {
>         remote-endpoint = <&i2s0_cpu_endpoint>;
>     };
> };
> 
> But this causes it to try to link to hdmi-hifi.1 (which doesn't exist)
> instead of hdmi-hifi.0.
> 
> If I instead swap the entries, so the codec_endpoint is first on port
> 0, then the the audio link is properly setup, but the dsi
> initialization falls over.

I think you want to exchange port@1 as ID=0 for ALSA SoC ?
If so, we already has .of_xlate_dai_id callback for this purpose.

Does below help your issue ?

        commit 73b17f1a65c881fcf97109d77056006da2d40152
        commit a180e8b988437b3e84a1b501ac4d073467602ca6

Samplle codes are

        linux/sound/soc/codecs/hdmi-codec.c :: hdmi_of_xlate_dai_id
        https://patchwork.kernel.org/patch/9732285/ (I posted, but not yet 
applied)

Best regards
---
Kuninori Morimoto

Reply via email to