Skip to content

Commit 0a84cbf

Browse files
committed
Merge tag 'amlogic-arm64-dt-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt
Amlogic ARM64 DT changes for v6.7: - Add audio DT nodes for p200/p201/u200 - Add a bunch of peripherals for Amlogic-T7 (watchdog, power domain, pinctrl) - Add a bunch or peripherals for Amlogic-A1 (clk, usb, efuse, spi, uarts, emmc, ADC, rng, i2c) - Add NAND node on Amlogic AXG - Again a bunch of DT fixups for DT bindings check - New boards: - Amlogic AD402 reference board based on A113L SoC - Libre Computer Cottonwood boards * tag 'amlogic-arm64-dt-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: (38 commits) arm64: dts: amlogic: a1: support all i2c masters and their muxes arm64: dts: amlogic: add libretech cottonwood support dt-bindings: arm: amlogic: add libretech cottonwood support arm64: dts: meson-a1-ad402: set SPIFC pins arm64: dts: meson: a1: Add SPIFC mux pins arm64: dts: meson-s4: add hwrng node arm64: dts: meson: g12: name spdifout consistently arm64: dts: Add pinctrl node for Amlogic T7 SoCs arm64: dts: meson: u200: add onboard devices arm64: dts: meson: u200: use TDM C for HDMI arm64: dts: meson: u200: add spdifout b routes arm64: dts: meson: u200: add missing audio clock controller arm64: dts: meson: u200: fix spdif output pin arm64: dts: amlogic: t7: add power domain controller node dt-bindings: power: add Amlogic T7 power domains arm64: dts: meson-g12: Fix compatible for amlogic,g12a-tdmin arm64: dts: meson-g12: Fix clock order for amlogic,axg-tdm-iface devices arm64: dts: amlogic: meson-axg: Meson NAND node dt-bindings: arm: amlogic: add Amlogic AD402 bindings arm64: dts: introduce Amlogic AD402 reference board based on A113L SoC ... Link: https://lore.kernel.org/r/b3e1bf66-9182-4d48-88ef-7efc20466e7c@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 94d310e + f2d2200 commit 0a84cbf

20 files changed

Lines changed: 1939 additions & 50 deletions

Documentation/devicetree/bindings/arm/amlogic.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ properties:
155155
- enum:
156156
- bananapi,bpi-m2s
157157
- khadas,vim3
158+
- libretech,aml-a311d-cc
158159
- radxa,zero2
159160
- const: amlogic,a311d
160161
- const: amlogic,g12b
@@ -196,13 +197,15 @@ properties:
196197
- hardkernel,odroid-hc4
197198
- haochuangyi,h96-max
198199
- khadas,vim3l
200+
- libretech,aml-s905d3-cc
199201
- seirobotics,sei610
200202
- const: amlogic,sm1
201203

202204
- description: Boards with the Amlogic Meson A1 A113L SoC
203205
items:
204206
- enum:
205207
- amlogic,ad401
208+
- amlogic,ad402
206209
- const: amlogic,a1
207210

208211
- description: Boards with the Amlogic C3 C302X/C308L SoC

Documentation/devicetree/bindings/power/amlogic,meson-sec-pwrc.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ maintainers:
1212
- Jianxin Pan <jianxin.pan@amlogic.com>
1313

1414
description: |+
15-
Secure Power Domains used in Meson A1/C1/S4 & C3 SoCs, and should be the child node
15+
Secure Power Domains used in Meson A1/C1/S4 & C3/T7 SoCs, and should be the child node
1616
of secure-monitor.
1717
1818
properties:
@@ -21,6 +21,7 @@ properties:
2121
- amlogic,meson-a1-pwrc
2222
- amlogic,meson-s4-pwrc
2323
- amlogic,c3-pwrc
24+
- amlogic,t7-pwrc
2425

2526
"#power-domain-cells":
2627
const: 1

arch/arm64/boot/dts/amlogic/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += amlogic-c3-c302x-aw409.dtb
33
dtb-$(CONFIG_ARCH_MESON) += amlogic-t7-a311d2-an400.dtb
44
dtb-$(CONFIG_ARCH_MESON) += amlogic-t7-a311d2-khadas-vim4.dtb
55
dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb
6+
dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad402.dtb
67
dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb
78
dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-2.dtb
89
dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-3.dtb
@@ -17,6 +18,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-cm4io.dtb
1718
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb
1819
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
1920
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb
21+
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-libretech-cc.dtb
2022
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-go-ultra.dtb
2123
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
2224
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
@@ -72,6 +74,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m2-pro.dtb
7274
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m5.dtb
7375
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-h96-max.dtb
7476
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-khadas-vim3l.dtb
77+
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-s905d3-libretech-cc.dtb
7578
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-c4.dtb
7679
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-hc4.dtb
7780
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-sei610.dtb

arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*/
55

66
#include <dt-bindings/interrupt-controller/arm-gic.h>
7+
#include <dt-bindings/power/amlogic,t7-pwrc.h>
78

89
/ {
910
interrupt-parent = <&gic>;
@@ -118,6 +119,11 @@
118119

119120
sm: secure-monitor {
120121
compatible = "amlogic,meson-gxbb-sm";
122+
123+
pwrc: power-controller {
124+
compatible = "amlogic,t7-pwrc";
125+
#power-domain-cells = <1>;
126+
};
121127
};
122128

123129
soc {
@@ -143,6 +149,28 @@
143149
#size-cells = <2>;
144150
ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>;
145151

152+
watchdog@2100 {
153+
compatible = "amlogic,t7-wdt";
154+
reg = <0x0 0x2100 0x0 0x10>;
155+
clocks = <&xtal>;
156+
};
157+
158+
periphs_pinctrl: pinctrl@4000 {
159+
compatible = "amlogic,t7-periphs-pinctrl";
160+
#address-cells = <2>;
161+
#size-cells = <2>;
162+
ranges;
163+
164+
gpio: bank@4000 {
165+
reg = <0x0 0x4000 0x0 0x0064>,
166+
<0x0 0x40c0 0x0 0x0220>;
167+
reg-names = "mux", "gpio";
168+
gpio-controller;
169+
#gpio-cells = <2>;
170+
gpio-ranges = <&periphs_pinctrl 0 0 157>;
171+
};
172+
};
173+
146174
uart_a: serial@78000 {
147175
compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart";
148176
reg = <0x0 0x78000 0x0 0x18>;
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (c) 2023 SberDevices
4+
* Author: Dmitry Rokosov <ddrokosov@sberdevices.ru>
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include "meson-a1.dtsi"
10+
11+
/ {
12+
compatible = "amlogic,ad402", "amlogic,a1";
13+
model = "Amlogic Meson A1 AD402 Development Board";
14+
15+
aliases {
16+
serial0 = &uart_AO_B;
17+
};
18+
19+
chosen {
20+
stdout-path = "serial0:115200n8";
21+
};
22+
23+
memory@0 {
24+
device_type = "memory";
25+
reg = <0x0 0x0 0x0 0x8000000>;
26+
};
27+
28+
reserved-memory {
29+
/* 3 MiB reserved for Amlogic Trust OS (BL32) */
30+
secos_reserved: secos@3d00000 {
31+
reg = <0x0 0x03d00000 0x0 0x300000>;
32+
no-map;
33+
};
34+
};
35+
36+
firmware {
37+
optee {
38+
compatible = "linaro,optee-tz";
39+
method = "smc";
40+
};
41+
};
42+
43+
battery_4v2: regulator-battery-4v2 {
44+
compatible = "regulator-fixed";
45+
regulator-name = "4V2";
46+
regulator-min-microvolt = <4200000>;
47+
regulator-max-microvolt = <4200000>;
48+
regulator-always-on;
49+
};
50+
51+
vddq_1v35: regulator-vddq-1v35 {
52+
compatible = "regulator-fixed";
53+
regulator-name = "VDDQ_1V35";
54+
regulator-min-microvolt = <1350000>;
55+
regulator-max-microvolt = <1350000>;
56+
vin-supply = <&battery_4v2>;
57+
regulator-always-on;
58+
};
59+
60+
vddao_3v3: regulator-vddao-3v3 {
61+
compatible = "regulator-fixed";
62+
regulator-name = "VDDAO_3V3";
63+
regulator-min-microvolt = <3300000>;
64+
regulator-max-microvolt = <3300000>;
65+
vin-supply = <&battery_4v2>;
66+
regulator-always-on;
67+
};
68+
69+
vcc_3v3: regulator-vcc-3v3 {
70+
compatible = "regulator-fixed";
71+
regulator-name = "VCC_3V3";
72+
regulator-min-microvolt = <3300000>;
73+
regulator-max-microvolt = <3300000>;
74+
vin-supply = <&vddao_3v3>;
75+
regulator-always-on;
76+
};
77+
78+
vddio_1v8: regulator-vddio-1v8 {
79+
compatible = "regulator-fixed";
80+
regulator-name = "VDDIO_1V8";
81+
regulator-min-microvolt = <1800000>;
82+
regulator-max-microvolt = <1800000>;
83+
vin-supply = <&vddao_3v3>;
84+
regulator-always-on;
85+
};
86+
};
87+
88+
/* Bluetooth HCI H4 */
89+
&uart_AO {
90+
status = "okay";
91+
pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
92+
pinctrl-names = "default";
93+
};
94+
95+
&uart_AO_B {
96+
status = "okay";
97+
};
98+
99+
&saradc {
100+
status = "okay";
101+
vref-supply = <&vddio_1v8>;
102+
};
103+
104+
&spifc {
105+
status = "okay";
106+
pinctrl-0 = <&spifc_pins>;
107+
pinctrl-names = "default";
108+
109+
spi_nand@0 {
110+
compatible = "spi-nand";
111+
status = "okay";
112+
reg = <0>;
113+
spi-max-frequency = <96000000>;
114+
spi-tx-bus-width = <4>;
115+
spi-rx-bus-width = <4>;
116+
};
117+
};
118+
119+
&usb2_phy1 {
120+
phy-supply = <&vcc_3v3>;
121+
};
122+
123+
&usb {
124+
status = "okay";
125+
dr_mode = "peripheral";
126+
};
127+
128+
&sd_emmc {
129+
status = "okay";
130+
131+
#address-cells = <1>;
132+
#size-cells = <0>;
133+
134+
pinctrl-0 = <&sdio_pins>;
135+
pinctrl-1 = <&sdio_clk_gate_pins>;
136+
pinctrl-names = "default", "clk-gate";
137+
138+
bus-width = <4>;
139+
cap-sd-highspeed;
140+
sd-uhs-sdr104;
141+
max-frequency = <200000000>;
142+
non-removable;
143+
disable-wp;
144+
145+
vmmc-supply = <&vddao_3v3>;
146+
vqmmc-supply = <&vddio_1v8>;
147+
};

0 commit comments

Comments
 (0)