From nobody Sat Feb 7 23:23:07 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 93C7CEB64D7 for ; Wed, 21 Jun 2023 13:32:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231735AbjFUNc3 (ORCPT ); Wed, 21 Jun 2023 09:32:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60218 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229602AbjFUNc0 (ORCPT ); Wed, 21 Jun 2023 09:32:26 -0400 Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71A361997; Wed, 21 Jun 2023 06:32:25 -0700 (PDT) Received: by mail-oi1-f173.google.com with SMTP id 5614622812f47-3a0423ea74eso962304b6e.1; Wed, 21 Jun 2023 06:32:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687354344; x=1689946344; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=x/BXWd+aXbwkUNKUI7mfSjhHzxj8tSAcMR0CS9iLOvM=; b=WU2GMQcK1Lar7WTqPzOXlh/agjfKaubdBQ54PZ7V98k8ajh3Igigg3TswBKALW6/C/ VW84CWYHgyDP2bvKkQ7zWn3oqjqj4I+vI14bikpVNhKtftBGg6tzWyK2+HJ6Zz9daRrK T8tV5wEvzAmAkprlZnh8/l8ZcTenITwyyJfPAAY1e+fUFeKOEuAkGLmG5b9rrvxytguD xrLm3tOX5K6kMBYubkbhDsI6gSk9YAl7zMY6fjlFntiDL7RXyEoDr+cLUIBmwQrJ232V EtEFIZKdaR4DzPdaHDv36K0kOhr2IqvpnLRef0InBqIa9fe8fA81InfZLc7fREtEv77C 1XOw== X-Gm-Message-State: AC+VfDxK2JbOwHPXzJDYWb0uCuaj7yu2u905/rUdhnULBkJUgUVom+Zi BqyV5k2cnXEvdYv/A6UszKE= X-Google-Smtp-Source: ACHHUZ4zZPnP3Kwl2dc4iT9x6MuYM3yLaD3z3ulFocAGM5I9b07DhZrJuBAna5D/GjgtO3RZ+DCudA== X-Received: by 2002:a05:6808:ddf:b0:3a0:3f15:1aca with SMTP id g31-20020a0568080ddf00b003a03f151acamr3971860oic.55.1687354344688; Wed, 21 Jun 2023 06:32:24 -0700 (PDT) Received: from localhost.localdomain (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net. [82.11.51.62]) by smtp.gmail.com with ESMTPSA id bf24-20020a056808191800b00395f2c84b81sm2114206oib.54.2023.06.21.06.32.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jun 2023 06:32:24 -0700 (PDT) From: Lucas Tanure To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neil Armstrong , Jerome Brunet , Kevin Hilman Cc: Nick , Artem , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Lucas Tanure , Conor Dooley Subject: [PATCH v3 1/3] dt-bindings: arm: amlogic: add Amlogic A311D2 bindings Date: Wed, 21 Jun 2023 14:32:13 +0100 Message-ID: <20230621133215.109254-2-tanure@linux.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230621133215.109254-1-tanure@linux.com> References: <20230621133215.109254-1-tanure@linux.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add bindings for the Khadas Vim4 board, using A311D2 soc, a Meson T7 family chip. Signed-off-by: Lucas Tanure Acked-by: Conor Dooley --- Documentation/devicetree/bindings/arm/amlogic.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documenta= tion/devicetree/bindings/arm/amlogic.yaml index 274ee0890312..8dbd65170c50 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -211,6 +211,13 @@ properties: - amlogic,aq222 - const: amlogic,s4 =20 + - description: Boards with the Amlogic Meson t7 A311D2 SoC + items: + - enum: + - khadas,vim4 + - const: amlogic,a311d2 + - const: amlogic,t7 + additionalProperties: true =20 ... --=20 2.41.0 From nobody Sat Feb 7 23:23:07 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41E03EB64D7 for ; Wed, 21 Jun 2023 13:32:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232138AbjFUNce (ORCPT ); Wed, 21 Jun 2023 09:32:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60264 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231896AbjFUNc3 (ORCPT ); Wed, 21 Jun 2023 09:32:29 -0400 Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5519E19AB; Wed, 21 Jun 2023 06:32:28 -0700 (PDT) Received: by mail-oi1-f180.google.com with SMTP id 5614622812f47-39ecf031271so2748802b6e.1; Wed, 21 Jun 2023 06:32:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687354347; x=1689946347; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+epYfBWfb+1x9J48BBgefK4RbF1tT6DdUYZkz0j7yII=; b=OMwS+96FQA1ZGTmDpCLiKjeF6afzAUFnejnLRpu6JHFTM0b1aNQwmxa6VbAibxcSWu udcm3Qh6+qgJY7qyjynpElBRwU0OoT22LmijPL+1fzFZQjVUULR1rX4B+P4Ct5i6iNb0 lb0K285TswW2+O7qtztiQzKXgtAXy+k3AGrtsnrFPc4FD1+HMIHcEkmzQrGkLrDNZKKc //ZiDHOQ8ceVUdjjQuANndEz5v0qRSCctrg0Qe1I8URZLyglm6DfZn5lI6voJHHRfz6X HZsxP3yTw8nM/u7VMLHQ/jaNiec+TSwj6JyFLBgHv63BUtGvDao9clCNuGJIIoQHeZa5 MWBw== X-Gm-Message-State: AC+VfDwvSsOt86IgHCn3ARRmFbW9lSVeqU6v1sev7Ik3W6aFcFYibQS/ NmRn+3x1Fg9hLcG9JwWvPdyL9B4OavmANF3r X-Google-Smtp-Source: ACHHUZ4zNPDAe5uEN/n6D0xeeiNucAc8zANUHhXM9re06jw8HAHMKRDY+ryg26hjRI79GzQMdlcUjA== X-Received: by 2002:aca:f0b:0:b0:396:11b3:5851 with SMTP id 11-20020aca0f0b000000b0039611b35851mr16382216oip.54.1687354347631; Wed, 21 Jun 2023 06:32:27 -0700 (PDT) Received: from localhost.localdomain (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net. [82.11.51.62]) by smtp.gmail.com with ESMTPSA id bf24-20020a056808191800b00395f2c84b81sm2114206oib.54.2023.06.21.06.32.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jun 2023 06:32:26 -0700 (PDT) From: Lucas Tanure To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neil Armstrong , Jerome Brunet , Kevin Hilman Cc: Nick , Artem , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Lucas Tanure Subject: [PATCH v3 2/3] dt-bindings: serial: amlogic,meson-uart: Add compatible string for T7 Date: Wed, 21 Jun 2023 14:32:14 +0100 Message-ID: <20230621133215.109254-3-tanure@linux.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230621133215.109254-1-tanure@linux.com> References: <20230621133215.109254-1-tanure@linux.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Amlogic T7 SoCs uses the same UART controller as S4 SoCs and G12A. There is no need for an extra compatible line in the driver, but add T7 compatible line for documentation. Signed-off-by: Lucas Tanure --- .../devicetree/bindings/serial/amlogic,meson-uart.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.ya= ml b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml index 01ec45b3b406..860ab58d87b0 100644 --- a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml +++ b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml @@ -33,6 +33,7 @@ properties: - amlogic,meson8b-uart - amlogic,meson-gx-uart - amlogic,meson-s4-uart + - amlogic,meson-t7-uart - const: amlogic,meson-ao-uart - description: Always-on power domain UART controller on G12A SoCs items: @@ -46,6 +47,7 @@ properties: - amlogic,meson8b-uart - amlogic,meson-gx-uart - amlogic,meson-s4-uart + - amlogic,meson-t7-uart - description: Everything-Else power domain UART controller on G12A = SoCs items: - const: amlogic,meson-g12a-uart --=20 2.41.0 From nobody Sat Feb 7 23:23:07 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7A34EB64D7 for ; Wed, 21 Jun 2023 13:32:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232401AbjFUNcv (ORCPT ); Wed, 21 Jun 2023 09:32:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229602AbjFUNcc (ORCPT ); Wed, 21 Jun 2023 09:32:32 -0400 Received: from mail-oi1-f170.google.com (mail-oi1-f170.google.com [209.85.167.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 07C0B1981; Wed, 21 Jun 2023 06:32:30 -0700 (PDT) Received: by mail-oi1-f170.google.com with SMTP id 5614622812f47-39ea511930eso3867976b6e.1; Wed, 21 Jun 2023 06:32:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687354350; x=1689946350; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=97BZTwL+XGk6txP1+XwORBw5PdtQcH3A6RHbZTtRDIw=; b=BQMP+MhaSC4tSfOGKpVepCSh0sd9Z2WHcfO987jurBRw26+VZQR1GmlxmjjXRIJAjo G3G2Lzjua201o0q9+vrXuXuz9pNaDu4N9H4eLeEmRYh1ZuoMWO1ZG2WDDWdeBLuxRe1V 2pfrES/G0nXKcLcHCKpzO3XL5xIgw4I3ZxnVgtBkLXw0lPoLt4Kyr3LfuN1NSAyWh4Ly L0ZyuHKIUlQSMNRfEdlwDEZidpzZ+zYfCwVzoDzcodgngDihUd13I83pCUeQc+umbPYM QH6vijnCCdySELqbmoAn0ZhYb1SwJQY6b8lYoVZrVSfgWnk96QviotEkwEIydPqPzRt7 jk0g== X-Gm-Message-State: AC+VfDwb3qFAbMVHksvXHK23qayNYIC+hkoGwv42gKMPdNlVlRBFoh29 Z06mWF1kTy5Ue8kEdsuntWU= X-Google-Smtp-Source: ACHHUZ4AK2l6xiJKsLIdL7K3H8Wkr8RaJdoLouPfsx+2qQZ0oJ+xXSBmwAcsPOllmTs4xcSaXGTiRw== X-Received: by 2002:a05:6808:2a5c:b0:39e:c542:c300 with SMTP id fa28-20020a0568082a5c00b0039ec542c300mr10048380oib.0.1687354350088; Wed, 21 Jun 2023 06:32:30 -0700 (PDT) Received: from localhost.localdomain (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net. [82.11.51.62]) by smtp.gmail.com with ESMTPSA id bf24-20020a056808191800b00395f2c84b81sm2114206oib.54.2023.06.21.06.32.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jun 2023 06:32:29 -0700 (PDT) From: Lucas Tanure To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neil Armstrong , Jerome Brunet , Kevin Hilman Cc: Nick , Artem , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Lucas Tanure Subject: [PATCH v3 3/3] arm64: dts: meson-t7-a311d2-khadas-vim4: add initial device-tree Date: Wed, 21 Jun 2023 14:32:15 +0100 Message-ID: <20230621133215.109254-4-tanure@linux.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230621133215.109254-1-tanure@linux.com> References: <20230621133215.109254-1-tanure@linux.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" 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. - 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 | 52 ++++++ arch/arm64/boot/dts/amlogic/meson-t7.dtsi | 158 ++++++++++++++++++ 3 files changed, 211 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/aml= ogic/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) +=3D meson-sm1-odroid-hc4.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-sm1-sei610.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-sm1-x96-air-gbit.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-sm1-x96-air.dtb +dtb-$(CONFIG_ARCH_MESON) +=3D 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..04cc8b0dfd8c --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-t7-a311d2-khadas-vim4.dts @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2022 Wesion, Inc. All rights reserved. + */ + +/dts-v1/; + +#include "meson-t7.dtsi" + +/ { + model =3D "Khadas vim4"; + compatible =3D "khadas,vim4", "amlogic,a311d2", "amlogic,t7"; + + aliases { + serial0 =3D &uart_A; + }; + + memory@0 { + device_type =3D "memory"; + reg =3D <0x0 0x0 0x2 0x0>; /* 8 GB */ + }; + + reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + /* 3 MiB reserved for ARM Trusted Firmware (BL31) */ + secmon_reserved: secmon@5000000 { + reg =3D <0x0 0x05000000 0x0 0x300000>; + no-map; + }; + + /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ + secmon_reserved_bl32: secmon@5300000 { + reg =3D <0x0 0x05300000 0x0 0x2000000>; + no-map; + }; + }; + + xtal: xtal-clk { + compatible =3D "fixed-clock"; + clock-frequency =3D <24000000>; + clock-output-names =3D "xtal"; + #clock-cells =3D <0>; + }; + +}; + +&uart_A { + status =3D "okay"; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-t7.dtsi b/arch/arm64/boot/dt= s/amlogic/meson-t7.dtsi new file mode 100644 index 000000000000..9b8c33708ecd --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-t7.dtsi @@ -0,0 +1,158 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 Amlogic, Inc. All rights reserved. + */ + +#include + +/ { + interrupt-parent =3D <&gic>; + #address-cells =3D <2>; + #size-cells =3D <2>; + + cpus { + #address-cells =3D <0x2>; + #size-cells =3D <0x0>; + + cpu-map { + cluster0 { + core0 { + cpu =3D <&cpu100>; + }; + core1 { + cpu =3D <&cpu101>; + }; + core2 { + cpu =3D <&cpu102>; + }; + core3 { + cpu =3D <&cpu103>; + }; + }; + + cluster1 { + core0 { + cpu =3D <&cpu0>; + }; + core1 { + cpu =3D <&cpu1>; + }; + core2 { + cpu =3D <&cpu2>; + }; + core3 { + cpu =3D <&cpu3>; + }; + }; + }; + + cpu100: cpu@100 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a53"; + reg =3D <0x0 0x100>; + enable-method =3D "psci"; + }; + + cpu101: cpu@101{ + device_type =3D "cpu"; + compatible =3D "arm,cortex-a53"; + reg =3D <0x0 0x101>; + enable-method =3D "psci"; + }; + + cpu102: cpu@102 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a53"; + reg =3D <0x0 0x102>; + enable-method =3D "psci"; + }; + + cpu103: cpu@103 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a53"; + reg =3D <0x0 0x103>; + enable-method =3D "psci"; + }; + + cpu0: cpu@0 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a73"; + reg =3D <0x0 0x0>; + enable-method =3D "psci"; + }; + + cpu1: cpu@1 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a73"; + reg =3D <0x0 0x1>; + enable-method =3D "psci"; + }; + + cpu2: cpu@2 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a73"; + reg =3D <0x0 0x2>; + enable-method =3D "psci"; + }; + + cpu3: cpu@3 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a73"; + reg =3D <0x0 0x3>; + enable-method =3D "psci"; + }; + }; + + timer { + compatible =3D "arm,armv8-timer"; + interrupts =3D , + , + , + ; + }; + + psci { + compatible =3D "arm,psci-1.0"; + method =3D "smc"; + }; + + sm: secure-monitor { + compatible =3D "amlogic,meson-gxbb-sm"; + }; + + soc { + compatible =3D "simple-bus"; + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + gic: interrupt-controller@fff01000 { + compatible =3D "arm,gic-400"; + #interrupt-cells =3D <3>; + #address-cells =3D <0>; + interrupt-controller; + reg =3D <0x0 0xfff01000 0 0x1000>, + <0x0 0xfff02000 0 0x0100>; + interrupts =3D ; + }; + + apb4: bus@fe000000 { + compatible =3D "simple-bus"; + reg =3D <0x0 0xfe000000 0x0 0x480000>; + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges =3D <0x0 0x0 0x0 0xfe000000 0x0 0x480000>; + + uart_A: serial@78000 { + compatible =3D "amlogic,meson-t7-uart", + "amlogic,meson-s4-uart"; + reg =3D <0x0 0x78000 0x0 0x18>; + interrupts =3D ; + status =3D "disabled"; + clocks =3D <&xtal>, <&xtal>, <&xtal>; + clock-names =3D "xtal", "pclk", "baud"; + }; + }; + + }; +}; --=20 2.41.0