aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-10-02 05:13:38 -0400
committerArnd Bergmann <arnd@arndb.de>2018-10-02 05:15:38 -0400
commit508b330b8210adc7b48f5a9c0c04fb17ab60845d (patch)
tree50f62dd344f4b0fc8c2ed598b96ca6a42df5e44e
parentf6cfb90582388df120083ff2c5aa90f178787076 (diff)
parent3c2ac5b3ebcd387f5399c7888fae7279a65c606a (diff)
Merge tag 'v4.19-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into next/dt
mt2712 - add spi slave node mt7622: - add timer node - add CCI node - add PMU node - add bluetooth node - add SPI slave node - fix reference board (rfb1) memory and sort node alphabetically - add support for Bananapi-R64 * tag 'v4.19-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: arm64: dts: Add spi slave dts arm64: dts: mt7622: add bananapi BPI-R64 board arm64: dts: mt7622: fix ram size for rfb1 arm64: dts: mt7622: add a bluetooth 5 device node arm64: dts: mt7622: add timer, CCI-400 and PMU nodes Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--arch/arm64/boot/dts/mediatek/Makefile1
-rw-r--r--arch/arm64/boot/dts/mediatek/mt2712e.dtsi11
-rw-r--r--arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts530
-rw-r--r--arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts196
-rw-r--r--arch/arm64/boot/dts/mediatek/mt7622.dtsi62
5 files changed, 702 insertions, 98 deletions
diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
index 5b7fd6ad96e4..e8f952fb279b 100644
--- a/arch/arm64/boot/dts/mediatek/Makefile
+++ b/arch/arm64/boot/dts/mediatek/Makefile
@@ -5,4 +5,5 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-evb.dtb
5dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb 5dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb
6dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb 6dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb
7dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb 7dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
8dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb
8dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb 9dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb
diff --git a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
index 75cc0f7cc088..ee627a7c7b45 100644
--- a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
@@ -301,6 +301,17 @@
301 status = "disabled"; 301 status = "disabled";
302 }; 302 };
303 303
304 spis1: spi@10013000 {
305 compatible = "mediatek,mt2712-spi-slave";
306 reg = <0 0x10013000 0 0x100>;
307 interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_LOW>;
308 clocks = <&infracfg CLK_INFRA_AO_SPI1>;
309 clock-names = "spi";
310 assigned-clocks = <&topckgen CLK_TOP_SPISLV_SEL>;
311 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>;
312 status = "disabled";
313 };
314
304 apmixedsys: syscon@10209000 { 315 apmixedsys: syscon@10209000 {
305 compatible = "mediatek,mt2712-apmixedsys", "syscon"; 316 compatible = "mediatek,mt2712-apmixedsys", "syscon";
306 reg = <0 0x10209000 0 0x1000>; 317 reg = <0 0x10209000 0 0x1000>;
diff --git a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
new file mode 100644
index 000000000000..5d6005c9b097
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
@@ -0,0 +1,530 @@
1/*
2 * Copyright (c) 2018 MediaTek Inc.
3 * Author: Ryder Lee <ryder.lee@mediatek.com>
4 *
5 * SPDX-License-Identifier: (GPL-2.0 OR MIT)
6 */
7
8/dts-v1/;
9#include <dt-bindings/input/input.h>
10#include <dt-bindings/gpio/gpio.h>
11
12#include "mt7622.dtsi"
13#include "mt6380.dtsi"
14
15/ {
16 model = "Bananapi BPI-R64";
17 compatible = "bananapi,bpi-r64", "mediatek,mt7622";
18
19 chosen {
20 bootargs = "earlycon=uart8250,mmio32,0x11002000 console=ttyS0,115200n1 swiotlb=512";
21 };
22
23 cpus {
24 cpu@0 {
25 proc-supply = <&mt6380_vcpu_reg>;
26 sram-supply = <&mt6380_vm_reg>;
27 };
28
29 cpu@1 {
30 proc-supply = <&mt6380_vcpu_reg>;
31 sram-supply = <&mt6380_vm_reg>;
32 };
33 };
34
35 gpio-keys {
36 compatible = "gpio-keys";
37
38 factory {
39 label = "factory";
40 linux,code = <BTN_0>;
41 gpios = <&pio 0 GPIO_ACTIVE_HIGH>;
42 };
43
44 wps {
45 label = "wps";
46 linux,code = <KEY_WPS_BUTTON>;
47 gpios = <&pio 102 GPIO_ACTIVE_HIGH>;
48 };
49 };
50
51 leds {
52 compatible = "gpio-leds";
53
54 green {
55 label = "bpi-r64:pio:green";
56 gpios = <&pio 89 GPIO_ACTIVE_HIGH>;
57 default-state = "off";
58 };
59
60 red {
61 label = "bpi-r64:pio:red";
62 gpios = <&pio 88 GPIO_ACTIVE_HIGH>;
63 default-state = "off";
64 };
65 };
66
67 memory {
68 reg = <0 0x40000000 0 0x40000000>;
69 };
70
71 reg_1p8v: regulator-1p8v {
72 compatible = "regulator-fixed";
73 regulator-name = "fixed-1.8V";
74 regulator-min-microvolt = <1800000>;
75 regulator-max-microvolt = <1800000>;
76 regulator-always-on;
77 };
78
79 reg_3p3v: regulator-3p3v {
80 compatible = "regulator-fixed";
81 regulator-name = "fixed-3.3V";
82 regulator-min-microvolt = <3300000>;
83 regulator-max-microvolt = <3300000>;
84 regulator-boot-on;
85 regulator-always-on;
86 };
87
88 reg_5v: regulator-5v {
89 compatible = "regulator-fixed";
90 regulator-name = "fixed-5V";
91 regulator-min-microvolt = <5000000>;
92 regulator-max-microvolt = <5000000>;
93 regulator-boot-on;
94 regulator-always-on;
95 };
96};
97
98&bch {
99 status = "disabled";
100};
101
102&btif {
103 status = "okay";
104};
105
106&cir {
107 pinctrl-names = "default";
108 pinctrl-0 = <&irrx_pins>;
109 status = "okay";
110};
111
112&eth {
113 pinctrl-names = "default";
114 pinctrl-0 = <&eth_pins>;
115 status = "okay";
116
117 gmac1: mac@1 {
118 compatible = "mediatek,eth-mac";
119 reg = <1>;
120 phy-handle = <&phy5>;
121 };
122
123 mdio-bus {
124 #address-cells = <1>;
125 #size-cells = <0>;
126
127 phy5: ethernet-phy@5 {
128 reg = <5>;
129 phy-mode = "sgmii";
130 };
131 };
132};
133
134&i2c1 {
135 pinctrl-names = "default";
136 pinctrl-0 = <&i2c1_pins>;
137 status = "okay";
138};
139
140&i2c2 {
141 pinctrl-names = "default";
142 pinctrl-0 = <&i2c2_pins>;
143 status = "okay";
144};
145
146&mmc0 {
147 pinctrl-names = "default", "state_uhs";
148 pinctrl-0 = <&emmc_pins_default>;
149 pinctrl-1 = <&emmc_pins_uhs>;
150 status = "okay";
151 bus-width = <8>;
152 max-frequency = <50000000>;
153 cap-mmc-highspeed;
154 mmc-hs200-1_8v;
155 vmmc-supply = <&reg_3p3v>;
156 vqmmc-supply = <&reg_1p8v>;
157 assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>;
158 assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
159 non-removable;
160};
161
162&mmc1 {
163 pinctrl-names = "default", "state_uhs";
164 pinctrl-0 = <&sd0_pins_default>;
165 pinctrl-1 = <&sd0_pins_uhs>;
166 status = "okay";
167 bus-width = <4>;
168 max-frequency = <50000000>;
169 cap-sd-highspeed;
170 r_smpl = <1>;
171 cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>;
172 vmmc-supply = <&reg_3p3v>;
173 vqmmc-supply = <&reg_3p3v>;
174 assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>;
175 assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
176};
177
178&nandc {
179 pinctrl-names = "default";
180 pinctrl-0 = <&parallel_nand_pins>;
181 status = "disabled";
182};
183
184&nor_flash {
185 pinctrl-names = "default";
186 pinctrl-0 = <&spi_nor_pins>;
187 status = "disabled";
188
189 flash@0 {
190 compatible = "jedec,spi-nor";
191 reg = <0>;
192 };
193};
194
195&pcie {
196 pinctrl-names = "default";
197 pinctrl-0 = <&pcie0_pins>, <&pcie1_pins>;
198 status = "okay";
199
200 pcie@0,0 {
201 status = "okay";
202 };
203
204 pcie@1,0 {
205 status = "okay";
206 };
207};
208
209&pio {
210 /* Attention: GPIO 90 is used to switch between PCIe@1,0 and
211 * SATA functions. i.e. output-high: PCIe, output-low: SATA
212 */
213 asm_sel {
214 gpio-hog;
215 gpios = <90 GPIO_ACTIVE_HIGH>;
216 output-high;
217 };
218
219 /* eMMC is shared pin with parallel NAND */
220 emmc_pins_default: emmc-pins-default {
221 mux {
222 function = "emmc", "emmc_rst";
223 groups = "emmc";
224 };
225
226 /* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7",
227 * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4,
228 * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively
229 */
230 conf-cmd-dat {
231 pins = "NDL0", "NDL1", "NDL2",
232 "NDL3", "NDL4", "NDL5",
233 "NDL6", "NDL7", "NRB";
234 input-enable;
235 bias-pull-up;
236 };
237
238 conf-clk {
239 pins = "NCLE";
240 bias-pull-down;
241 };
242 };
243
244 emmc_pins_uhs: emmc-pins-uhs {
245 mux {
246 function = "emmc";
247 groups = "emmc";
248 };
249
250 conf-cmd-dat {
251 pins = "NDL0", "NDL1", "NDL2",
252 "NDL3", "NDL4", "NDL5",
253 "NDL6", "NDL7", "NRB";
254 input-enable;
255 drive-strength = <4>;
256 bias-pull-up;
257 };
258
259 conf-clk {
260 pins = "NCLE";
261 drive-strength = <4>;
262 bias-pull-down;
263 };
264 };
265
266 eth_pins: eth-pins {
267 mux {
268 function = "eth";
269 groups = "mdc_mdio", "rgmii_via_gmac2";
270 };
271 };
272
273 i2c1_pins: i2c1-pins {
274 mux {
275 function = "i2c";
276 groups = "i2c1_0";
277 };
278 };
279
280 i2c2_pins: i2c2-pins {
281 mux {
282 function = "i2c";
283 groups = "i2c2_0";
284 };
285 };
286
287 i2s1_pins: i2s1-pins {
288 mux {
289 function = "i2s";
290 groups = "i2s_out_mclk_bclk_ws",
291 "i2s1_in_data",
292 "i2s1_out_data";
293 };
294
295 conf {
296 pins = "I2S1_IN", "I2S1_OUT", "I2S_BCLK",
297 "I2S_WS", "I2S_MCLK";
298 drive-strength = <12>;
299 bias-pull-down;
300 };
301 };
302
303 irrx_pins: irrx-pins {
304 mux {
305 function = "ir";
306 groups = "ir_1_rx";
307 };
308 };
309
310 irtx_pins: irtx-pins {
311 mux {
312 function = "ir";
313 groups = "ir_1_tx";
314 };
315 };
316
317 /* Parallel nand is shared pin with eMMC */
318 parallel_nand_pins: parallel-nand-pins {
319 mux {
320 function = "flash";
321 groups = "par_nand";
322 };
323 };
324
325 pcie0_pins: pcie0-pins {
326 mux {
327 function = "pcie";
328 groups = "pcie0_pad_perst",
329 "pcie0_1_waken",
330 "pcie0_1_clkreq";
331 };
332 };
333
334 pcie1_pins: pcie1-pins {
335 mux {
336 function = "pcie";
337 groups = "pcie1_pad_perst",
338 "pcie1_0_waken",
339 "pcie1_0_clkreq";
340 };
341 };
342
343 pmic_bus_pins: pmic-bus-pins {
344 mux {
345 function = "pmic";
346 groups = "pmic_bus";
347 };
348 };
349
350 pwm7_pins: pwm1-2-pins {
351 mux {
352 function = "pwm";
353 groups = "pwm_ch7_2";
354 };
355 };
356
357 wled_pins: wled-pins {
358 mux {
359 function = "led";
360 groups = "wled";
361 };
362 };
363
364 sd0_pins_default: sd0-pins-default {
365 mux {
366 function = "sd";
367 groups = "sd_0";
368 };
369
370 /* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN",
371 * "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1,
372 * DAT2, DAT3, CMD, CLK for SD respectively.
373 */
374 conf-cmd-data {
375 pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
376 "I2S2_IN","I2S4_OUT";
377 input-enable;
378 drive-strength = <8>;
379 bias-pull-up;
380 };
381 conf-clk {
382 pins = "I2S3_OUT";
383 drive-strength = <12>;
384 bias-pull-down;
385 };
386 conf-cd {
387 pins = "TXD3";
388 bias-pull-up;
389 };
390 };
391
392 sd0_pins_uhs: sd0-pins-uhs {
393 mux {
394 function = "sd";
395 groups = "sd_0";
396 };
397
398 conf-cmd-data {
399 pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
400 "I2S2_IN","I2S4_OUT";
401 input-enable;
402 bias-pull-up;
403 };
404
405 conf-clk {
406 pins = "I2S3_OUT";
407 bias-pull-down;
408 };
409 };
410
411 /* Serial NAND is shared pin with SPI-NOR */
412 serial_nand_pins: serial-nand-pins {
413 mux {
414 function = "flash";
415 groups = "snfi";
416 };
417 };
418
419 spic0_pins: spic0-pins {
420 mux {
421 function = "spi";
422 groups = "spic0_0";
423 };
424 };
425
426 spic1_pins: spic1-pins {
427 mux {
428 function = "spi";
429 groups = "spic1_0";
430 };
431 };
432
433 /* SPI-NOR is shared pin with serial NAND */
434 spi_nor_pins: spi-nor-pins {
435 mux {
436 function = "flash";
437 groups = "spi_nor";
438 };
439 };
440
441 /* serial NAND is shared pin with SPI-NOR */
442 serial_nand_pins: serial-nand-pins {
443 mux {
444 function = "flash";
445 groups = "snfi";
446 };
447 };
448
449 uart0_pins: uart0-pins {
450 mux {
451 function = "uart";
452 groups = "uart0_0_tx_rx" ;
453 };
454 };
455
456 uart2_pins: uart2-pins {
457 mux {
458 function = "uart";
459 groups = "uart2_1_tx_rx" ;
460 };
461 };
462
463 watchdog_pins: watchdog-pins {
464 mux {
465 function = "watchdog";
466 groups = "watchdog";
467 };
468 };
469};
470
471&pwm {
472 pinctrl-names = "default";
473 pinctrl-0 = <&pwm7_pins>;
474 status = "okay";
475};
476
477&pwrap {
478 pinctrl-names = "default";
479 pinctrl-0 = <&pmic_bus_pins>;
480
481 status = "okay";
482};
483
484&sata {
485 status = "disable";
486};
487
488&sata_phy {
489 status = "disable";
490};
491
492&spi0 {
493 pinctrl-names = "default";
494 pinctrl-0 = <&spic0_pins>;
495 status = "okay";
496};
497
498&spi1 {
499 pinctrl-names = "default";
500 pinctrl-0 = <&spic1_pins>;
501 status = "okay";
502};
503
504&ssusb {
505 vusb33-supply = <&reg_3p3v>;
506 vbus-supply = <&reg_5v>;
507 status = "okay";
508};
509
510&u3phy {
511 status = "okay";
512};
513
514&uart0 {
515 pinctrl-names = "default";
516 pinctrl-0 = <&uart0_pins>;
517 status = "okay";
518};
519
520&uart2 {
521 pinctrl-names = "default";
522 pinctrl-0 = <&uart2_pins>;
523 status = "okay";
524};
525
526&watchdog {
527 pinctrl-names = "default";
528 pinctrl-0 = <&watchdog_pins>;
529 status = "okay";
530};
diff --git a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
index a747b7bf132d..dcad0869b84c 100644
--- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
+++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
@@ -51,7 +51,7 @@
51 }; 51 };
52 52
53 memory { 53 memory {
54 reg = <0 0x40000000 0 0x3F000000>; 54 reg = <0 0x40000000 0 0x20000000>;
55 }; 55 };
56 56
57 reg_1p8v: regulator-1p8v { 57 reg_1p8v: regulator-1p8v {
@@ -81,6 +81,103 @@
81 }; 81 };
82}; 82};
83 83
84&bch {
85 status = "disabled";
86};
87
88&btif {
89 status = "okay";
90};
91
92&cir {
93 pinctrl-names = "default";
94 pinctrl-0 = <&irrx_pins>;
95 status = "okay";
96};
97
98&eth {
99 pinctrl-names = "default";
100 pinctrl-0 = <&eth_pins>;
101 status = "okay";
102
103 gmac1: mac@1 {
104 compatible = "mediatek,eth-mac";
105 reg = <1>;
106 phy-handle = <&phy5>;
107 };
108
109 mdio-bus {
110 #address-cells = <1>;
111 #size-cells = <0>;
112
113 phy5: ethernet-phy@5 {
114 reg = <5>;
115 phy-mode = "sgmii";
116 };
117 };
118};
119
120&i2c1 {
121 pinctrl-names = "default";
122 pinctrl-0 = <&i2c1_pins>;
123 status = "okay";
124};
125
126&i2c2 {
127 pinctrl-names = "default";
128 pinctrl-0 = <&i2c2_pins>;
129 status = "okay";
130};
131
132&mmc0 {
133 pinctrl-names = "default", "state_uhs";
134 pinctrl-0 = <&emmc_pins_default>;
135 pinctrl-1 = <&emmc_pins_uhs>;
136 status = "okay";
137 bus-width = <8>;
138 max-frequency = <50000000>;
139 cap-mmc-highspeed;
140 mmc-hs200-1_8v;
141 vmmc-supply = <&reg_3p3v>;
142 vqmmc-supply = <&reg_1p8v>;
143 assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>;
144 assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
145 non-removable;
146};
147
148&mmc1 {
149 pinctrl-names = "default", "state_uhs";
150 pinctrl-0 = <&sd0_pins_default>;
151 pinctrl-1 = <&sd0_pins_uhs>;
152 status = "okay";
153 bus-width = <4>;
154 max-frequency = <50000000>;
155 cap-sd-highspeed;
156 r_smpl = <1>;
157 cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>;
158 vmmc-supply = <&reg_3p3v>;
159 vqmmc-supply = <&reg_3p3v>;
160 assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>;
161 assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
162};
163
164&nandc {
165 pinctrl-names = "default";
166 pinctrl-0 = <&parallel_nand_pins>;
167 status = "disabled";
168};
169
170&nor_flash {
171 pinctrl-names = "default";
172 pinctrl-0 = <&spi_nor_pins>;
173 status = "disabled";
174
175 flash@0 {
176 compatible = "jedec,spi-nor";
177 reg = <0>;
178 };
179};
180
84&pcie { 181&pcie {
85 pinctrl-names = "default"; 182 pinctrl-names = "default";
86 pinctrl-0 = <&pcie0_pins>; 183 pinctrl-0 = <&pcie0_pins>;
@@ -344,103 +441,6 @@
344 }; 441 };
345}; 442};
346 443
347&bch {
348 status = "disabled";
349};
350
351&btif {
352 status = "okay";
353};
354
355&cir {
356 pinctrl-names = "default";
357 pinctrl-0 = <&irrx_pins>;
358 status = "okay";
359};
360
361&eth {
362 pinctrl-names = "default";
363 pinctrl-0 = <&eth_pins>;
364 status = "okay";
365
366 gmac1: mac@1 {
367 compatible = "mediatek,eth-mac";
368 reg = <1>;
369 phy-handle = <&phy5>;
370 };
371
372 mdio-bus {
373 #address-cells = <1>;
374 #size-cells = <0>;
375
376 phy5: ethernet-phy@5 {
377 reg = <5>;
378 phy-mode = "sgmii";
379 };
380 };
381};
382
383&i2c1 {
384 pinctrl-names = "default";
385 pinctrl-0 = <&i2c1_pins>;
386 status = "okay";
387};
388
389&i2c2 {
390 pinctrl-names = "default";
391 pinctrl-0 = <&i2c2_pins>;
392 status = "okay";
393};
394
395&mmc0 {
396 pinctrl-names = "default", "state_uhs";
397 pinctrl-0 = <&emmc_pins_default>;
398 pinctrl-1 = <&emmc_pins_uhs>;
399 status = "okay";
400 bus-width = <8>;
401 max-frequency = <50000000>;
402 cap-mmc-highspeed;
403 mmc-hs200-1_8v;
404 vmmc-supply = <&reg_3p3v>;
405 vqmmc-supply = <&reg_1p8v>;
406 assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>;
407 assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
408 non-removable;
409};
410
411&mmc1 {
412 pinctrl-names = "default", "state_uhs";
413 pinctrl-0 = <&sd0_pins_default>;
414 pinctrl-1 = <&sd0_pins_uhs>;
415 status = "okay";
416 bus-width = <4>;
417 max-frequency = <50000000>;
418 cap-sd-highspeed;
419 r_smpl = <1>;
420 cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>;
421 vmmc-supply = <&reg_3p3v>;
422 vqmmc-supply = <&reg_3p3v>;
423 assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>;
424 assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
425};
426
427&nandc {
428 pinctrl-names = "default";
429 pinctrl-0 = <&parallel_nand_pins>;
430 status = "disabled";
431};
432
433&nor_flash {
434 pinctrl-names = "default";
435 pinctrl-0 = <&spi_nor_pins>;
436 status = "disabled";
437
438 flash@0 {
439 compatible = "jedec,spi-nor";
440 reg = <0>;
441 };
442};
443
444&pwm { 444&pwm {
445 pinctrl-names = "default"; 445 pinctrl-names = "default";
446 pinctrl-0 = <&pwm7_pins>; 446 pinctrl-0 = <&pwm7_pins>;
diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
index de2c47bdbe64..fe0c875f1d95 100644
--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
@@ -79,6 +79,7 @@
79 #cooling-cells = <2>; 79 #cooling-cells = <2>;
80 enable-method = "psci"; 80 enable-method = "psci";
81 clock-frequency = <1300000000>; 81 clock-frequency = <1300000000>;
82 cci-control-port = <&cci_control2>;
82 }; 83 };
83 84
84 cpu1: cpu@1 { 85 cpu1: cpu@1 {
@@ -92,6 +93,7 @@
92 #cooling-cells = <2>; 93 #cooling-cells = <2>;
93 enable-method = "psci"; 94 enable-method = "psci";
94 clock-frequency = <1300000000>; 95 clock-frequency = <1300000000>;
96 cci-control-port = <&cci_control2>;
95 }; 97 };
96 }; 98 };
97 99
@@ -113,6 +115,13 @@
113 method = "smc"; 115 method = "smc";
114 }; 116 };
115 117
118 pmu {
119 compatible = "arm,cortex-a53-pmu";
120 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_LOW>,
121 <GIC_SPI 9 IRQ_TYPE_LEVEL_LOW>;
122 interrupt-affinity = <&cpu0>, <&cpu1>;
123 };
124
116 reserved-memory { 125 reserved-memory {
117 #address-cells = <2>; 126 #address-cells = <2>;
118 #size-cells = <2>; 127 #size-cells = <2>;
@@ -218,6 +227,16 @@
218 #reset-cells = <1>; 227 #reset-cells = <1>;
219 }; 228 };
220 229
230 timer: timer@10004000 {
231 compatible = "mediatek,mt7622-timer",
232 "mediatek,mt6577-timer";
233 reg = <0 0x10004000 0 0x80>;
234 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_LOW>;
235 clocks = <&infracfg CLK_INFRA_APXGPT_PD>,
236 <&topckgen CLK_TOP_RTC>;
237 clock-names = "system-clk", "rtc-clk";
238 };
239
221 scpsys: scpsys@10006000 { 240 scpsys: scpsys@10006000 {
222 compatible = "mediatek,mt7622-scpsys", 241 compatible = "mediatek,mt7622-scpsys",
223 "syscon"; 242 "syscon";
@@ -325,6 +344,42 @@
325 <0 0x10360000 0 0x2000>; 344 <0 0x10360000 0 0x2000>;
326 }; 345 };
327 346
347 cci: cci@10390000 {
348 compatible = "arm,cci-400";
349 #address-cells = <1>;
350 #size-cells = <1>;
351 reg = <0 0x10390000 0 0x1000>;
352 ranges = <0 0 0x10390000 0x10000>;
353
354 cci_control0: slave-if@1000 {
355 compatible = "arm,cci-400-ctrl-if";
356 interface-type = "ace-lite";
357 reg = <0x1000 0x1000>;
358 };
359
360 cci_control1: slave-if@4000 {
361 compatible = "arm,cci-400-ctrl-if";
362 interface-type = "ace";
363 reg = <0x4000 0x1000>;
364 };
365
366 cci_control2: slave-if@5000 {
367 compatible = "arm,cci-400-ctrl-if";
368 interface-type = "ace";
369 reg = <0x5000 0x1000>;
370 };
371
372 pmu@9000 {
373 compatible = "arm,cci-400-pmu,r1";
374 reg = <0x9000 0x5000>;
375 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
376 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
377 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
378 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
379 <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
380 };
381 };
382
328 auxadc: adc@11001000 { 383 auxadc: adc@11001000 {
329 compatible = "mediatek,mt7622-auxadc"; 384 compatible = "mediatek,mt7622-auxadc";
330 reg = <0 0x11001000 0 0x1000>; 385 reg = <0 0x11001000 0 0x1000>;
@@ -475,6 +530,13 @@
475 reg-shift = <2>; 530 reg-shift = <2>;
476 reg-io-width = <4>; 531 reg-io-width = <4>;
477 status = "disabled"; 532 status = "disabled";
533
534 bluetooth {
535 compatible = "mediatek,mt7622-bluetooth";
536 power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>;
537 clocks = <&clk25m>;
538 clock-names = "ref";
539 };
478 }; 540 };
479 541
480 nandc: nfi@1100d000 { 542 nandc: nfi@1100d000 {