Message ID | 20140219105434.GA5738@luxor.wired.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 02/19/2014 12:54 PM, Paolo Pisati wrote: > On Wed, Feb 19, 2014 at 10:15:24AM +0200, Peter Ujfalusi wrote: >>> diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi >>> index 88c6a05..f4aeaa1 100644 >>> --- a/arch/arm/boot/dts/omap4-panda-common.dtsi >>> +++ b/arch/arm/boot/dts/omap4-panda-common.dtsi >>> @@ -36,9 +36,15 @@ >>> }; >>> }; >>> >>> + hdmi_audio: hdmi_audio@0 { >>> + compatible = "linux,hdmi-audio"; >>> + status = "okay"; >>> + }; >>> + >>> sound: sound { >>> compatible = "ti,abe-twl6040"; >>> ti,model = "PandaBoard"; >>> + ti,audio-codec = <&hdmi_audio>; >> >> I don't think this is going to work. The omap-abe-twl6040 machine driver only >> handles mcpdm and dmic right know. >> 'ti,audio-codec' is not even supported and it is kind of misleading naming in >> this context since twl6040 is also a codec, so why only the dummy-hdmi codec >> deserves to be called as codec. > > i see what you mean: i thought that hdmi_audio to actually work had to be > referenced inside the sound node (hence my inclusion there) but i was wrong and > it had nothing to do with twl6040, > would this one be ok for you? > > diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi > index 88c6a05..b6dd458 100644 > --- a/arch/arm/boot/dts/omap4-panda-common.dtsi > +++ b/arch/arm/boot/dts/omap4-panda-common.dtsi > @@ -36,6 +36,11 @@ > }; > }; > > + hdmi_audio: hdmi_audio@0 { > + compatible = "linux,hdmi-audio"; > + status = "okay"; > + }; > + > sound: sound { > compatible = "ti,abe-twl6040"; > ti,model = "PandaBoard"; > > >> Furthermore: we have the omap-hdmi-card machine driver to handle the HDMI >> audio. It lacks DT support AFAIK but should not be a big deal to add the bindings. >> To get the hdmi audio working you also need to have phandle for the omap-hdmi >> DAI, the codec alone is not enough. >> > > you mean sound/soc/omap/omap-hdmi-card.c? that's exactly what i'm trying to fix. > > With the above patch, plus: > > -CONFIG_DISPLAY_CONNECTOR_HDMI=m > +CONFIG_DISPLAY_CONNECTOR_HDMI=y > CONFIG_DISPLAY_ENCODER_TFP410=m > -CONFIG_DISPLAY_ENCODER_TPD12S015=m > +CONFIG_DISPLAY_ENCODER_TPD12S015=y > > to make the omap-hdmi-audio-dai attach (sound/soc/omap/omap-hdmi.c) > and something like this (that is not upstreamable as i understand > but is an unfortunate fallout from the board removal[*]): > > --- a/arch/arm/mach-omap2/devices.c > +++ b/arch/arm/mach-omap2/devices.c > @@ -335,6 +335,11 @@ static struct platform_device omap_hdmi_audio = { > .id = -1, > }; > > +static struct platform_device hdmi_audio_codec = { > + .name = "hdmi-audio-codec", > + .id = -1, > +}; > + > static void __init omap_init_hdmi_audio(void) > { > struct omap_hwmod *oh; > @@ -349,6 +354,7 @@ static void __init omap_init_hdmi_audio(void) > "Can't build omap_device for omap-hdmi-audio-dai.\n"); > > platform_device_register(&omap_hdmi_audio); > + platform_device_register(&hdmi_audio_codec); > } > #else > static inline void omap_init_hdmi_audio(void) {} > > i finally get my OMAPHDMI device back: > > flag@panda:~$ cat /proc/asound/cards > 0 [OMAPHDMI ]: OMAPHDMI - OMAPHDMI > OMAPHDMI > 1 [PandaBoardES ]: PandaBoardES - PandaBoardES > PandaBoardES > Yeah, the OMAP4 hdmi audio got hit by the move to DT hard. In legacy boot we did created the needed devices for us to use but we still lack the DT support for the HDMI audio (along with the DSS AFAIK). The stack we have at the moment going to change for sure. I need to sync up with Tomi and Jyri regarding to this but right now there's no clean (ie upstreamable ) way to enable HDMI audio.
diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi index 88c6a05..b6dd458 100644 --- a/arch/arm/boot/dts/omap4-panda-common.dtsi +++ b/arch/arm/boot/dts/omap4-panda-common.dtsi @@ -36,6 +36,11 @@ }; }; + hdmi_audio: hdmi_audio@0 { + compatible = "linux,hdmi-audio"; + status = "okay"; + }; + sound: sound { compatible = "ti,abe-twl6040"; ti,model = "PandaBoard"; > Furthermore: we have the omap-hdmi-card machine driver to handle the HDMI > audio. It lacks DT support AFAIK but should not be a big deal to add the bindings. > To get the hdmi audio working you also need to have phandle for the omap-hdmi > DAI, the codec alone is not enough. > you mean sound/soc/omap/omap-hdmi-card.c? that's exactly what i'm trying to fix. With the above patch, plus: -CONFIG_DISPLAY_CONNECTOR_HDMI=m +CONFIG_DISPLAY_CONNECTOR_HDMI=y CONFIG_DISPLAY_ENCODER_TFP410=m -CONFIG_DISPLAY_ENCODER_TPD12S015=m +CONFIG_DISPLAY_ENCODER_TPD12S015=y to make the omap-hdmi-audio-dai attach (sound/soc/omap/omap-hdmi.c) and something like this (that is not upstreamable as i understand but is an unfortunate fallout from the board removal[*]): --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c @@ -335,6 +335,11 @@ static struct platform_device omap_hdmi_audio = { .id = -1, }; +static struct platform_device hdmi_audio_codec = { + .name = "hdmi-audio-codec", + .id = -1, +}; + static void __init omap_init_hdmi_audio(void) { struct omap_hwmod *oh; @@ -349,6 +354,7 @@ static void __init omap_init_hdmi_audio(void) "Can't build omap_device for omap-hdmi-audio-dai.\n"); platform_device_register(&omap_hdmi_audio); + platform_device_register(&hdmi_audio_codec); } #else static inline void omap_init_hdmi_audio(void) {}