diff mbox series

[1/2] arm64: dts: meson: add spdif out to khadas-vim

Message ID 20210810041630.3673406-1-art@khadas.com (mailing list archive)
State New, archived
Headers show
Series [1/2] arm64: dts: meson: add spdif out to khadas-vim | expand

Commit Message

Artem Lapkin Aug. 10, 2021, 4:16 a.m. UTC
Add spdif output audio support to khadas-vim

Signed-off-by: Artem Lapkin <art@khadas.com>
---
 .../dts/amlogic/meson-gxl-s905x-khadas-vim.dts  | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Comments

Neil Armstrong Aug. 10, 2021, 7:55 a.m. UTC | #1
Hi,

On 10/08/2021 06:16, Artem Lapkin wrote:
> Add spdif output audio support to khadas-vim
> 
> Signed-off-by: Artem Lapkin <art@khadas.com>
> ---
>  .../dts/amlogic/meson-gxl-s905x-khadas-vim.dts  | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
> index 60feac0179c0..01f13822a616 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
> @@ -64,6 +64,13 @@ hdmi_connector_in: endpoint {
>  		};
>  	};
>  
> +	spdif_dit: audio-codec-0 {
> +		#sound-dai-cells = <0>;
> +		compatible = "linux,spdif-dit";
> +		status = "okay";
> +		sound-name-prefix = "DIT";
> +	};
> +
>  	sound {
>  		compatible = "amlogic,gx-sound-card";
>  		model = "KHADAS-VIM";
> @@ -97,11 +104,21 @@ codec-0 {
>  				sound-dai = <&hdmi_tx>;
>  			};
>  		};
> +
> +		dai-link-3 {
> +			sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
> +
> +			codec-0 {
> +				sound-dai = <&spdif_dit>;
> +			};
> +		};
>  	};
>  };
>  
>  &aiu {
>  	status = "okay";
> +	pinctrl-0 = <&spdif_out_h_pins>;
> +	pinctrl-names = "default";
>  };
>  
>  &cec_AO {
> 

AFAIK the board doesn't have a physical SPDIF output, but one of the 40pin header can output SPDIF, right ?

In this case, following the other boards mainline definitions, we do not enable any function by default
for pins on the 40pin (or other programmable) headers.

There is still ongoing discussions on how to handle that on a more generic level, but you should write a bunch
of DT overlays for the VIM boards to enable optional functions like SPDIF and store then in a public git
tree for everybody to use (like armbian or LibreELEC for example) from the U-Boot stage.

Neil
Artem Lapkin Aug. 10, 2021, 11:21 p.m. UTC | #2
> AFAIK the board doesn't have a physical SPDIF output, but one of the 40pin header can output SPDIF, right ?
Yes it's right

>In this case, following the other boards mainline definitions, we do not enable any function by default
For pins on the 40pin (or other programmable) headers.

ok ! now  i'm understand reason

But maybe it is possible to add this area as commented /* */
and users will have possibilities to uncomment  it.

> DT overlays
Yes but I still don't understand how-to apply dt overlays for EFI+grub
may be somebody can clarify this problem?

On Tue, Aug 10, 2021 at 3:55 PM Neil Armstrong <narmstrong@baylibre.com> wrote:
>
> Hi,
>
> On 10/08/2021 06:16, Artem Lapkin wrote:
> > Add spdif output audio support to khadas-vim
> >
> > Signed-off-by: Artem Lapkin <art@khadas.com>
> > ---
> >  .../dts/amlogic/meson-gxl-s905x-khadas-vim.dts  | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
> > index 60feac0179c0..01f13822a616 100644
> > --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
> > +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
> > @@ -64,6 +64,13 @@ hdmi_connector_in: endpoint {
> >               };
> >       };
> >
> > +     spdif_dit: audio-codec-0 {
> > +             #sound-dai-cells = <0>;
> > +             compatible = "linux,spdif-dit";
> > +             status = "okay";
> > +             sound-name-prefix = "DIT";
> > +     };
> > +
> >       sound {
> >               compatible = "amlogic,gx-sound-card";
> >               model = "KHADAS-VIM";
> > @@ -97,11 +104,21 @@ codec-0 {
> >                               sound-dai = <&hdmi_tx>;
> >                       };
> >               };
> > +
> > +             dai-link-3 {
> > +                     sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
> > +
> > +                     codec-0 {
> > +                             sound-dai = <&spdif_dit>;
> > +                     };
> > +             };
> >       };
> >  };
> >
> >  &aiu {
> >       status = "okay";
> > +     pinctrl-0 = <&spdif_out_h_pins>;
> > +     pinctrl-names = "default";
> >  };
> >
> >  &cec_AO {
> >
>
> AFAIK the board doesn't have a physical SPDIF output, but one of the 40pin header can output SPDIF, right ?
>
> In this case, following the other boards mainline definitions, we do not enable any function by default
> for pins on the 40pin (or other programmable) headers.
>
> There is still ongoing discussions on how to handle that on a more generic level, but you should write a bunch
> of DT overlays for the VIM boards to enable optional functions like SPDIF and store then in a public git
> tree for everybody to use (like armbian or LibreELEC for example) from the U-Boot stage.
>
> Neil
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
index 60feac0179c0..01f13822a616 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -64,6 +64,13 @@  hdmi_connector_in: endpoint {
 		};
 	};
 
+	spdif_dit: audio-codec-0 {
+		#sound-dai-cells = <0>;
+		compatible = "linux,spdif-dit";
+		status = "okay";
+		sound-name-prefix = "DIT";
+	};
+
 	sound {
 		compatible = "amlogic,gx-sound-card";
 		model = "KHADAS-VIM";
@@ -97,11 +104,21 @@  codec-0 {
 				sound-dai = <&hdmi_tx>;
 			};
 		};
+
+		dai-link-3 {
+			sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
+
+			codec-0 {
+				sound-dai = <&spdif_dit>;
+			};
+		};
 	};
 };
 
 &aiu {
 	status = "okay";
+	pinctrl-0 = <&spdif_out_h_pins>;
+	pinctrl-names = "default";
 };
 
 &cec_AO {