Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp1857965rwd; Thu, 15 Jun 2023 17:18:19 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4HR11Ucmc4nkH4Rv73ven+XT0QzDVFyDQjuKcO2Ol6/4A3yDtIt1zig21t6yzkoaoNlz8l X-Received: by 2002:a05:6a00:2e10:b0:64f:35c8:8584 with SMTP id fc16-20020a056a002e1000b0064f35c88584mr790166pfb.18.1686874699362; Thu, 15 Jun 2023 17:18:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686874699; cv=none; d=google.com; s=arc-20160816; b=DAVan+9lHGgdS2b2ODOmSK5OSduVIw/1AqRci7ClsBExBFsxUU9dSvRwC+5sr6kNli MABCSFw9Dc7cLLHbFyRAf/T0qxLzETZty3m6uxbEYixNQpyiMtx2cDcgLMWUe38nm8MF 5y5DvwD2bBq/DJSZgLFl3bzcQ/4WtcHNN5zBKMMAKJJ6/YjreigggGYpCzbOiKG70uv8 6YQkz+pTKS6FPLULGUMdEqmwCCN7n+iyw5nj6yfB9boTO7K+GNVCe8QxZVbAM34lokrP kItVQFF6/Ba12GiFaHTvyw8GHo9+vuQ81qXW771H5i1u0RhjW3eWcAQ45QVXx/SQ54w9 pd+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=EXJaVBwScADXk+p8j66hm9IAIkbBsbJ5NVoaEyoGrXc=; b=W4pWiLhF4mXi/U7I9pPV8cRdv9IBmXUVsOLiQui36725MffjCG4uhvY9YklQHSsgw7 qp2LSsW3QvA92FeZi6SFnOTxNpBtOlJSJIApHVfv6Z9rT6CuXHXcz32TOx092KmVGL0V mP3gculah0I71dOmZpaSntfm+dJxVwykxuUIOHgFOLokWzewDBgP8iBpdrGPPjFJF5aQ V6KILJ6bi0jhBQSbW7pAc6VcmSUSTUKqOENgwRyarv3mpTNuWqmSm/FqEdBImoozvBB+ rEp+8BH7Z4FVWTINiJj7iIBlauDZPsAh11pLEA5ODPnN3SvrYEsw4P++NSRuX8xpQf3u SskA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gentoo.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w5-20020a626205000000b0064d72c6eab6si13680160pfb.274.2023.06.15.17.17.51; Thu, 15 Jun 2023 17:18:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gentoo.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240513AbjFPAB3 (ORCPT + 99 others); Thu, 15 Jun 2023 20:01:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37916 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231195AbjFPAB1 (ORCPT ); Thu, 15 Jun 2023 20:01:27 -0400 Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66AAB271F; Thu, 15 Jun 2023 17:01:25 -0700 (PDT) Date: Fri, 16 Jun 2023 08:01:18 +0800 From: Yixun Lan To: Lucas Tanure Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neil Armstrong , Jerome Brunet , Michael Turquette , Stephen Boyd , Kevin Hilman , Greg Kroah-Hartman , Nick , Artem , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-serial@vger.kernel.org Subject: Re: [PATCH 6/6] arm64: dts: meson-t7-a311d2-khadas-vim4: add initial device-tree Message-ID: References: <20230615182938.18487-1-tanure@linux.com> <20230615182938.18487-7-tanure@linux.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230615182938.18487-7-tanure@linux.com> X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Lucas: On 19:29 Thu 15 Jun , Lucas Tanure wrote: > The Khadas VIM4 uses the Amlogic A311D2 SoC, based on the Amlogic T7 SoC > family, on a board with the same form factor as the VIM3 models. I'd like to see little bit more verbose messages here, like which functionality/driver added here - cpu, gic, timer, uart? so, it's capable of booting into a serial console? > > - 8GB LPDDR4X 2016MHz > - 32GB eMMC 5.1 storage > - 32MB SPI flash > - 10/100/1000 Base-T Ethernet > - AP6275S Wireless (802.11 a/b/g/n/ac/ax, BT5.1) > - HDMI 2.1 video > - HDMI Input > - 1x USB 2.0 + 1x USB 3.0 ports > - 1x USB-C (power) with USB 2.0 OTG > - 3x LED's (1x red, 1x blue, 1x white) > - 3x buttons (power, function, reset) > - M2 socket with PCIe, USB, ADC & I2C > - 40pin GPIO Header > - 1x micro SD card slot > > Signed-off-by: Lucas Tanure > --- > arch/arm64/boot/dts/amlogic/Makefile | 1 + > .../amlogic/meson-t7-a311d2-khadas-vim4.dts | 112 ++++++++++ > arch/arm64/boot/dts/amlogic/meson-t7.dtsi | 202 ++++++++++++++++++ > 3 files changed, 315 insertions(+) > create mode 100644 arch/arm64/boot/dts/amlogic/meson-t7-a311d2-khadas-vim4.dts > create mode 100644 arch/arm64/boot/dts/amlogic/meson-t7.dtsi > > diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile > index cd1c5b04890a..1c5846bd1ca0 100644 > --- a/arch/arm64/boot/dts/amlogic/Makefile > +++ b/arch/arm64/boot/dts/amlogic/Makefile > @@ -74,3 +74,4 @@ dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-hc4.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-sm1-sei610.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air-gbit.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-t7-a311d2-khadas-vim4.dtb > diff --git a/arch/arm64/boot/dts/amlogic/meson-t7-a311d2-khadas-vim4.dts b/arch/arm64/boot/dts/amlogic/meson-t7-a311d2-khadas-vim4.dts > new file mode 100644 > index 000000000000..46e175536edf > --- /dev/null > +++ b/arch/arm64/boot/dts/amlogic/meson-t7-a311d2-khadas-vim4.dts > @@ -0,0 +1,112 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2022 Wesion, Inc. All rights reserved. > + */ > + > +/dts-v1/; > + > +#include "meson-t7.dtsi" > + > +/ { > + model = "Khadas VIM4"; > + > + aliases { > + serial0 = &uart_A; > + }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + /* 3 MiB reserved for ARM Trusted Firmware (BL31) */ > + secmon_reserved: secmon@5000000 { > + reg = <0x0 0x05000000 0x0 0x300000>; > + no-map; > + }; > + > + /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ > + secmon_reserved_bl32: secmon@5300000 { > + reg = <0x0 0x05300000 0x0 0x2000000>; > + no-map; > + }; > + }; > + > + xtal: xtal-clk { > + compatible = "fixed-clock"; > + clock-frequency = <24000000>; > + clock-output-names = "xtal"; > + #clock-cells = <0>; > + }; > + > + vddcpu_a: regulator-vddcpu-a { > + /* > + * MP8756GD Regulator. > + */ > + compatible = "pwm-regulator"; > + > + regulator-name = "VDDCPU_A"; > + regulator-min-microvolt = <689000>; > + regulator-max-microvolt = <1049000>; > + > + regulator-boot-on; > + regulator-always-on; > + }; > + > + vddcpu_b: regulator-vddcpu-a { > + /* > + * MP8756GD Regulator. > + */ > + compatible = "pwm-regulator"; > + > + regulator-name = "VDDCPU_B"; > + regulator-min-microvolt = <689000>; > + regulator-max-microvolt = <1049000>; > + > + regulator-boot-on; > + regulator-always-on; > + }; > +}; > + > +&clkc{ > + clocks = <&xtal>; > + clock-names = "xtal"; > + status = "okay"; > +}; > + > +&uart_A { > + status = "okay"; > +}; > + > +&cpu0 { > + cpu-supply = <&vddcpu_a>; > +}; > + > +&cpu1 { > + cpu-supply = <&vddcpu_a>; > +}; > + > +&cpu2 { > + cpu-supply = <&vddcpu_a>; > +}; > + > +&cpu3 { > + cpu-supply = <&vddcpu_a>; > +}; > + > +&cpu100 { > + cpu-supply = <&vddcpu_b>; > +}; > + > +&cpu101 { > + cpu-supply = <&vddcpu_b>; > +}; > + > +&cpu102 { > + cpu-supply = <&vddcpu_b>; > +}; > + > +&cpu103 { > + cpu-supply = <&vddcpu_b>; > +}; > + > diff --git a/arch/arm64/boot/dts/amlogic/meson-t7.dtsi b/arch/arm64/boot/dts/amlogic/meson-t7.dtsi > new file mode 100644 > index 000000000000..453b3d9cb9d8 > --- /dev/null > +++ b/arch/arm64/boot/dts/amlogic/meson-t7.dtsi > @@ -0,0 +1,202 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2019 Amlogic, Inc. All rights reserved. > + */ > + > +#include > +#include > + > +/ { > + compatible = "amlogic,t7"; > + interrupt-parent = <&gic>; > + #address-cells = <2>; > + #size-cells = <2>; > + > + cpus { > + #address-cells = <0x2>; > + #size-cells = <0x0>; > + > + cpu-map { > + cluster0 { > + core0 { > + cpu = <&cpu100>; > + }; > + core1 { > + cpu = <&cpu101>; > + }; > + core2 { > + cpu = <&cpu102>; > + }; > + core3 { > + cpu = <&cpu103>; > + }; > + }; > + > + cluster1 { > + core0 { > + cpu = <&cpu0>; > + }; > + core1 { > + cpu = <&cpu1>; > + }; > + core2 { > + cpu = <&cpu2>; > + }; > + core3 { > + cpu = <&cpu3>; > + }; > + }; > + }; > + > + cpu100: cpu@100 { > + device_type = "cpu"; > + compatible = "arm,cortex-a53"; > + reg = <0x0 0x100>; > + enable-method = "psci"; > + capacity-dmips-mhz = <632>; > + dynamic-power-coefficient = <110>; > + #cooling-cells = <2>; > + }; > + > + cpu101: cpu@101{ > + device_type = "cpu"; > + compatible = "arm,cortex-a53"; > + reg = <0x0 0x101>; > + enable-method = "psci"; > + capacity-dmips-mhz = <632>; > + dynamic-power-coefficient = <110>; > + #cooling-cells = <2>; > + }; > + > + cpu102: cpu@102 { > + device_type = "cpu"; > + compatible = "arm,cortex-a53"; > + reg = <0x0 0x102>; > + enable-method = "psci"; > + capacity-dmips-mhz = <632>; > + dynamic-power-coefficient = <110>; > + #cooling-cells = <2>; > + }; > + > + cpu103: cpu@103 { > + device_type = "cpu"; > + compatible = "arm,cortex-a53"; > + reg = <0x0 0x103>; > + enable-method = "psci"; > + capacity-dmips-mhz = <632>; > + dynamic-power-coefficient = <110>; > + #cooling-cells = <2>; > + }; > + > + cpu0: cpu@0 { > + device_type = "cpu"; > + compatible = "arm,cortex-a73"; > + reg = <0x0 0x0>; > + enable-method = "psci"; > + capacity-dmips-mhz = <1024>; > + dynamic-power-coefficient = <550>; > + #cooling-cells = <2>; > + }; > + > + cpu1: cpu@1 { > + device_type = "cpu"; > + compatible = "arm,cortex-a73"; > + reg = <0x0 0x1>; > + enable-method = "psci"; > + capacity-dmips-mhz = <1024>; > + dynamic-power-coefficient = <550>; > + #cooling-cells = <2>; > + }; > + > + cpu2: cpu@2 { > + device_type = "cpu"; > + compatible = "arm,cortex-a73"; > + reg = <0x0 0x2>; > + enable-method = "psci"; > + capacity-dmips-mhz = <1024>; > + dynamic-power-coefficient = <550>; > + #cooling-cells = <2>; > + }; > + > + cpu3: cpu@3 { > + device_type = "cpu"; > + compatible = "arm,cortex-a73"; > + reg = <0x0 0x3>; > + enable-method = "psci"; > + capacity-dmips-mhz = <1024>; > + dynamic-power-coefficient = <550>; > + #cooling-cells = <2>; > + }; > + }; > + > + timer { > + compatible = "arm,armv8-timer"; > + interrupts = , > + , > + , > + ; > + }; > + > + gic: interrupt-controller@fff01000 { > + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; > + #interrupt-cells = <3>; > + #address-cells = <0>; > + interrupt-controller; > + reg = <0x0 0xfff01000 0 0x1000>, > + <0x0 0xfff02000 0 0x0100>; > + interrupts = ; > + }; > + > + psci { > + compatible = "arm,psci-0.2"; can you double check if it is actual version 0.2? most recent Amlogic SoC should support psci-1.0 > + method = "smc"; > + }; > + > + sm: secure-monitor { > + compatible = "amlogic,meson-gxbb-sm"; > + }; > + > + soc { > + compatible = "simple-bus"; > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + apb4: apb4@fe000000 { > + compatible = "simple-bus"; > + reg = <0x0 0xfe000000 0x0 0x480000>; > + #address-cells = <2>; > + #size-cells = <2>; > + ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>; > + > + clkc: clock-controller { > + compatible = "amlogic,t7-clkc"; > + #clock-cells = <1>; > + reg = <0x0 0x0 0x0 0x49c>, > + <0x0 0x8000 0x0 0x320>, > + <0x0 0xe040 0x0 0xbc>; > + reg-names = "basic", > + "pll", > + "cpu_clk"; > + }; > + > + ao-secure@140 { > + compatible = "amlogic,meson-gx-ao-secure", "syscon"; > + reg=<0x0 0x10220 0x0 0x140>; > + amlogic,has-chip-id; > + }; > + }; > + > + uart_A: serial@fe078000 { > + compatible = "amlogic,meson-t7-uart"; > + reg = <0x0 0xfe078000 0x0 0x18>; > + interrupts = <0 168 1>; > + status = "disabled"; > + clocks = <&xtal>, <&clkc CLKID_UART_A>, <&xtal>; > + clock-names = "xtal", "pclk", "baud"; > + fifo-size = < 64 >; > + pinctrl-names = "default"; > + }; I believe there are more uart ports, it's worth the effort to add them all in one run, which sounds more consistent to me, anyway you could also choose to add them in later patch series, no problem.. > + }; > +}; > + > -- > 2.41.0 > > > _______________________________________________ > linux-amlogic mailing list > linux-amlogic@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-amlogic -- Yixun Lan (dlan) Gentoo Linux Developer GPG Key ID AABEFD55