[PATCH v2] arm64: dts: allwinner: a64: olinuxino: Enable audio

Jernej Škrabec jernej.skrabec at gmail.com
Sun Nov 28 08:14:23 PST 2021


Hi Philip!

Dne nedelja, 28. november 2021 ob 16:19:34 CET je Philip Rinn napisal(a):
> Enable the audio hardware on the Olimex A64-OLinuXino board family.
> Tested on the A64-OLinuXino-2Ge8G-IND variant.
> 
> Signed-off-by: Philip Rinn <rinni at inventati.org>
> 
> ---

You should put changelog here when you send new version of the patch.

> 
>   .../dts/allwinner/sun50i-a64-olinuxino.dts    | 51 +++++++++++++++++++
> 
>   1 file changed, 51 insertions(+)
> 
> 
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts 
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> 
> index ec7e2c0e82c1..e2f518c5854a 100644
> 
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> 
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> 
> @@ -32,6 +32,22 @@ hdmi_con_in: endpoint {
> 
>   		};
> 
>   	};
> 
> 
> 
> +  hdmi-sound {
> 
> +    compatible = "simple-audio-card";
> 
> +    simple-audio-card,format = "i2s";
> 
> +    simple-audio-card,name = "allwinner,hdmi";
> 
> +    simple-audio-card,mclk-fs = <256>;
> 
> +    status = "okay";
> 
> +
> 
> +    simple-audio-card,codec {
> 
> +      sound-dai = <&hdmi>;
> 
> +    };

Drop everything related to hdmi audio. There was quite a few e-mails regarding 
how to best approach hdmi audio implementation on A64 and other SoCs with DW 
HDMI core. Agreement is that we should introduce HDMI audio card driver 
instead of simple audio card. I have this almost implemented, but I didn't find 
time to polish it. Another thing is that there is nothing board specific about 
HDMI audio, so nodes should reside in SoC DTSI file anyway.

Best regards,
Jernej

> 
> +
> 
> +    simple-audio-card,cpu {
> 
> +      sound-dai = <&i2s2>;
> 
> +    };
> 
> +  };
> 
> +
> 
>   	leds {
> 
>   		compatible = "gpio-leds";
> 
> 
> 
> @@ -58,6 +74,15 @@ wifi_pwrseq: wifi_pwrseq {
> 
>   	};
> 
>   };
> 
> 
> 
> +&codec {
> 
> +	status = "okay";
> 
> +};
> 
> +
> 
> +&codec_analog {
> 
> +	cpvdd-supply = <&reg_eldo1>;
> 
> +	status = "okay";
> 
> +};
> 
> +
> 
>   &cpu0 {
> 
>   	cpu-supply = <&reg_dcdc2>;
> 
>   };
> 
> @@ -74,6 +99,10 @@ &cpu3 {
> 
>   	cpu-supply = <&reg_dcdc2>;
> 
>   };
> 
> 
> 
> +&dai {
> 
> +	status = "okay";
> 
> +};
> 
> +
> 
>   &de {
> 
>   	status = "okay";
> 
>   };
> 
> @@ -97,6 +126,7 @@ &emac {
> 
>   };
> 
> 
> 
>   &hdmi {
> 
> +	#sound-dai-cells = <0>;
> 
>   	hvcc-supply = <&reg_dldo1>;
> 
>   	status = "okay";
> 
>   };
> 
> @@ -107,6 +137,10 @@ hdmi_out_con: endpoint {
> 
>   	};
> 
>   };
> 
> 
> 
> +&i2s2 {
> 
> +	status = "okay";
> 
> +};
> 
> +
> 
>   &mdio {
> 
>   	ext_rgmii_phy: ethernet-phy at 1 {
> 
>   		compatible = "ethernet-phy-ieee802.3-c22";
> 
> @@ -328,6 +362,23 @@ &simplefb_hdmi {
> 
>   	vcc-hdmi-supply = <&reg_dldo1>;
> 
>   };
> 
> 
> 
> +&sound {
> 
> +	simple-audio-card,aux-devs = <&codec_analog>;
> 
> +	simple-audio-card,widgets = "Microphone", "Microphone Jack Left",
> 
> +		    "Microphone", "Microphone Jack Right",
> 
> +		    "Headphone", "Headphone Jack";
> 
> +	simple-audio-card,routing = "Left DAC", "DACL",
> 
> +		    "Right DAC", "DACR",
> 
> +		    "Headphone Jack", "HP",
> 
> +		    "ADCL", "Left ADC",
> 
> +		    "ADCR", "Right ADC",
> 
> +		    "Microphone Jack Left", "MBIAS",
> 
> +		    "MIC1", "Microphone Jack Left",
> 
> +		    "Microphone Jack Left", "HBIAS",
> 
> +		    "MIC2", "Microphone Jack Right";
> 
> +	status = "okay";
> 
> +};
> 
> +
> 
>   &uart0 {
> 
>   	pinctrl-names = "default";
> 
>   	pinctrl-0 = <&uart0_pb_pins>;
> 
> -- 
> 
> 2.33.0
> 







More information about the linux-arm-kernel mailing list