[PATCH 12/12] arm64: dts: rockchip: add support for NanoPi M6 board

Joachim Eastwood joachim.eastwood at gmail.com
Fri Jul 3 10:14:03 PDT 2026


Hi Diederik

On Fri, 3 Jul 2026 at 13:34, Diederik de Haas <diederik at cknow-tech.com> wrote:
>
> Hi,
>
> On Fri Jul 3, 2026 at 12:07 AM CEST, Joachim Eastwood via B4 Relay wrote:
> > From: Joachim Eastwood <joachim.eastwood at gmail.com>
> >
> > The NanoPi M6 board shares most of the features of the R6 boards.
> >
> > Main differences:
> > * M.2 M-key slot with PCIe (Also present on R6C)
> > * M.2 E-key slot with PCIe and USB (from hub)
> > * 1 additional USB 2.0 port from an on-board USB hub
> > * RT5616 audio CODEC
> >
> > Signed-off-by: Joachim Eastwood <joachim.eastwood at gmail.com>
> > ---
> >  arch/arm64/boot/dts/rockchip/Makefile              |   1 +
> >  arch/arm64/boot/dts/rockchip/rk3588s-nanopi-m6.dts | 200 +++++++++++++++++++++
> >  2 files changed, 201 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
> > index 761d82b4f4f2..2867830eddf8 100644
> > --- a/arch/arm64/boot/dts/rockchip/Makefile
> > +++ b/arch/arm64/boot/dts/rockchip/Makefile
> > @@ -218,6 +218,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb1-v10.dtb
> >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-gameforce-ace.dtb
> >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-indiedroid-nova.dtb
> >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-khadas-edge2.dtb
> > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-m6.dtb
> >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-r6s.dtb
> >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-r6c.dtb
> >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-odroid-m2.dtb
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-m6.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-m6.dts
> > new file mode 100644
> > index 000000000000..64448bf55cf7
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-m6.dts
> > @@ -0,0 +1,200 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +
> > +/dts-v1/;
> > +
> > +#include "rk3588s-nanopi.dtsi"
> > +
> > +/ {
> > +     model = "FriendlyElec NanoPi M6";
> > +     compatible = "friendlyarm,nanopi-m6", "rockchip,rk3588s";
> > +
> > +     sound {
> > +             compatible = "simple-audio-card";
> > +             pinctrl-names = "default";
> > +             pinctrl-0 = <&hp_det>;
> > +
> > +             simple-audio-card,name = "realtek,rt5616-codec";
> > +             simple-audio-card,format = "i2s";
> > +             simple-audio-card,mclk-fs = <256>;
> > +
> > +             simple-audio-card,hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
> > +
> > +             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 {
> > +     clock-frequency = <200000>;
> > +     status = "okay";
> > +
> > +     rt5616: codec at 1b {
> > +             compatible = "realtek,rt5616";
> > +             reg = <0x1b>;
> > +             clocks = <&cru I2S0_8CH_MCLKOUT>;
> > +             clock-names = "mclk";
> > +             #sound-dai-cells = <0>;
> > +             assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
>
> s/I2S0_8CH_MCLKOUT/I2S0_8CH_MCLKOUT_TO_IO/ ?
>
> See these links for details:
> https://lore.kernel.org/linux-rockchip/DJGDSS875DDO.22TYPVYK5X8KZ@cknow-tech.com/
> https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git/commit/?h=v7.2-clk/fixes&id=946352b2f88fd2378f0341312e47dff1e8dc2fac

Thanks for the feedback and pointers.
I will use I2S0_8CH_MCLKOUT_TO_IO for the next version.

Grepping through the other boards there doesn't seem to any other users
of I2S0_8CH_MCLKOUT_TO_IO right now. But I assume the other boards
will be converted over later(?)


best regards,
Joachim Eastwood



More information about the linux-arm-kernel mailing list