2 * Copyright (C) 2018 MediaTek Inc.
3 * Author: Ryder Lee <ryder.lee@mediatek.com>
5 * SPDX-License-Identifier: (GPL-2.0 OR MIT)
8 #include <dt-bindings/clock/mt7629-clk.h>
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/interrupt-controller/irq.h>
11 #include <dt-bindings/interrupt-controller/arm-gic.h>
12 #include <dt-bindings/power/mt7629-power.h>
13 #include "skeleton.dtsi"
16 compatible = "mediatek,mt7629";
17 interrupt-parent = <&sysirq>;
24 enable-method = "mediatek,mt6589-smp";
28 compatible = "arm,cortex-a7";
30 clock-frequency = <1250000000>;
35 compatible = "arm,cortex-a7";
37 clock-frequency = <1250000000>;
41 clk20m: oscillator@0 {
42 compatible = "fixed-clock";
44 clock-frequency = <20000000>;
45 clock-output-names = "clk20m";
48 clk40m: oscillator@1 {
49 compatible = "fixed-clock";
51 clock-frequency = <40000000>;
52 clock-output-names = "clkxtal";
56 compatible = "arm,armv7-timer";
57 interrupt-parent = <&gic>;
58 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
59 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
60 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
61 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
62 clock-frequency = <20000000>;
63 arm,cpu-registers-not-fw-configured;
66 infracfg: syscon@10000000 {
67 compatible = "mediatek,mt7629-infracfg", "syscon";
68 reg = <0x10000000 0x1000>;
73 pericfg: syscon@10002000 {
74 compatible = "mediatek,mt7629-pericfg", "syscon";
75 reg = <0x10002000 0x1000>;
80 timer0: timer@10004000 {
81 compatible = "mediatek,timer";
82 reg = <0x10004000 0x80>;
83 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_LOW>;
84 clocks = <&topckgen CLK_TOP_10M_SEL>,
85 <&topckgen CLK_TOP_CLKXTAL_D4>;
86 clock-names = "mux", "src";
90 scpsys: scpsys@10006000 {
91 compatible = "mediatek,mt7629-scpsys";
92 reg = <0x10006000 0x1000>;
93 clocks = <&topckgen CLK_TOP_HIF_SEL>;
94 clock-names = "hif_sel";
95 assigned-clocks = <&topckgen CLK_TOP_HIF_SEL>;
96 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>;
97 #power-domain-cells = <1>;
98 infracfg = <&infracfg>;
101 mcucfg: syscon@10200000 {
102 compatible = "mediatek,mt7629-mcucfg", "syscon";
103 reg = <0x10200000 0x1000>;
108 sysirq: interrupt-controller@10200a80 {
109 compatible = "mediatek,sysirq";
110 reg = <0x10200a80 0x20>;
111 interrupt-controller;
112 #interrupt-cells = <3>;
113 interrupt-parent = <&gic>;
116 dramc: dramc@10203000 {
117 compatible = "mediatek,mt7629-dramc";
118 reg = <0x10203000 0x600>, /* EMI */
119 <0x10213000 0x1000>, /* DDRPHY */
120 <0x10214000 0xd00>; /* DRAMC_AO */
121 clocks = <&topckgen CLK_TOP_DDRPHYCFG_SEL>,
122 <&topckgen CLK_TOP_SYSPLL1_D8>,
123 <&topckgen CLK_TOP_MEM_SEL>,
124 <&topckgen CLK_TOP_DMPLL>;
125 clock-names = "phy", "phy_mux", "mem", "mem_mux";
129 apmixedsys: clock-controller@10209000 {
130 compatible = "mediatek,mt7629-apmixedsys";
131 reg = <0x10209000 0x1000>;
136 topckgen: clock-controller@10210000 {
137 compatible = "mediatek,mt7629-topckgen";
138 reg = <0x10210000 0x1000>;
143 watchdog: watchdog@10212000 {
144 compatible = "mediatek,wdt";
145 reg = <0x10212000 0x600>;
146 interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_FALLING>;
152 compatible = "wdt-reboot";
156 pinctrl: pinctrl@10217000 {
157 compatible = "mediatek,mt7629-pinctrl";
158 reg = <0x10217000 0x8000>;
160 gpio: gpio-controller {
166 gic: interrupt-controller@10300000 {
167 compatible = "arm,gic-400";
168 interrupt-controller;
169 #interrupt-cells = <3>;
170 interrupt-parent = <&gic>;
171 reg = <0x10310000 0x1000>,
177 uart0: serial@11002000 {
178 compatible = "mediatek,hsuart";
179 reg = <0x11002000 0x400>;
181 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
182 clocks = <&topckgen CLK_TOP_UART_SEL>,
183 <&pericfg CLK_PERI_UART0_PD>;
184 clock-names = "baud", "bus";
186 assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>;
187 assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>;
191 uart1: serial@11003000 {
192 compatible = "mediatek,hsuart";
193 reg = <0x11003000 0x400>;
195 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
196 clocks = <&topckgen CLK_TOP_UART_SEL>,
197 <&pericfg CLK_PERI_UART1_PD>;
198 clock-names = "baud", "bus";
199 assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>;
200 assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>;
204 uart2: serial@11004000 {
205 compatible = "mediatek,hsuart";
206 reg = <0x11004000 0x400>;
208 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
209 clocks = <&topckgen CLK_TOP_UART_SEL>,
210 <&pericfg CLK_PERI_UART2_PD>;
211 clock-names = "baud", "bus";
212 assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>;
213 assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>;
217 qspi: qspi@11014000 {
218 compatible = "mediatek,mt7629-qspi";
219 reg = <0x11014000 0xe0>, <0x30000000 0x10000000>;
220 reg-names = "reg_base", "mem_base";
222 #address-cells = <1>;
227 ethsys: syscon@1b000000 {
228 compatible = "mediatek,mt7629-ethsys", "syscon";
229 reg = <0x1b000000 0x1000>;
233 sgmiisys0: syscon@1b128000 {
234 compatible = "mediatek,mt7629-sgmiisys", "syscon";
235 reg = <0x1b128000 0x1000>;
239 sgmiisys1: syscon@1b130000 {
240 compatible = "mediatek,mt7629-sgmiisys", "syscon";
241 reg = <0x1b130000 0x1000>;