On 26/11/2023 11:00, Jisheng Zhang wrote: > The Milkv Mars is a development board based on the Starfive JH7110 SoC. > The board features: > > - JH7110 SoC > - 1/2/4/8 GiB LPDDR4 DRAM > - AXP15060 PMIC > - 40 pin GPIO header > - 3x USB 3.0 host port > - 1x USB 2.0 host port > - 1x M.2 E-Key > - 1x eMMC slot > - 1x MicroSD slot > - 1x QSPI Flash > - 1x 1Gbps Ethernet port > - 1x HDMI port > - 1x 2-lane DSI and 1x 4-lane DSI > - 1x 2-lane CSI > > Add the devicetree file describing the currently supported features, > namely PMIC, UART, SD card, QSPI Flash, eMMC and Ethernet. > > Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx> > --- > arch/riscv/boot/dts/starfive/Makefile | 2 + > .../boot/dts/starfive/jh7110-milkv-mars.dts | 634 ++++++++++++++++++ > 2 files changed, 636 insertions(+) > create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > > diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile > index 0141504c0f5c..fe0a62cc4759 100644 > --- a/arch/riscv/boot/dts/starfive/Makefile > +++ b/arch/riscv/boot/dts/starfive/Makefile > @@ -10,3 +10,5 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb > > dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb > dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb > + > +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb > diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > new file mode 100644 > index 000000000000..41cc67f53bbe > --- /dev/null > +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > @@ -0,0 +1,634 @@ > +// SPDX-License-Identifier: GPL-2.0 OR MIT > +/* > + * Copyright (C) 2022 StarFive Technology Co., Ltd. > + * Copyright (C) 2022 Emil Renner Berthing <kernel@xxxxxxxx> > + * Copyright (C) 2023 Jisheng Zhang <jszhang@xxxxxxxxxx> > + */ > + > +/dts-v1/; > +#include "jh7110.dtsi" > +#include "jh7110-pinfunc.h" > +#include <dt-bindings/gpio/gpio.h> > + > +/ { > + aliases { > + ethernet0 = &gmac0; > + ethernet1 = &gmac1; > + i2c0 = &i2c0; > + i2c2 = &i2c2; > + i2c5 = &i2c5; > + i2c6 = &i2c6; > + mmc0 = &mmc0; > + mmc1 = &mmc1; > + serial0 = &uart0; > + }; > + You miss board compatible and bindings. > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + cpus { Board should not bring new CPU nodes. Override by label instead. > + timebase-frequency = <4000000>; > + }; > + > + memory@40000000 { > + device_type = "memory"; > + reg = <0x0 0x40000000 0x1 0x0>; > + }; > + > + gpio-restart { > + compatible = "gpio-restart"; > + gpios = <&sysgpio 35 GPIO_ACTIVE_HIGH>; > + priority = <224>; > + }; > + > + pwmdac_codec: pwmdac-codec { audio-codec > + compatible = "linux,spdif-dit"; > + #sound-dai-cells = <0>; > + }; > + > + sound-pwmdac { sound Best regards, Krzysztof