* [PATCH 2/3] arm64: dts: rockchip: Move sound cards to board files for NanoPC-T6
2026-09-07 12:22 [PATCH 0/3] Add support for FriendlyElec NanoPC-T6 Plus Diederik de Haas
2026-09-07 12:22 ` [PATCH 1/3] dt-bindings: arm: rockchip: Add " Diederik de Haas
@ 2026-09-07 12:22 ` Diederik de Haas
2026-09-07 12:22 ` [PATCH 3/3] arm64: dts: rockchip: Add support for FriendlyElec NanoPC-T6 Plus Diederik de Haas
2 siblings, 0 replies; 4+ messages in thread
From: Diederik de Haas @ 2026-09-07 12:22 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
Cc: Joachim Eastwood, Marcin Juszkiewicz, Daniele Briguglio,
devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Diederik de Haas
The NanoPC-T6 and the NanoPC-T6-LTS both have a Realtek ALC5616 audio codec.
But the NanoPC-T6 Plus has an Everest ES8389 audio codec. So move the audio
definition which is not shared among all boards to the individual board files.
Signed-off-by: Diederik de Haas <diederik@cknow-tech.com>
---
.../dts/rockchip/rk3588-nanopc-t6-lts.dts | 39 +++++++++++++++++++
.../boot/dts/rockchip/rk3588-nanopc-t6.dts | 39 +++++++++++++++++++
.../boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 36 +----------------
3 files changed, 79 insertions(+), 35 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6-lts.dts b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6-lts.dts
index 0ee67ee24f3c..32f9b313b5d6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6-lts.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6-lts.dts
@@ -30,6 +30,45 @@ vcc5v0_usb20_host: regulator-vcc5v0-usb20-host {
};
};
+&analog_sound {
+ compatible = "simple-audio-card";
+ label = "Onboard Analog Realtek ALC5616";
+
+ simple-audio-card,format = "i2s";
+ simple-audio-card,hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,name = "realtek,rt5616-codec";
+
+ simple-audio-card,widgets =
+ "Headphone", "Headphones",
+ "Microphone", "Microphone Jack";
+ simple-audio-card,routing =
+ "Headphones", "HPOL",
+ "Headphones", "HPOR",
+ "MIC1", "Microphone Jack",
+ "Microphone Jack", "micbias1";
+
+ simple-audio-card,cpu {
+ sound-dai = <&i2s0_8ch>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&rt5616>;
+ };
+};
+
+&i2c7 {
+ rt5616: codec@1b {
+ compatible = "realtek,rt5616";
+ reg = <0x1b>;
+ assigned-clocks = <&cru I2S0_8CH_MCLKOUT_TO_IO>;
+ assigned-clock-rates = <12288000>;
+ clocks = <&cru I2S0_8CH_MCLKOUT_TO_IO>;
+ clock-names = "mclk";
+ #sound-dai-cells = <0>;
+ };
+};
+
&pinctrl {
usb {
usb20_host_pwren: usb20-host-pwren {
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
index 40290a81bb9d..40ea1079a928 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
@@ -27,6 +27,45 @@ vdd_4g_3v3: regulator-vdd-4g-3v3 {
};
};
+&analog_sound {
+ compatible = "simple-audio-card";
+ label = "Onboard Analog Realtek ALC5616";
+
+ simple-audio-card,format = "i2s";
+ simple-audio-card,hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,name = "realtek,rt5616-codec";
+
+ simple-audio-card,widgets =
+ "Headphone", "Headphones",
+ "Microphone", "Microphone Jack";
+ simple-audio-card,routing =
+ "Headphones", "HPOL",
+ "Headphones", "HPOR",
+ "MIC1", "Microphone Jack",
+ "Microphone Jack", "micbias1";
+
+ simple-audio-card,cpu {
+ sound-dai = <&i2s0_8ch>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&rt5616>;
+ };
+};
+
+&i2c7 {
+ rt5616: codec@1b {
+ compatible = "realtek,rt5616";
+ reg = <0x1b>;
+ assigned-clocks = <&cru I2S0_8CH_MCLKOUT_TO_IO>;
+ assigned-clock-rates = <12288000>;
+ clocks = <&cru I2S0_8CH_MCLKOUT_TO_IO>;
+ clock-names = "mclk";
+ #sound-dai-cells = <0>;
+ };
+};
+
&pinctrl {
usb {
pin_4g_lte_pwren: 4g-lte-pwren {
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
index eb0eb124c4cd..4d97afbc33bf 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
@@ -98,33 +98,9 @@ fan: pwm-fan {
#cooling-cells = <2>;
};
- sound {
- compatible = "simple-audio-card";
- label = "Onboard Analog Realtek ALC5616";
+ analog_sound: sound {
pinctrl-0 = <&hp_det>;
pinctrl-names = "default";
-
- simple-audio-card,format = "i2s";
- simple-audio-card,hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
- simple-audio-card,mclk-fs = <256>;
- simple-audio-card,name = "realtek,rt5616-codec";
-
- simple-audio-card,widgets =
- "Headphone", "Headphones",
- "Microphone", "Microphone Jack";
- simple-audio-card,routing =
- "Headphones", "HPOL",
- "Headphones", "HPOR",
- "MIC1", "Microphone Jack",
- "Microphone Jack", "micbias1";
-
- simple-audio-card,cpu {
- sound-dai = <&i2s0_8ch>;
- };
-
- simple-audio-card,codec {
- sound-dai = <&rt5616>;
- };
};
vcc12v_dcin: regulator-vcc12v-dcin {
@@ -549,16 +525,6 @@ &i2c7 {
clock-frequency = <200000>;
status = "okay";
- rt5616: codec@1b {
- compatible = "realtek,rt5616";
- reg = <0x1b>;
- assigned-clocks = <&cru I2S0_8CH_MCLKOUT_TO_IO>;
- assigned-clock-rates = <12288000>;
- clocks = <&cru I2S0_8CH_MCLKOUT_TO_IO>;
- clock-names = "mclk";
- #sound-dai-cells = <0>;
- };
-
/* connected with MIPI-CSI1 */
};
--
2.55.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 3/3] arm64: dts: rockchip: Add support for FriendlyElec NanoPC-T6 Plus
2026-09-07 12:22 [PATCH 0/3] Add support for FriendlyElec NanoPC-T6 Plus Diederik de Haas
2026-09-07 12:22 ` [PATCH 1/3] dt-bindings: arm: rockchip: Add " Diederik de Haas
2026-09-07 12:22 ` [PATCH 2/3] arm64: dts: rockchip: Move sound cards to board files for NanoPC-T6 Diederik de Haas
@ 2026-09-07 12:22 ` Diederik de Haas
2 siblings, 0 replies; 4+ messages in thread
From: Diederik de Haas @ 2026-09-07 12:22 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
Cc: Joachim Eastwood, Marcin Juszkiewicz, Daniele Briguglio,
devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Diederik de Haas
The FriendlyElec NanoPC-T6 Plus is a new board in the NanoPC-T6 series.
The main differences between the NanoPC-T6 Plus and the NanoPC-T6 LTS are:
- use of LPDDR5 RAM
- addition of an M.2 B-key connector for a 4G LTE module and a companion
NanoSIM card slot.
- 10 pin header with UART and 2x USB 2.0 host got replaced with a 3 pin
UART header.
- different audio codec (Everest ES8389)
Add basic support for it.
Link: https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6_Plus
Link: https://wiki.friendlyelec.com/wiki/images/a/ad/NanoPC-T6_Plus_2511_SCH.pdf
Link: http://everest-semi.com/pdf/ES8389%20PB.pdf
Signed-off-by: Diederik de Haas <diederik@cknow-tech.com>
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../dts/rockchip/rk3588-nanopc-t6-plus.dts | 91 +++++++++++++++++++
2 files changed, 92 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6-plus.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index b677914cd3f1..1bdebf3e30fc 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -204,6 +204,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-lubancat-5io.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nanopc-t6.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nanopc-t6-lts.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nanopc-t6-plus.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-ok3588-c.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-max.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-plus.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6-plus.dts
new file mode 100644
index 000000000000..f23ac4bd9f16
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6-plus.dts
@@ -0,0 +1,91 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
+ * Copyright (c) 2023 Thomas McKahan
+ * Copyright (c) 2024 Linaro Ltd.
+ */
+
+/dts-v1/;
+
+#include "rk3588-nanopc-t6.dtsi"
+
+/ {
+ model = "FriendlyElec NanoPC-T6 Plus";
+ compatible = "friendlyarm,nanopc-t6-plus", "rockchip,rk3588";
+
+ codec_es_3v3: regulator-codec-es-3v3 {
+ compatible = "regulator-fixed";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "codec_es_3v3";
+ vin-supply = <&vcc4v0_sys>;
+ };
+
+ usb2_port_5v: regulator-usb2-port-5v {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&usb20_host_pwren_h_pin>;
+ pinctrl-names = "default";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-name = "usb2_port_5v";
+ vin-supply = <&vcc5v0_sys>;
+ };
+};
+
+&analog_sound {
+ compatible = "audio-graph-card";
+ hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
+ label = "rk3588-es8389";
+
+ dais = <&i2s0_8ch_p0>;
+ routing = "Headphones", "HPOL",
+ "Headphones", "HPOR",
+ "INPUT1", "Microphones Connector",
+ "INPUT2", "Microphones Connector";
+ widgets = "Headphone", "Headphones",
+ "Microphone", "Microphones Connector";
+};
+
+&i2c7 {
+ codec@10 {
+ compatible = "everest,es8389";
+ reg = <0x10>;
+ assigned-clocks = <&cru I2S0_8CH_MCLKOUT_TO_IO>;
+ assigned-clock-rates = <12288000>;
+ clocks = <&cru I2S0_8CH_MCLKOUT_TO_IO>;
+ clock-names = "mclk";
+ #sound-dai-cells = <0>;
+ vdda-supply = <&codec_es_3v3>;
+ vddd-supply = <&vcc_1v8_s3>;
+
+ port {
+ es8389_p0_0: endpoint {
+ remote-endpoint = <&i2s0_8ch_p0_0>;
+ };
+ };
+ };
+};
+
+&i2s0_8ch {
+ i2s0_8ch_p0: port {
+ i2s0_8ch_p0_0: endpoint {
+ dai-format = "i2s";
+ mclk-fs = <256>;
+ remote-endpoint = <&es8389_p0_0>;
+ };
+ };
+};
+
+&pinctrl {
+ usb {
+ usb20_host_pwren_h_pin: usb20-host-pwren-h-pin {
+ rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+};
+
+&u2phy2_host {
+ phy-supply = <&usb2_port_5v>;
+};
--
2.55.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 4+ messages in thread