From: Andre Przywara <andre.przywara@arm.com>
To: Ryan Walklin <ryan@testtoast.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>, Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Samuel Holland <samuel@sholland.org>,
Chris Morgan <macroalpha82@gmail.com>,
Philippe Simons <simons.philippe@gmail.com>,
linux-sound@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-sunxi@lists.linux.dev, devicetree@vger.kernel.org,
Martin Botka <martin.botka@somainline.org>
Subject: Re: [PATCH v3 7/7] arm64: dts: allwinner: h313/h616/h618/h700: Enable audio codec for all supported boards
Date: Fri, 25 Oct 2024 11:05:54 +0100 [thread overview]
Message-ID: <20241025110554.289809cb@donnerap.manchester.arm.com> (raw)
In-Reply-To: <20241023075917.186835-8-ryan@testtoast.com>
On Wed, 23 Oct 2024 20:57:03 +1300
Ryan Walklin <ryan@testtoast.com> wrote:
Hi,
> Now that the H616 (and variants) audio codec is supported, enable it for
> boards with a mainline DTS. The Tanix TX1, Transpeed 8K618-T and X-96
> Mate have all been tested with the onboard 3.5mm audio jack and the
> Orange Pi Zero 3 with a 3.5mm jack connected to the audio header.
Martin, if I see this correctly, the Bigtreetech Pi also has an audio jack
(but not the Manta)?
Should we enable the codec then there, too? Can you maybe test this?
> The RG35XX (2024, -H, -Plus and -SP variants) are also tested working
> but have a separate mux and GPIO-controlled (PI5) power amplifier to
> support both a headphone jack and onboard speakers.
>
> The headphone jack has a GPIO for jack detection, but this is not
> currently supported by the driver, so audio is heard both via the
> headphone jack and speakers when the speaker amp is powered (by the
> CLDO1 regulator, defined as always-on until proper jack detection is
> implemented).
Is the support for that board then premature? Because this would introduce
a regression, wouldn't it? With kernel 6.13 and this proposed DT it would
work, courtesy of regulator-always-on, but future DTs (as provided by
up-to-date firmware like U-Boot) with kernel v6.13 would not anymore, as
the 6.13 code wouldn't know about the upcoming jack detection bits. So this
would break forward compatibility.
> Define the audio codec and routing for all supported H616 and variant
> boards, and power and speaker amp enablement where present on boards and
> known.
For TX1, OrangePi, X96 Mate, 8K618-T:
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
For Tanix TX1, OPi Zero3, X96 Mate, Transpeed 8K618-T:
Tested-by: Andre Przywara <andre.przywara@arm.com>
Cheers,
Andre
>
> Signed-off-by: Ryan Walklin <ryan@testtoast.com>
> Tested-by: Philippe Simons <simons.philippe@gmail.com>
> ---
> Changelog v1..v2:
> - Add codec enablement all supported boards.
> ---
> .../boot/dts/allwinner/sun50i-h313-tanix-tx1.dts | 5 +++++
> .../dts/allwinner/sun50i-h616-orangepi-zero.dtsi | 5 +++++
> .../boot/dts/allwinner/sun50i-h616-x96-mate.dts | 5 +++++
> .../dts/allwinner/sun50i-h618-orangepi-zero2w.dts | 5 +++++
> .../dts/allwinner/sun50i-h618-transpeed-8k618-t.dts | 5 +++++
> .../allwinner/sun50i-h700-anbernic-rg35xx-2024.dts | 13 +++++++++++--
> 6 files changed, 36 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts
> index bb2cde59bd033..bafd3e803106b 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts
> @@ -65,6 +65,11 @@ reg_vcc5v: vcc5v {
> };
> };
>
> +&codec {
> + allwinner,audio-routing = "Line Out", "LINEOUT";
> + status = "okay";
> +};
> +
> &cpu0 {
> cpu-supply = <®_dcdc2>;
> };
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero.dtsi
> index fc7315b944065..19c5cf75f3f7d 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero.dtsi
> @@ -59,6 +59,11 @@ reg_usb1_vbus: regulator-usb1-vbus {
> };
> };
>
> +&codec {
> + allwinner,audio-routing = "Line Out", "LINEOUT";
> + status = "okay";
> +};
> +
> &ehci1 {
> status = "okay";
> };
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
> index 26d25b5b59e0f..6dfe4eab91f6a 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
> @@ -33,6 +33,11 @@ reg_vcc5v: vcc5v {
> };
> };
>
> +&codec {
> + allwinner,audio-routing = "Line Out", "LINEOUT";
> + status = "okay";
> +};
> +
> &cpu0 {
> cpu-supply = <®_dcdca>;
> };
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts
> index 6a4f0da972330..a0fe7a9afb77c 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts
> @@ -54,6 +54,11 @@ reg_vcc3v3: vcc3v3 {
> };
> };
>
> +&codec {
> + allwinner,audio-routing = "Line Out", "LINEOUT";
> + status = "okay";
> +};
> +
> &cpu0 {
> cpu-supply = <®_dcdc2>;
> };
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts
> index d6631bfe629fa..59ee2b253ea4b 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts
> @@ -52,6 +52,11 @@ wifi_pwrseq: pwrseq {
> };
> };
>
> +&codec {
> + allwinner,audio-routing = "Line Out", "LINEOUT";
> + status = "okay";
> +};
> +
> &cpu0 {
> cpu-supply = <®_dcdc2>;
> };
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
> index 899ae3be5683c..89de86b442155 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
> @@ -237,6 +237,12 @@ panel_in_rgb: endpoint {
> };
> };
>
> +&codec {
> + allwinner,audio-routing = "Line Out", "LINEOUT";
> + allwinner,pa-gpios = <&pio 8 5 GPIO_ACTIVE_HIGH>; // PI5
> + status = "okay";
> +};
> +
> &cpu0 {
> cpu-supply = <®_dcdc1>;
> };
> @@ -352,7 +358,7 @@ reg_aldo3: aldo3 {
> reg_aldo4: aldo4 {
> regulator-min-microvolt = <1800000>;
> regulator-max-microvolt = <1800000>;
> - regulator-name = "vcc-pg";
> + regulator-name = "avcc";
> };
>
> reg_bldo1: bldo1 {
> @@ -375,7 +381,10 @@ reg_bldo4: bldo4 {
> };
>
> reg_cldo1: cldo1 {
> - /* 3.3v - audio codec - not yet implemented */
> + regulator-always-on;
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-name = "vcc-spkr-amp";
> };
>
> reg_cldo2: cldo2 {
next prev parent reply other threads:[~2024-10-25 10:06 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-23 7:56 [PATCH v3 0/7] ASoC: add Allwinner H616 audio codec support Ryan Walklin
2024-10-23 7:56 ` [PATCH v3 1/7] clk: sunxi-ng: h616: Add sigma-delta modulation settings for audio PLL Ryan Walklin
2024-10-25 9:38 ` Andre Przywara
2024-10-25 13:20 ` Code Kipper
2024-10-25 14:59 ` Chen-Yu Tsai
2024-10-23 7:56 ` [PATCH v3 2/7] dt-bindings: allwinner: add H616 sun4i audio codec binding Ryan Walklin
2024-10-24 7:15 ` Krzysztof Kozlowski
2024-10-24 12:14 ` Mark Brown
2024-10-23 7:56 ` [PATCH v3 3/7] ASoC: sun4i-codec: Add support for different DAC FIFOC addresses to quirks Ryan Walklin
2024-10-23 7:57 ` [PATCH v3 4/7] ASoC: sun4i-codec: Add playback only flag " Ryan Walklin
2024-10-23 7:57 ` [PATCH v3 5/7] ASoC: sun4i-codec: support allwinner H616 codec Ryan Walklin
2024-10-23 7:57 ` [PATCH v3 6/7] arm64: dts: allwinner: h616: Add audio codec node Ryan Walklin
2024-10-23 7:57 ` [PATCH v3 7/7] arm64: dts: allwinner: h313/h616/h618/h700: Enable audio codec for all supported boards Ryan Walklin
2024-10-25 10:05 ` Andre Przywara [this message]
2024-10-24 12:15 ` [PATCH v3 0/7] ASoC: add Allwinner H616 audio codec support Mark Brown
2024-10-24 20:16 ` (subset) " Mark Brown
2024-10-25 15:21 ` Chen-Yu Tsai
2024-10-25 15:23 ` Chen-Yu Tsai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241025110554.289809cb@donnerap.manchester.arm.com \
--to=andre.przywara@arm.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jernej.skrabec@gmail.com \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=macroalpha82@gmail.com \
--cc=martin.botka@somainline.org \
--cc=perex@perex.cz \
--cc=ryan@testtoast.com \
--cc=samuel@sholland.org \
--cc=simons.philippe@gmail.com \
--cc=tiwai@suse.com \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox