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 1D0BFC77B7E for ; Mon, 29 May 2023 06:50:36 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8569F846F7; Mon, 29 May 2023 08:50:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="heTzibOJ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9F5FF857B5; Mon, 29 May 2023 08:50:32 +0200 (CEST) Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id DD830846E7 for ; Mon, 29 May 2023 08:50:28 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=guoren@kernel.org Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 09A0561F57 for ; Mon, 29 May 2023 06:50:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 33D8BC433D2 for ; Mon, 29 May 2023 06:50:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1685343026; bh=oddbNTa79c4po8fs6+fuXLm+a/+yNRA8nOerlwtRtfg=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=heTzibOJp1OjjJHEpFUNTu9LMOI60dk9crjCzw65PT7i4rbj54JA9ejNComjlxHB2 rTev5RlwopleT1htDG7O3CianCa/exKdQO8yzdBPonIcE4zGPMdYNPz92Ikrz5XHsi UTg5J/bxUwIaepX2Ea5Uyj95vFqpvspqwEUeU60CyTOzOM9hJtbUQF1go4PrtR0zqo WTwzx75+do12O0TLZ+NGGunDBnnZOcTVDuWlGVxlprEysshhyEovSUptczwUKvovbv iXggDwZHjXy+w7e4YxJAzfbVxovaSnAWVFzsjO0F+s6AHkB0Zi0HA+sdS7NNB/qHpR tF+U9SUyPT/hA== Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-96fe88cd2fcso540393166b.1 for ; Sun, 28 May 2023 23:50:26 -0700 (PDT) X-Gm-Message-State: AC+VfDxH9/SZY2IwIAHwLGLKY9d2WVSo6n3wEq7phkIbdadYzYlH0qgz 1XM5iiKtM5RoIhIgL6EhI45mFxMFdZj9Hx+CZS4= X-Google-Smtp-Source: ACHHUZ5zSp5G9Axa7HIGtEVLCMN71MH3LrU+gXffWJPAEC2qW9C5iiBB+YGI7+MLtIuBBznsWB06p17eV9PQ/45WNC8= X-Received: by 2002:a17:907:3e1e:b0:96f:74d0:ad0e with SMTP id hp30-20020a1709073e1e00b0096f74d0ad0emr11600933ejc.58.1685343024344; Sun, 28 May 2023 23:50:24 -0700 (PDT) MIME-Version: 1.0 References: <20230526124107.894-1-dlan@gentoo.org> <20230526124107.894-3-dlan@gentoo.org> In-Reply-To: From: Guo Ren Date: Mon, 29 May 2023 14:50:12 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RESEND PATCH v1 2/4] riscv: dts: t-head: Add basic device tree for Sipeed Lichee PI 4A board To: Yixun Lan Cc: u-boot@lists.denx.de, Rick Chen , Leo , Wei Fu , Jisheng Zhang Content-Type: text/plain; charset="UTF-8" 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.8 at phobos.denx.de X-Virus-Status: Clean On Mon, May 29, 2023 at 11:01=E2=80=AFAM Yixun Lan wrote: > > Hi Guo: > > see my comment below. > > On 09:19 Mon 29 May , Guo Ren wrote: > > On Sat, May 27, 2023 at 5:17=E2=80=AFPM Yixun Lan wro= te: > > > > > > Hi Guo: > > > > > > On 09:43 Sat 27 May , Guo Ren wrote: > > > > Sorry, why we need dts here? If we put dts here, we could delete th= e > > > > one in Linux. > > > No, I think it's more than a historical reason for why we have two dt= s > > > both in u-boot and kernel. And this dts here is merely used by u-boot= , > > > it could be a simplified version comparing to kernel's dts. > > > > > > > > > > > We shouldn't put it with two places, that would be bad for maintani= ce. > > > I can totally understand your concern, in fact, we are trying to keep= them sync, > > > so I will probably wait the dts of kernel settle down, before take ac= tion here. > > > so, please conside this patch as RFC, and may change in next revision= s.. > > Thx for clarification. But I still concern the necessary of the patch, > > could you move this from this series first, because we've argument on > > it. Your other patches looks good, I'm looking forward your next v2. > > > > But for this one, let's talk it after kernel side merged. > I'd like to include dts in the first series, otherwise it won't be a comp= lete > working series, e.g. - not only it's unable to build, also can't do run-t= ime test I couldn't make sense how it block your build, The build operation is controlled by you Makefile modification. right? diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile index 79a58694f5..72fd815a40 100644 --- a/arch/riscv/dts/Makefile +++ b/arch/riscv/dts/Makefile @@ -9,6 +9,7 @@ dtb-$(CONFIG_TARGET_SIFIVE_UNMATCHED) +=3D hifive-unmatched-a00.dtb dtb-$(CONFIG_TARGET_SIPEED_MAIX) +=3D k210-maix-bit.dtb dtb-$(CONFIG_TARGET_STARFIVE_VISIONFIVE2) +=3D jh7110-starfive-visionfive-2-v1.3b.dtb dtb-$(CONFIG_TARGET_STARFIVE_VISIONFIVE2) +=3D jh7110-starfive-visionfive-2-v1.2a.dtb +dtb-$(CONFIG_TARGET_TH1520_LPI4A) +=3D th1520-lichee-pi-4a.dtb include $(srctree)/scripts/Makefile.dts > > I'm totally fine with kernel dts merged first, then submit this later, so= no push.. > > > > > > > > > > > > > > On Fri, May 26, 2023 at 8:41=E2=80=AFPM Yixun Lan = wrote: > > > > > > > > > > Only add basic support for CPU, PLIC UART and Timer. > > > > > > > > > > Reviewed-by: Wei Fu > > > > > Signed-off-by: Yixun Lan > > > > > --- > > > > > arch/riscv/dts/Makefile | 1 + > > > > > arch/riscv/dts/th1520-lichee-module-4a.dtsi | 34 ++ > > > > > arch/riscv/dts/th1520-lichee-pi-4a.dts | 32 ++ > > > > > arch/riscv/dts/th1520.dtsi | 435 ++++++++++++++= ++++++ > > > > > 4 files changed, 502 insertions(+) > > > > > create mode 100644 arch/riscv/dts/th1520-lichee-module-4a.dtsi > > > > > create mode 100644 arch/riscv/dts/th1520-lichee-pi-4a.dts > > > > > create mode 100644 arch/riscv/dts/th1520.dtsi > > > > > > > > > > diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile > > > > > index 79a58694f5..72fd815a40 100644 > > > > > --- a/arch/riscv/dts/Makefile > > > > > +++ b/arch/riscv/dts/Makefile > > > > > @@ -9,6 +9,7 @@ dtb-$(CONFIG_TARGET_SIFIVE_UNMATCHED) +=3D hifive= -unmatched-a00.dtb > > > > > dtb-$(CONFIG_TARGET_SIPEED_MAIX) +=3D k210-maix-bit.dtb > > > > > dtb-$(CONFIG_TARGET_STARFIVE_VISIONFIVE2) +=3D jh7110-starfive-v= isionfive-2-v1.3b.dtb > > > > > dtb-$(CONFIG_TARGET_STARFIVE_VISIONFIVE2) +=3D jh7110-starfive-v= isionfive-2-v1.2a.dtb > > > > > +dtb-$(CONFIG_TARGET_TH1520_LPI4A) +=3D th1520-lichee-pi-4a.dtb > > > > > include $(srctree)/scripts/Makefile.dts > > > > > > > > > > targets +=3D $(dtb-y) > > > > > diff --git a/arch/riscv/dts/th1520-lichee-module-4a.dtsi b/arch/r= iscv/dts/th1520-lichee-module-4a.dtsi > > > > > new file mode 100644 > > > > > index 0000000000..dc00e3dfa0 > > > > > --- /dev/null > > > > > +++ b/arch/riscv/dts/th1520-lichee-module-4a.dtsi > > > > > @@ -0,0 +1,34 @@ > > > > > +// SPDX-License-Identifier: GPL-2.0 > > > > > +/* > > > > > + * Copyright (C) 2023 Jisheng Zhang > > > > > + */ > > > > > + > > > > > +/dts-v1/; > > > > > + > > > > > +#include "th1520.dtsi" > > > > > + > > > > > +/ { > > > > > + model =3D "Sipeed Lichee Module 4A"; > > > > > + compatible =3D "sipeed,lichee-module-4a", "thead,th1520"; > > > > > + > > > > > + memory@0 { > > > > > + device_type =3D "memory"; > > > > > + reg =3D <0x0 0x00000000 0x2 0x00000000>; > > > > > + }; > > > > > +}; > > > > > + > > > > > +&osc { > > > > > + clock-frequency =3D <24000000>; > > > > > +}; > > > > > + > > > > > +&osc_32k { > > > > > + clock-frequency =3D <32768>; > > > > > +}; > > > > > + > > > > > +&apb_clk { > > > > > + clock-frequency =3D <62500000>; > > > > > +}; > > > > > + > > > > > +&uart_sclk { > > > > > + clock-frequency =3D <100000000>; > > > > > +}; > > > > > diff --git a/arch/riscv/dts/th1520-lichee-pi-4a.dts b/arch/riscv/= dts/th1520-lichee-pi-4a.dts > > > > > new file mode 100644 > > > > > index 0000000000..a1248b2ee3 > > > > > --- /dev/null > > > > > +++ b/arch/riscv/dts/th1520-lichee-pi-4a.dts > > > > > @@ -0,0 +1,32 @@ > > > > > +// SPDX-License-Identifier: GPL-2.0 > > > > > +/* > > > > > + * Copyright (C) 2023 Jisheng Zhang > > > > > + */ > > > > > + > > > > > +#include "th1520-lichee-module-4a.dtsi" > > > > > + > > > > > +/ { > > > > > + model =3D "Sipeed Lichee Pi 4A"; > > > > > + compatible =3D "sipeed,lichee-pi-4a", "sipeed,lichee-modu= le-4a", "thead,th1520"; > > > > > + > > > > > + aliases { > > > > > + gpio0 =3D &gpio0; > > > > > + gpio1 =3D &gpio1; > > > > > + gpio2 =3D &gpio2; > > > > > + gpio3 =3D &gpio3; > > > > > + serial0 =3D &uart0; > > > > > + serial1 =3D &uart1; > > > > > + serial2 =3D &uart2; > > > > > + serial3 =3D &uart3; > > > > > + serial4 =3D &uart4; > > > > > + serial5 =3D &uart5; > > > > > + }; > > > > > + > > > > > + chosen { > > > > > + stdout-path =3D "serial0:115200n8"; > > > > > + }; > > > > > +}; > > > > > + > > > > > +&uart0 { > > > > > + status =3D "okay"; > > > > > +}; > > > > > diff --git a/arch/riscv/dts/th1520.dtsi b/arch/riscv/dts/th1520.d= tsi > > > > > new file mode 100644 > > > > > index 0000000000..f62a62da6e > > > > > --- /dev/null > > > > > +++ b/arch/riscv/dts/th1520.dtsi > > > > > @@ -0,0 +1,435 @@ > > > > > +// SPDX-License-Identifier: GPL-2.0 > > > > > +/* > > > > > + * Copyright (C) 2021 Alibaba Group Holding Limited. > > > > > + * Copyright (C) 2023 Jisheng Zhang > > > > > + */ > > > > > + > > > > > +#include > > > > > + > > > > > +/ { > > > > > + compatible =3D "thead,th1520"; > > > > > + #address-cells =3D <2>; > > > > > + #size-cells =3D <2>; > > > > > + > > > > > + cpus: cpus { > > > > > + #address-cells =3D <1>; > > > > > + #size-cells =3D <0>; > > > > > + timebase-frequency =3D <3000000>; > > > > > + > > > > > + c910_0: cpu@0 { > > > > > + compatible =3D "thead,c910", "riscv"; > > > > > + device_type =3D "cpu"; > > > > > + riscv,isa =3D "rv64imafdc"; > > > > > + reg =3D <0>; > > > > > + i-cache-block-size =3D <64>; > > > > > + i-cache-size =3D <65536>; > > > > > + i-cache-sets =3D <512>; > > > > > + d-cache-block-size =3D <64>; > > > > > + d-cache-size =3D <65536>; > > > > > + d-cache-sets =3D <512>; > > > > > + next-level-cache =3D <&l2_cache>; > > > > > + mmu-type =3D "riscv,sv39"; > > > > > + > > > > > + cpu0_intc: interrupt-controller { > > > > > + compatible =3D "riscv,cpu-intc"; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <1>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + c910_1: cpu@1 { > > > > > + compatible =3D "thead,c910", "riscv"; > > > > > + device_type =3D "cpu"; > > > > > + riscv,isa =3D "rv64imafdc"; > > > > > + reg =3D <1>; > > > > > + i-cache-block-size =3D <64>; > > > > > + i-cache-size =3D <65536>; > > > > > + i-cache-sets =3D <512>; > > > > > + d-cache-block-size =3D <64>; > > > > > + d-cache-size =3D <65536>; > > > > > + d-cache-sets =3D <512>; > > > > > + next-level-cache =3D <&l2_cache>; > > > > > + mmu-type =3D "riscv,sv39"; > > > > > + > > > > > + cpu1_intc: interrupt-controller { > > > > > + compatible =3D "riscv,cpu-intc"; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <1>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + c910_2: cpu@2 { > > > > > + compatible =3D "thead,c910", "riscv"; > > > > > + device_type =3D "cpu"; > > > > > + riscv,isa =3D "rv64imafdc"; > > > > > + reg =3D <2>; > > > > > + i-cache-block-size =3D <64>; > > > > > + i-cache-size =3D <65536>; > > > > > + i-cache-sets =3D <512>; > > > > > + d-cache-block-size =3D <64>; > > > > > + d-cache-size =3D <65536>; > > > > > + d-cache-sets =3D <512>; > > > > > + next-level-cache =3D <&l2_cache>; > > > > > + mmu-type =3D "riscv,sv39"; > > > > > + > > > > > + cpu2_intc: interrupt-controller { > > > > > + compatible =3D "riscv,cpu-intc"; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <1>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + c910_3: cpu@3 { > > > > > + compatible =3D "thead,c910", "riscv"; > > > > > + device_type =3D "cpu"; > > > > > + riscv,isa =3D "rv64imafdc"; > > > > > + reg =3D <3>; > > > > > + i-cache-block-size =3D <64>; > > > > > + i-cache-size =3D <65536>; > > > > > + i-cache-sets =3D <512>; > > > > > + d-cache-block-size =3D <64>; > > > > > + d-cache-size =3D <65536>; > > > > > + d-cache-sets =3D <512>; > > > > > + next-level-cache =3D <&l2_cache>; > > > > > + mmu-type =3D "riscv,sv39"; > > > > > + > > > > > + cpu3_intc: interrupt-controller { > > > > > + compatible =3D "riscv,cpu-intc"; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <1>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + cpu-map { > > > > > + cluster0 { > > > > > + core0 { > > > > > + cpu =3D <&c910_0>; > > > > > + }; > > > > > + > > > > > + core1 { > > > > > + cpu =3D <&c910_1>; > > > > > + }; > > > > > + > > > > > + core2 { > > > > > + cpu =3D <&c910_2>; > > > > > + }; > > > > > + > > > > > + core3 { > > > > > + cpu =3D <&c910_3>; > > > > > + }; > > > > > + }; > > > > > + }; > > > > > + > > > > > + l2_cache: l2-cache { > > > > > + compatible =3D "cache"; > > > > > + cache-block-size =3D <64>; > > > > > + cache-level =3D <2>; > > > > > + cache-size =3D <1048576>; > > > > > + cache-sets =3D <1024>; > > > > > + cache-unified; > > > > > + }; > > > > > + }; > > > > > + > > > > > + osc: oscillator { > > > > > + compatible =3D "fixed-clock"; > > > > > + clock-output-names =3D "osc_24m"; > > > > > + #clock-cells =3D <0>; > > > > > + }; > > > > > + > > > > > + osc_32k: 32k-oscillator { > > > > > + compatible =3D "fixed-clock"; > > > > > + clock-output-names =3D "osc_32k"; > > > > > + #clock-cells =3D <0>; > > > > > + }; > > > > > + > > > > > + apb_clk: apb-clk-clock { > > > > > + compatible =3D "fixed-clock"; > > > > > + clock-output-names =3D "apb_clk"; > > > > > + #clock-cells =3D <0>; > > > > > + }; > > > > > + > > > > > + uart_sclk: uart-sclk-clock { > > > > > + compatible =3D "fixed-clock"; > > > > > + clock-output-names =3D "uart_sclk"; > > > > > + #clock-cells =3D <0>; > > > > > + }; > > > > > + > > > > > + soc { > > > > > + compatible =3D "simple-bus"; > > > > > + interrupt-parent =3D <&plic>; > > > > > + #address-cells =3D <2>; > > > > > + #size-cells =3D <2>; > > > > > + ranges; > > > > > + > > > > > + cpurst: cpurst { > > > > > + compatible =3D "thead,reset-th1520"; > > > > > + entry-reg =3D <0xff 0xff019050>; > > > > > + entry-cnt =3D <4>; > > > > > + control-reg =3D <0xff 0xff015004>; > > > > > + control-val =3D <0x1c>; > > > > > + csr-copy =3D <0x7f3 0x7c0 0x7c1 0x7c2 0x7= c3 0x7c5 0x7cc>; > > > > > + }; > > > > This part has been changed. > > > > > > > noted, will update accordingly > > > > > > > > + > > > > > + plic: interrupt-controller@ffd8000000 { > > > > > + compatible =3D "thead,th1520-plic", "thea= d,c900-plic"; > > > > > + reg =3D <0xff 0xd8000000 0x0 0x01000000>; > > > > > + interrupts-extended =3D <&cpu0_intc 11>, = <&cpu0_intc 9>, > > > > > + <&cpu1_intc 11>, <&= cpu1_intc 9>, > > > > > + <&cpu2_intc 11>, <&= cpu2_intc 9>, > > > > > + <&cpu3_intc 11>, <&= cpu3_intc 9>; > > > > > + interrupt-controller; > > > > > + #address-cells =3D <0>; > > > > > + #interrupt-cells =3D <2>; > > > > > + riscv,ndev =3D <240>; > > > > > + }; > > > > > + > > > > > + clint: timer@ffdc000000 { > > > > > + compatible =3D "thead,th1520-clint", "the= ad,c900-clint"; > > > > > + reg =3D <0xff 0xdc000000 0x0 0x00010000>; > > > > > + interrupts-extended =3D <&cpu0_intc 3>, <= &cpu0_intc 7>, > > > > > + <&cpu1_intc 3>, <&c= pu1_intc 7>, > > > > > + <&cpu2_intc 3>, <&c= pu2_intc 7>, > > > > > + <&cpu3_intc 3>, <&c= pu3_intc 7>; > > > > > + }; > > > > > + > > > > > + uart0: serial@ffe7014000 { > > > > > + compatible =3D "snps,dw-apb-uart"; > > > > > + reg =3D <0xff 0xe7014000 0x0 0x4000>; > > > > > + interrupts =3D <36 IRQ_TYPE_LEVEL_HIGH>; > > > > > + clocks =3D <&uart_sclk>; > > > > > + reg-shift =3D <2>; > > > > > + reg-io-width =3D <4>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + uart1: serial@ffe7f00000 { > > > > > + compatible =3D "snps,dw-apb-uart"; > > > > > + reg =3D <0xff 0xe7f00000 0x0 0x4000>; > > > > > + interrupts =3D <37 IRQ_TYPE_LEVEL_HIGH>; > > > > > + clocks =3D <&uart_sclk>; > > > > > + reg-shift =3D <2>; > > > > > + reg-io-width =3D <4>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + uart3: serial@ffe7f04000 { > > > > > + compatible =3D "snps,dw-apb-uart"; > > > > > + reg =3D <0xff 0xe7f04000 0x0 0x4000>; > > > > > + interrupts =3D <39 IRQ_TYPE_LEVEL_HIGH>; > > > > > + clocks =3D <&uart_sclk>; > > > > > + reg-shift =3D <2>; > > > > > + reg-io-width =3D <4>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + gpio2: gpio@ffe7f34000 { > > > > > + compatible =3D "snps,dw-apb-gpio"; > > > > > + reg =3D <0xff 0xe7f34000 0x0 0x1000>; > > > > > + #address-cells =3D <1>; > > > > > + #size-cells =3D <0>; > > > > > + > > > > > + portc: gpio-controller@0 { > > > > > + compatible =3D "snps,dw-apb-gpio-= port"; > > > > > + gpio-controller; > > > > > + #gpio-cells =3D <2>; > > > > > + ngpios =3D <32>; > > > > > + reg =3D <0>; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <2>; > > > > > + interrupts =3D <58 IRQ_TYPE_LEVEL= _HIGH>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + gpio3: gpio@ffe7f38000 { > > > > > + compatible =3D "snps,dw-apb-gpio"; > > > > > + reg =3D <0xff 0xe7f38000 0x0 0x1000>; > > > > > + #address-cells =3D <1>; > > > > > + #size-cells =3D <0>; > > > > > + > > > > > + portd: gpio-controller@0 { > > > > > + compatible =3D "snps,dw-apb-gpio-= port"; > > > > > + gpio-controller; > > > > > + #gpio-cells =3D <2>; > > > > > + ngpios =3D <32>; > > > > > + reg =3D <0>; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <2>; > > > > > + interrupts =3D <59 IRQ_TYPE_LEVEL= _HIGH>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + gpio0: gpio@ffec005000 { > > > > > + compatible =3D "snps,dw-apb-gpio"; > > > > > + reg =3D <0xff 0xec005000 0x0 0x1000>; > > > > > + #address-cells =3D <1>; > > > > > + #size-cells =3D <0>; > > > > > + > > > > > + porta: gpio-controller@0 { > > > > > + compatible =3D "snps,dw-apb-gpio-= port"; > > > > > + gpio-controller; > > > > > + #gpio-cells =3D <2>; > > > > > + ngpios =3D <32>; > > > > > + reg =3D <0>; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <2>; > > > > > + interrupts =3D <56 IRQ_TYPE_LEVEL= _HIGH>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + gpio1: gpio@ffec006000 { > > > > > + compatible =3D "snps,dw-apb-gpio"; > > > > > + reg =3D <0xff 0xec006000 0x0 0x1000>; > > > > > + #address-cells =3D <1>; > > > > > + #size-cells =3D <0>; > > > > > + > > > > > + portb: gpio-controller@0 { > > > > > + compatible =3D "snps,dw-apb-gpio-= port"; > > > > > + gpio-controller; > > > > > + #gpio-cells =3D <2>; > > > > > + ngpios =3D <32>; > > > > > + reg =3D <0>; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <2>; > > > > > + interrupts =3D <57 IRQ_TYPE_LEVEL= _HIGH>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + uart2: serial@ffec010000 { > > > > > + compatible =3D "snps,dw-apb-uart"; > > > > > + reg =3D <0xff 0xec010000 0x0 0x4000>; > > > > > + interrupts =3D <38 IRQ_TYPE_LEVEL_HIGH>; > > > > > + clocks =3D <&uart_sclk>; > > > > > + reg-shift =3D <2>; > > > > > + reg-io-width =3D <4>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + timer0: timer@ffefc32000 { > > > > > + compatible =3D "snps,dw-apb-timer"; > > > > > + reg =3D <0xff 0xefc32000 0x0 0x14>; > > > > > + clocks =3D <&apb_clk>; > > > > > + clock-names =3D "timer"; > > > > > + interrupts =3D <16 IRQ_TYPE_LEVEL_HIGH>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + timer1: timer@ffefc32014 { > > > > > + compatible =3D "snps,dw-apb-timer"; > > > > > + reg =3D <0xff 0xefc32014 0x0 0x14>; > > > > > + clocks =3D <&apb_clk>; > > > > > + clock-names =3D "timer"; > > > > > + interrupts =3D <17 IRQ_TYPE_LEVEL_HIGH>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + timer2: timer@ffefc32028 { > > > > > + compatible =3D "snps,dw-apb-timer"; > > > > > + reg =3D <0xff 0xefc32028 0x0 0x14>; > > > > > + clocks =3D <&apb_clk>; > > > > > + clock-names =3D "timer"; > > > > > + interrupts =3D <18 IRQ_TYPE_LEVEL_HIGH>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + timer3: timer@ffefc3203c { > > > > > + compatible =3D "snps,dw-apb-timer"; > > > > > + reg =3D <0xff 0xefc3203c 0x0 0x14>; > > > > > + clocks =3D <&apb_clk>; > > > > > + clock-names =3D "timer"; > > > > > + interrupts =3D <19 IRQ_TYPE_LEVEL_HIGH>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + uart4: serial@fff7f08000 { > > > > > + compatible =3D "snps,dw-apb-uart"; > > > > > + reg =3D <0xff 0xf7f08000 0x0 0x4000>; > > > > > + interrupts =3D <40 IRQ_TYPE_LEVEL_HIGH>; > > > > > + clocks =3D <&uart_sclk>; > > > > > + reg-shift =3D <2>; > > > > > + reg-io-width =3D <4>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + uart5: serial@fff7f0c000 { > > > > > + compatible =3D "snps,dw-apb-uart"; > > > > > + reg =3D <0xff 0xf7f0c000 0x0 0x4000>; > > > > > + interrupts =3D <41 IRQ_TYPE_LEVEL_HIGH>; > > > > > + clocks =3D <&uart_sclk>; > > > > > + reg-shift =3D <2>; > > > > > + reg-io-width =3D <4>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + timer4: timer@ffffc33000 { > > > > > + compatible =3D "snps,dw-apb-timer"; > > > > > + reg =3D <0xff 0xffc33000 0x0 0x14>; > > > > > + clocks =3D <&apb_clk>; > > > > > + clock-names =3D "timer"; > > > > > + interrupts =3D <20 IRQ_TYPE_LEVEL_HIGH>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + timer5: timer@ffffc33014 { > > > > > + compatible =3D "snps,dw-apb-timer"; > > > > > + reg =3D <0xff 0xffc33014 0x0 0x14>; > > > > > + clocks =3D <&apb_clk>; > > > > > + clock-names =3D "timer"; > > > > > + interrupts =3D <21 IRQ_TYPE_LEVEL_HIGH>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + timer6: timer@ffffc33028 { > > > > > + compatible =3D "snps,dw-apb-timer"; > > > > > + reg =3D <0xff 0xffc33028 0x0 0x14>; > > > > > + clocks =3D <&apb_clk>; > > > > > + clock-names =3D "timer"; > > > > > + interrupts =3D <22 IRQ_TYPE_LEVEL_HIGH>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + timer7: timer@ffffc3303c { > > > > > + compatible =3D "snps,dw-apb-timer"; > > > > > + reg =3D <0xff 0xffc3303c 0x0 0x14>; > > > > > + clocks =3D <&apb_clk>; > > > > > + clock-names =3D "timer"; > > > > > + interrupts =3D <23 IRQ_TYPE_LEVEL_HIGH>; > > > > > + status =3D "disabled"; > > > > > + }; > > > > > + > > > > > + ao_gpio0: gpio@fffff41000 { > > > > > + compatible =3D "snps,dw-apb-gpio"; > > > > > + reg =3D <0xff 0xfff41000 0x0 0x1000>; > > > > > + #address-cells =3D <1>; > > > > > + #size-cells =3D <0>; > > > > > + > > > > > + porte: gpio-controller@0 { > > > > > + compatible =3D "snps,dw-apb-gpio-= port"; > > > > > + gpio-controller; > > > > > + #gpio-cells =3D <2>; > > > > > + ngpios =3D <32>; > > > > > + reg =3D <0>; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <2>; > > > > > + interrupts =3D <76 IRQ_TYPE_LEVEL= _HIGH>; > > > > > + }; > > > > > + }; > > > > > + > > > > > + ao_gpio1: gpio@fffff52000 { > > > > > + compatible =3D "snps,dw-apb-gpio"; > > > > > + reg =3D <0xff 0xfff52000 0x0 0x1000>; > > > > > + #address-cells =3D <1>; > > > > > + #size-cells =3D <0>; > > > > > + > > > > > + portf: gpio-controller@0 { > > > > > + compatible =3D "snps,dw-apb-gpio-= port"; > > > > > + gpio-controller; > > > > > + #gpio-cells =3D <2>; > > > > > + ngpios =3D <32>; > > > > > + reg =3D <0>; > > > > > + interrupt-controller; > > > > > + #interrupt-cells =3D <2>; > > > > > + interrupts =3D <55 IRQ_TYPE_LEVEL= _HIGH>; > > > > > + }; > > > > > + }; > > > > > + }; > > > > > +}; > > > > > -- > > > > > 2.40.0 > > > > > > > > > > > > > > > > > -- > > > > Best Regards > > > > Guo Ren > > > > > > -- > > > Yixun Lan (dlan) > > > Gentoo Linux Developer > > > GPG Key ID AABEFD55 > > > > > > > > -- > > Best Regards > > Guo Ren > > -- > Yixun Lan (dlan) > Gentoo Linux Developer > GPG Key ID AABEFD55 --=20 Best Regards Guo Ren