Skip to content

Commit 53c3712

Browse files
committed
Merge tag 'amlogic-arm64-dt-for-v6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt
Amlogic ARM64 DT for v6.16: - Amlogic A4 Pinctrl support - UART RX/TX pull-up pinconf properties for all SoCs - SARADC support for the S905L SoC variant - Drop clock-latency in CPU node - Amlogic clk measure support for S4 & C3 Socs - Amlogic S6/S7/S7D initial support - I2C default pull-up bias pinconf property on Amlogic GXL based boards - Amlogic A4 & A5 Reset Controller support - New Boards: - Amlogic S6 BL209 Reference Board - Amlogic S7 BP201 Reference Board - Amlogic S7D BM202 Reference Board - Amlogic S805Y xiaomi-aquaman/Mi TV Stick * tag 'amlogic-arm64-dt-for-v6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: (21 commits) arm64: dts: amlogic: Add A5 Reset Controller arm64: dts: amlogic: Add A4 Reset Controller arm64: dts: amlogic: add support for xiaomi-aquaman/Mi TV Stick dt-bindings: arm: amlogic: add S805Y and Mi TV Stick arm64: dts: amlogic: gxl: set i2c bias to pull-up arm64: dts: add support for S7D based Amlogic BM202 arm64: dts: add support for S7 based Amlogic BP201 arm64: dts: add support for S6 based Amlogic BL209 dt-bindings: arm: amlogic: add S7D support dt-bindings: arm: amlogic: add S7 support dt-bindings: arm: amlogic: add S6 support arm64: dts: amlogic: S4: Add clk-measure controller node arm64: dts: amlogic: C3: Add clk-measure controller node arm64: dts: amlogic: Drop redundant CPU "clock-latency" arm64: dts: amlogic: gxlx-s905l-p271: add saradc compatible arm64: dts: amlogic: a1: enable UART RX and TX pull up by default arm64: dts: amlogic: axg: enable UART RX and TX pull up by default arm64: dts: amlogic: g12: enable UART RX and TX pull up by default arm64: dts: amlogic: gxl: enable UART RX and TX pull up by default arm64: dts: amlogic: gxbb: enable UART RX and TX pull up by default ... Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnd Bergmann <[email protected]>
2 parents 709c8af + f0911f2 commit 53c3712

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1097
-119
lines changed

Documentation/devicetree/bindings/arm/amlogic.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,13 @@ properties:
7474
- const: amlogic,s805x
7575
- const: amlogic,meson-gxl
7676

77+
- description: Boards with the Amlogic Meson GXL S805Y SoC
78+
items:
79+
- enum:
80+
- xiaomi,aquaman
81+
- const: amlogic,s805y
82+
- const: amlogic,meson-gxl
83+
7784
- description: Boards with the Amlogic Meson GXL S905W SoC
7885
items:
7986
- enum:
@@ -238,6 +245,24 @@ properties:
238245
- amlogic,aq222
239246
- const: amlogic,s4
240247

248+
- description: Boards with the Amlogic S6 S905X5 SoC
249+
items:
250+
- enum:
251+
- amlogic,bl209
252+
- const: amlogic,s6
253+
254+
- description: Boards with the Amlogic S7 S805X3 SoC
255+
items:
256+
- enum:
257+
- amlogic,bp201
258+
- const: amlogic,s7
259+
260+
- description: Boards with the Amlogic S7D S905X5M SoC
261+
items:
262+
- enum:
263+
- amlogic,bm202
264+
- const: amlogic,s7d
265+
241266
- description: Boards with the Amlogic T7 A311D2 SoC
242267
items:
243268
- enum:

arch/arm64/boot/dts/amlogic/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ dtb-$(CONFIG_ARCH_MESON) += amlogic-a4-a113l2-ba400.dtb
33
dtb-$(CONFIG_ARCH_MESON) += amlogic-a5-a113x2-av400.dtb
44
dtb-$(CONFIG_ARCH_MESON) += amlogic-c3-c302x-aw409.dtb
55
dtb-$(CONFIG_ARCH_MESON) += amlogic-c3-c308l-aw419.dtb
6+
dtb-$(CONFIG_ARCH_MESON) += amlogic-s6-s905x5-bl209.dtb
7+
dtb-$(CONFIG_ARCH_MESON) += amlogic-s7-s805x3-bp201.dtb
8+
dtb-$(CONFIG_ARCH_MESON) += amlogic-s7d-s905x5m-bm202.dtb
69
dtb-$(CONFIG_ARCH_MESON) += amlogic-t7-a311d2-an400.dtb
710
dtb-$(CONFIG_ARCH_MESON) += amlogic-t7-a311d2-khadas-vim4.dtb
811
dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb
@@ -49,6 +52,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-hub.dtb
4952
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-play2.dtb
5053
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-libretech-ac.dtb
5154
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb
55+
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805y-xiaomi-aquaman.dtb
5256
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-libretech-pc.dtb
5357
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-kii-pro.dtb
5458
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
2+
/*
3+
* Copyright (c) 2024 Amlogic, Inc. All rights reserved.
4+
*/
5+
6+
#ifndef __DTS_AMLOGIC_A4_RESET_H
7+
#define __DTS_AMLOGIC_A4_RESET_H
8+
9+
/* RESET0 */
10+
/* 0-3 */
11+
#define RESET_USB 4
12+
/* 5-6*/
13+
#define RESET_U2PHY22 7
14+
#define RESET_USBPHY20 8
15+
#define RESET_U2PHY21 9
16+
#define RESET_USB2DRD 10
17+
#define RESET_U2H 11
18+
#define RESET_LED_CTRL 12
19+
/* 13-31 */
20+
21+
/* RESET1 */
22+
#define RESET_AUDIO 32
23+
#define RESET_AUDIO_VAD 33
24+
/* 34*/
25+
#define RESET_DDR_APB 35
26+
#define RESET_DDR 36
27+
#define RESET_VOUT_VENC 37
28+
#define RESET_VOUT 38
29+
/* 39-47 */
30+
#define RESET_ETHERNET 48
31+
/* 49-63 */
32+
33+
/* RESET2 */
34+
#define RESET_DEVICE_MMC_ARB 64
35+
#define RESET_IRCTRL 65
36+
/* 66*/
37+
#define RESET_TS_PLL 67
38+
/* 68-72*/
39+
#define RESET_SPICC_0 73
40+
#define RESET_SPICC_1 74
41+
/* 75-79*/
42+
#define RESET_MSR_CLK 80
43+
/* 81*/
44+
#define RESET_SAR_ADC 82
45+
/* 83-87*/
46+
#define RESET_ACODEC 88
47+
/* 89-90*/
48+
#define RESET_WATCHDOG 91
49+
/* 92-95*/
50+
51+
/* RESET3 */
52+
/* 96-127 */
53+
54+
/* RESET4 */
55+
/* 128-131 */
56+
#define RESET_PWM_AB 132
57+
#define RESET_PWM_CD 133
58+
#define RESET_PWM_EF 134
59+
#define RESET_PWM_GH 135
60+
/* 136-137*/
61+
#define RESET_UART_A 138
62+
#define RESET_UART_B 139
63+
/* 140*/
64+
#define RESET_UART_D 141
65+
#define RESET_UART_E 142
66+
/* 143-144*/
67+
#define RESET_I2C_M_A 145
68+
#define RESET_I2C_M_B 146
69+
#define RESET_I2C_M_C 147
70+
#define RESET_I2C_M_D 148
71+
/* 149-151*/
72+
#define RESET_SDEMMC_A 152
73+
/* 153*/
74+
#define RESET_SDEMMC_C 154
75+
/* 155-159*/
76+
77+
/* RESET5 */
78+
/* 160-175*/
79+
#define RESET_BRG_AO_NIC_SYS 176
80+
/* 177*/
81+
#define RESET_BRG_AO_NIC_MAIN 178
82+
#define RESET_BRG_AO_NIC_AUDIO 179
83+
/* 180-183*/
84+
#define RESET_BRG_AO_NIC_ALL 184
85+
/* 185*/
86+
#define RESET_BRG_NIC_SDIO 186
87+
#define RESET_BRG_NIC_EMMC 187
88+
#define RESET_BRG_NIC_DSU 188
89+
#define RESET_BRG_NIC_CLK81 189
90+
#define RESET_BRG_NIC_MAIN 190
91+
#define RESET_BRG_NIC_ALL 191
92+
93+
#endif

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

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

66
#include "amlogic-a4-common.dtsi"
7+
#include "amlogic-a4-reset.h"
78
#include <dt-bindings/power/amlogic,a4-pwrc.h>
9+
#include <dt-bindings/pinctrl/amlogic,pinctrl.h>
810
/ {
911
cpus {
1012
#address-cells = <2>;
@@ -50,6 +52,114 @@
5052
};
5153

5254
&apb {
55+
reset: reset-controller@2000 {
56+
compatible = "amlogic,a4-reset",
57+
"amlogic,meson-s4-reset";
58+
reg = <0x0 0x2000 0x0 0x98>;
59+
#reset-cells = <1>;
60+
};
61+
62+
periphs_pinctrl: pinctrl@4000 {
63+
compatible = "amlogic,pinctrl-a4";
64+
#address-cells = <2>;
65+
#size-cells = <2>;
66+
ranges = <0x0 0x0 0x0 0x4000 0x0 0x280>;
67+
68+
gpiox: gpio@100 {
69+
reg = <0 0x100 0 0x40>, <0 0xc 0 0xc>;
70+
reg-names = "gpio", "mux";
71+
gpio-controller;
72+
#gpio-cells = <2>;
73+
gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_X<<8) 18>;
74+
};
75+
76+
gpiot: gpio@140 {
77+
reg = <0 0x140 0 0x40>, <0 0x2c 0 0xc>;
78+
reg-names = "gpio", "mux";
79+
gpio-controller;
80+
#gpio-cells = <2>;
81+
gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_T<<8) 23>;
82+
};
83+
84+
gpiod: gpio@180 {
85+
reg = <0 0x180 0 0x40>, <0 0x40 0 0x8>;
86+
reg-names = "gpio", "mux";
87+
gpio-controller;
88+
#gpio-cells = <2>;
89+
gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_D<<8) 16>;
90+
};
91+
92+
gpioe: gpio@1c0 {
93+
reg = <0 0x1c0 0 0x40>, <0 0x48 0 0x4>;
94+
reg-names = "gpio", "mux";
95+
gpio-controller;
96+
#gpio-cells = <2>;
97+
gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_E<<8) 2>;
98+
};
99+
100+
gpiob: gpio@240 {
101+
reg = <0 0x240 0 0x40>, <0 0 0 0x8>;
102+
reg-names = "gpio", "mux";
103+
gpio-controller;
104+
#gpio-cells = <2>;
105+
gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_B<<8) 14>;
106+
};
107+
108+
func-uart-a {
109+
uart_a_default: group-uart-a-pins1 {
110+
pinmux = <AML_PINMUX(AMLOGIC_GPIO_X, 11, 1)>,
111+
<AML_PINMUX(AMLOGIC_GPIO_X, 12, 1)>,
112+
<AML_PINMUX(AMLOGIC_GPIO_X, 13, 1)>,
113+
<AML_PINMUX(AMLOGIC_GPIO_X, 14, 1)>;
114+
};
115+
116+
group-uart-a-pins2 {
117+
pinmux = <AML_PINMUX(AMLOGIC_GPIO_D, 2, 3)>,
118+
<AML_PINMUX(AMLOGIC_GPIO_D, 3, 3)>;
119+
bias-pull-up;
120+
drive-strength-microamp = <4000>;
121+
};
122+
};
123+
124+
func-uart-b {
125+
uart_b_default: group-uart-b-pins {
126+
pinmux = <AML_PINMUX(AMLOGIC_GPIO_E, 0, 3)>,
127+
<AML_PINMUX(AMLOGIC_GPIO_E, 1, 3)>;
128+
bias-pull-up;
129+
drive-strength-microamp = <4000>;
130+
};
131+
};
132+
133+
func-uart-d {
134+
uart_d_default: group-uart-d-pins1 {
135+
pinmux = <AML_PINMUX(AMLOGIC_GPIO_T, 18, 4)>,
136+
<AML_PINMUX(AMLOGIC_GPIO_T, 19, 4)>;
137+
bias-pull-up;
138+
drive-strength-microamp = <4000>;
139+
};
140+
141+
group-uart-d-pins2 {
142+
pinmux = <AML_PINMUX(AMLOGIC_GPIO_T, 7, 2)>,
143+
<AML_PINMUX(AMLOGIC_GPIO_T, 8, 2)>,
144+
<AML_PINMUX(AMLOGIC_GPIO_T, 9, 2)>,
145+
<AML_PINMUX(AMLOGIC_GPIO_T, 10, 2)>;
146+
bias-pull-up;
147+
drive-strength-microamp = <4000>;
148+
};
149+
};
150+
151+
func-uart-e {
152+
uart_e_default: group-uart-e-pins {
153+
pinmux = <AML_PINMUX(AMLOGIC_GPIO_T, 14, 3)>,
154+
<AML_PINMUX(AMLOGIC_GPIO_T, 15, 3)>,
155+
<AML_PINMUX(AMLOGIC_GPIO_T, 16, 3)>,
156+
<AML_PINMUX(AMLOGIC_GPIO_T, 17, 3)>;
157+
bias-pull-up;
158+
drive-strength-microamp = <4000>;
159+
};
160+
};
161+
};
162+
53163
gpio_intc: interrupt-controller@4080 {
54164
compatible = "amlogic,a4-gpio-intc",
55165
"amlogic,meson-gpio-intc";
@@ -60,6 +170,29 @@
60170
<10 11 12 13 14 15 16 17 18 19 20 21>;
61171
};
62172

173+
ao_pinctrl: pinctrl@8e700 {
174+
compatible = "amlogic,pinctrl-a4";
175+
#address-cells = <2>;
176+
#size-cells = <2>;
177+
ranges = <0x0 0x0 0x0 0x8e700 0x0 0x80>;
178+
179+
gpioao: gpio@4 {
180+
reg = <0 0x4 0 0x16>, <0 0 0 0x4>;
181+
reg-names = "gpio", "mux";
182+
gpio-controller;
183+
#gpio-cells = <2>;
184+
gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_AO<<8) 7>;
185+
};
186+
187+
test_n: gpio@44 {
188+
reg = <0 0x44 0 0x20>;
189+
reg-names = "gpio";
190+
gpio-controller;
191+
#gpio-cells = <2>;
192+
gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_TEST_N<<8) 1>;
193+
};
194+
};
195+
63196
gpio_ao_intc: interrupt-controller@8e72c {
64197
compatible = "amlogic,a4-gpio-ao-intc",
65198
"amlogic,meson-gpio-intc";

0 commit comments

Comments
 (0)