From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BCA4DC636CC for ; Thu, 16 Feb 2023 06:20:29 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3E1AF85AB9; Thu, 16 Feb 2023 07:20:26 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=starfivetech.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 0103885AC2; Thu, 16 Feb 2023 07:20:24 +0100 (CET) Received: from fd01.gateway.ufhost.com (fd01.gateway.ufhost.com [61.152.239.71]) by phobos.denx.de (Postfix) with ESMTP id C3B6885ABA for ; Thu, 16 Feb 2023 07:20:17 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=starfivetech.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=yanhong.wang@starfivetech.com Received: from EXMBX165.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX165", Issuer "EXMBX165" (not verified)) by fd01.gateway.ufhost.com (Postfix) with ESMTP id D995324E350; Thu, 16 Feb 2023 14:20:14 +0800 (CST) Received: from EXMBX073.cuchost.com (172.16.6.83) by EXMBX165.cuchost.com (172.16.6.75) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Feb 2023 14:20:14 +0800 Received: from [192.168.120.49] (171.223.208.138) by EXMBX073.cuchost.com (172.16.6.83) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Feb 2023 14:20:13 +0800 Message-ID: <59b46469-7e31-3a4c-dcfd-e3d4519662cf@starfivetech.com> Date: Thu, 16 Feb 2023 14:20:12 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH v2 16/17] riscv: dts: jh7110: Add initial StarFive VisionFive v2 board device tree Content-Language: en-US To: Sean Anderson , , Rick Chen , Leo , Lukasz Majewski CC: Lee Kuan Lim , Jianlong Huang , Emil Renner Berthing References: <20230118081132.31403-1-yanhong.wang@starfivetech.com> <20230118081132.31403-17-yanhong.wang@starfivetech.com> From: yanhong wang In-Reply-To: Content-Type: text/plain; charset="UTF-8" X-Originating-IP: [171.223.208.138] X-ClientProxiedBy: EXCAS064.cuchost.com (172.16.6.24) To EXMBX073.cuchost.com (172.16.6.83) X-YovoleRuleAgent: yovoleflag Content-Transfer-Encoding: quoted-printable X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean On 2023/1/22 2:46, Sean Anderson wrote: > On 1/18/23 03:11, Yanhong Wang wrote: >> Add initial device tree for StarFive VisionFive v2 board. >> >> Signed-off-by: Yanhong Wang >> --- >> =C2=A0 arch/riscv/dts/Makefile=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 |=C2=A0=C2=A0 2 +- >> =C2=A0 .../dts/starfive_visionfive2-u-boot.dtsi=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 |=C2=A0 84 +++++++ >> =C2=A0 arch/riscv/dts/starfive_visionfive2.dts=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 | 234 ++++++++++++++++++ >> =C2=A0 3 files changed, 319 insertions(+), 1 deletion(-) >> =C2=A0 create mode 100644 arch/riscv/dts/starfive_visionfive2-u-boot.d= tsi >> =C2=A0 create mode 100644 arch/riscv/dts/starfive_visionfive2.dts >> >> diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile >> index 5c15a0f303..0351cc0c38 100644 >> --- a/arch/riscv/dts/Makefile >> +++ b/arch/riscv/dts/Makefile >> @@ -7,7 +7,7 @@ dtb-$(CONFIG_TARGET_OPENPITON_RISCV64) +=3D openpiton-= riscv64.dtb >> =C2=A0 dtb-$(CONFIG_TARGET_SIFIVE_UNLEASHED) +=3D hifive-unleashed-a00= .dtb >> =C2=A0 dtb-$(CONFIG_TARGET_SIFIVE_UNMATCHED) +=3D hifive-unmatched-a00= .dtb >> =C2=A0 dtb-$(CONFIG_TARGET_SIPEED_MAIX) +=3D k210-maix-bit.dtb >> - >> +dtb-$(CONFIG_TARGET_STARFIVE_VISIONFIVE2) +=3D starfive_visionfive2.d= tb >> =C2=A0 include $(srctree)/scripts/Makefile.dts >> =C2=A0 =C2=A0 targets +=3D $(dtb-y) >> diff --git a/arch/riscv/dts/starfive_visionfive2-u-boot.dtsi b/arch/ri= scv/dts/starfive_visionfive2-u-boot.dtsi >> new file mode 100644 >> index 0000000000..1b4e3392ab >> --- /dev/null >> +++ b/arch/riscv/dts/starfive_visionfive2-u-boot.dtsi >> @@ -0,0 +1,84 @@ >> +// SPDX-License-Identifier: GPL-2.0 OR MIT >> +/* >> + * Copyright (C) 2022 StarFive Technology Co., Ltd. >> + */ >> + >> +#include "binman.dtsi" >> +#include "jh7110-u-boot.dtsi" >> +/ { >> +=C2=A0=C2=A0=C2=A0 chosen { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 firmware { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 spi0 =3D &qspi; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 config { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u-boot,spl-payload-offset = =3D <0x100000>; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 memory@40000000 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 soc { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dmc: dmc@15700000 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u-= boot,dm-spl; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 co= mpatible =3D "starfive,jh7110-dmc"; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 re= g =3D <0x0 0x15700000 0x0 0x10000>, >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 <0x0 0x13000000 0x0 0x10000>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 re= sets =3D <&syscrg JH7110_SYSRST_DDR_AXI>, >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 <&syscrg JH7110_SYSRST_DDR_OSC>, >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 <&syscrg JH7110_SYSRST_DDR_APB>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 re= set-names =3D "axi", "osc", "apb"; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cl= ocks =3D <&syscrg JH7110_SYSCLK_PLL1_OUT>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cl= ock-names =3D "pll1"; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cl= ock-frequency =3D <2133>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >=20 > Again, needs to go in SoC dtsi. >=20 Thanks. I will move the dmc node to jh7110-u-boot.dtsi in the next versio= n. > Here are the rules for where something should go: >=20 > - If it is part of the chip, it goes in the SoC dtsi, even if it is not= always > =C2=A0 used! You can disable it by default (status =3D "disabled") if t= his is the case. > - If it is on the board, it goes in the board dts. > - If it is a property which is added to a node to support a board perip= heral, > =C2=A0 it goes in the board dts. > - If it is a U-Boot-specific property, it goes in the -u-boot.dts[i] >=20 > --Sean >=20 >> +=C2=A0=C2=A0=C2=A0 }; >> +}; >> + >> +&sys_syscon { >> +=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +}; >> + >> +&uart0 { >> +=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +}; >> + >> +&sdio0 { >> +=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +}; >> + >> +&sdio1 { >> +=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +}; >> + >> +&qspi { >> +=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> + >> +=C2=A0=C2=A0=C2=A0 nor-flash@0 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +=C2=A0=C2=A0=C2=A0 }; >> +}; >> + >> +&osc { >> +=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +}; >> + >> +&aoncrg { >> +=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +}; >> + >> +&syscrg { >> +=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +}; >> + >> +&stgcrg { >> +=C2=A0=C2=A0=C2=A0 u-boot,dm-spl; >> +}; >> diff --git a/arch/riscv/dts/starfive_visionfive2.dts b/arch/riscv/dts/= starfive_visionfive2.dts >> new file mode 100644 >> index 0000000000..52b31546da >> --- /dev/null >> +++ b/arch/riscv/dts/starfive_visionfive2.dts >> @@ -0,0 +1,234 @@ >> +// SPDX-License-Identifier: GPL-2.0 OR MIT >> +/* >> + * Copyright (C) 2022 StarFive Technology Co., Ltd. >> + */ >> + >> +/dts-v1/; >> + >> +#include "jh7110.dtsi" >> +#include >> +/ { >> +=C2=A0=C2=A0=C2=A0 #address-cells =3D <2>; >> +=C2=A0=C2=A0=C2=A0 #size-cells =3D <2>; >> +=C2=A0=C2=A0=C2=A0 model =3D "StarFive VisionFive V2"; >> +=C2=A0=C2=A0=C2=A0 compatible =3D "starfive,jh7110"; >> + >> +=C2=A0=C2=A0=C2=A0 aliases { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 spi0 =3D &qspi; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mmc0 =3D &sdio0; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mmc1 =3D &sdio1; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 chosen { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 stdout-path =3D "/soc/seri= al@10000000:115200"; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 cpus { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 timebase-frequency =3D <40= 00000>; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 memory@40000000 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 device_type =3D "memory"; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 reg =3D <0x0 0x40000000 0x= 1 0x0>; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 soc { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sys_syscon: sys_syscon@130= 30000 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 co= mpatible =3D "syscon"; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 re= g =3D <0x0 0x13030000 0x0 0x1000>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> +=C2=A0=C2=A0=C2=A0 }; >=20 > ditto >=20 I will move sys_syscon node to jh7110.dtsi >> +}; >> + >> +&S76_0 { >> +=C2=A0=C2=A0=C2=A0 status =3D "okay"; >> +}; >> + >> +&osc { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <24000000>; >> +}; >> + >> +&clk_rtc { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <32768>; >> +}; >> + >> +&gmac0_rmii_refin { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <50000000>; >> +}; >> + >> +&gmac0_rgmii_rxin { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <125000000>; >> +}; >> + >> +&gmac1_rmii_refin { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <50000000>; >> +}; >> + >> +&gmac1_rgmii_rxin { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <125000000>; >> +}; >> + >> +&i2stx_bclk_ext { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <12288000>; >> +}; >> + >> +&i2stx_lrck_ext { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <192000>; >> +}; >> + >> +&i2srx_bclk_ext { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <12288000>; >> +}; >> + >> +&i2srx_lrck_ext { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <192000>; >> +}; >> + >> +&tdm_ext { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <49152000>; >> +}; >> + >> +&mclk_ext { >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <12288000>; >> +}; >> + >> +&gpio { >> +=C2=A0=C2=A0=C2=A0 status =3D "okay"; >> +=C2=A0=C2=A0=C2=A0 uart0_pins: uart0-0 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tx-pins { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pi= nmux =3D > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GPO= EN_ENABLE, GPI_NONE)>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bi= as-disable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dr= ive-strength =3D <12>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-disable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-schmitt-disable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sl= ew-rate =3D <0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rx-pins { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pi= nmux =3D > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GPO= EN_DISABLE, GPI_SYS_UART0_RX)>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bi= as-pull-up; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dr= ive-strength =3D <2>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-schmitt-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sl= ew-rate =3D <0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 mmc0_pins: mmc0-pins { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mmc0-pins-rest { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pi= nmux =3D > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GPO= EN_ENABLE, GPI_NONE)>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bi= as-pull-up; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dr= ive-strength =3D <12>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-disable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-schmitt-disable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sl= ew-rate =3D <0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> +=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0 sdcard1_pins: sdcard1-pins { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sdcard1-pins0 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pi= nmux =3D > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GPO= EN_ENABLE, GPI_NONE)>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bi= as-pull-up; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dr= ive-strength =3D <12>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-disable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-schmitt-disable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sl= ew-rate =3D <0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sdcard1-pins1 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pi= nmux =3D > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GPO= EN_SYS_SDIO1_CMD, GPI_SYS_SDIO1_CMD)>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bi= as-pull-up; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dr= ive-strength =3D <12>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-schmitt-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sl= ew-rate =3D <0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sdcard1-pins2 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pi= nmux =3D > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GPO= EN_SYS_SDIO1_DATA0, GPI_SYS_SDIO1_DATA0)>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bi= as-pull-up; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dr= ive-strength =3D <12>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-schmitt-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sl= ew-rate =3D <0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sdcard1-pins3 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pi= nmux =3D > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GPO= EN_SYS_SDIO1_DATA1, GPI_SYS_SDIO1_DATA1)>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bi= as-pull-up; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dr= ive-strength =3D <12>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-schmitt-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sl= ew-rate =3D <0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sdcard1-pins4 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pi= nmux =3D > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GPO= EN_SYS_SDIO1_DATA2, GPI_SYS_SDIO1_DATA2)>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bi= as-pull-up; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dr= ive-strength =3D <12>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-schmitt-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sl= ew-rate =3D <0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sdcard1-pins5 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pi= nmux =3D > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GPO= EN_SYS_SDIO1_DATA3, GPI_SYS_SDIO1_DATA3)>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bi= as-pull-up; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dr= ive-strength =3D <12>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 in= put-schmitt-enable; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sl= ew-rate =3D <0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; >> +=C2=A0=C2=A0=C2=A0 }; >> +}; >> + >> +&sdio0 { >> +=C2=A0=C2=A0=C2=A0 bus-width =3D <8>; >> +=C2=A0=C2=A0=C2=A0 pinctrl-names =3D "default"; >> +=C2=A0=C2=A0=C2=A0 pinctrl-0 =3D <&mmc0_pins>; >> +=C2=A0=C2=A0=C2=A0 status =3D "okay"; >> +}; >> + >> +&sdio1 { >> +=C2=A0=C2=A0=C2=A0 bus-width =3D <4>; >> +=C2=A0=C2=A0=C2=A0 pinctrl-names =3D "default"; >> +=C2=A0=C2=A0=C2=A0 pinctrl-0 =3D <&sdcard1_pins>; >> +=C2=A0=C2=A0=C2=A0 status =3D "okay"; >> +}; >> + >> +&uart0 { >> +=C2=A0=C2=A0=C2=A0 reg-offset =3D <0>; >> +=C2=A0=C2=A0=C2=A0 current-speed =3D <115200>; >> +=C2=A0=C2=A0=C2=A0 clock-frequency =3D <24000000>; >> +=C2=A0=C2=A0=C2=A0 pinctrl-names =3D "default"; >> +=C2=A0=C2=A0=C2=A0 pinctrl-0 =3D <&uart0_pins>; >> +=C2=A0=C2=A0=C2=A0 status =3D "okay"; >> +}; >> + >> +&qspi { >> +=C2=A0=C2=A0=C2=A0 spi-max-frequency =3D <250000000>; >> +=C2=A0=C2=A0=C2=A0 status =3D "okay"; >> + >> +=C2=A0=C2=A0=C2=A0 nor-flash@0 { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 compatible =3D "jedec,spi-= nor"; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 reg=3D<0>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 spi-max-frequency =3D <100= 000000>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cdns,tshsl-ns =3D <1>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cdns,tsd2d-ns =3D <1>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cdns,tchsh-ns =3D <1>; >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cdns,tslch-ns =3D <1>; >> +=C2=A0=C2=A0=C2=A0 }; >> +}; >> + >> +&syscrg { >> +=C2=A0=C2=A0=C2=A0 starfive,sys-syscon =3D <&sys_syscon>; >> +}; >=20 > ditto I will move it to jh7110.dtsi