4a0304998987fde186aa329dffc71a33e721c4ae
[openwrt/staging/lynxis.git] / target / linux / ath79 / dts / ar9132.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 #include <dt-bindings/clock/ath79-clk.h>
3
4 / {
5 compatible = "qca,ar9132";
6
7 #address-cells = <1>;
8 #size-cells = <1>;
9
10 cpus {
11 #address-cells = <1>;
12 #size-cells = <0>;
13
14 cpu@0 {
15 device_type = "cpu";
16 compatible = "mips,mips24Kc";
17 clocks = <&pll ATH79_CLK_CPU>;
18 reg = <0>;
19 };
20 };
21
22 cpuintc: interrupt-controller {
23 compatible = "qca,ar9132-cpu-intc", "qca,ar7100-cpu-intc";
24
25 interrupt-controller;
26 #interrupt-cells = <1>;
27
28 qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
29 qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>,
30 <&ddr_ctrl 0>, <&ddr_ctrl 1>;
31 };
32
33 ahb {
34 compatible = "simple-bus";
35 ranges;
36
37 #address-cells = <1>;
38 #size-cells = <1>;
39
40 interrupt-parent = <&cpuintc>;
41
42 apb {
43 compatible = "simple-bus";
44 ranges;
45
46 #address-cells = <1>;
47 #size-cells = <1>;
48
49 interrupt-parent = <&miscintc>;
50
51 ddr_ctrl: memory-controller@18000000 {
52 compatible = "qca,ar9132-ddr-controller",
53 "qca,ar7240-ddr-controller";
54 reg = <0x18000000 0x100>;
55
56 #qca,ddr-wb-channel-cells = <1>;
57 };
58
59 uart: uart@18020000 {
60 compatible = "ns8250";
61 reg = <0x18020000 0x20>;
62 interrupts = <3>;
63
64 clocks = <&pll ATH79_CLK_AHB>;
65 clock-names = "uart";
66
67 reg-io-width = <4>;
68 reg-shift = <2>;
69 no-loopback-test;
70
71 status = "disabled";
72 };
73
74 gpio: gpio@18040000 {
75 compatible = "qca,ar9132-gpio",
76 "qca,ar7100-gpio";
77 reg = <0x18040000 0x30>;
78 interrupts = <2>;
79
80 ngpios = <22>;
81
82 gpio-controller;
83 #gpio-cells = <2>;
84
85 interrupt-controller;
86 #interrupt-cells = <2>;
87 };
88
89 pll: pll-controller@18050000 {
90 compatible = "qca,ar9132-pll",
91 "qca,ar9130-pll";
92 reg = <0x18050000 0x20>;
93
94 clock-names = "ref";
95 /* The board must provides the ref clock */
96
97 #clock-cells = <1>;
98 clock-output-names = "cpu", "ddr", "ahb";
99 };
100
101 wdt: wdt@18060008 {
102 compatible = "qca,ar7130-wdt";
103 reg = <0x18060008 0x8>;
104
105 interrupts = <4>;
106
107 clocks = <&pll ATH79_CLK_AHB>;
108 clock-names = "wdt";
109 };
110
111 miscintc: interrupt-controller@18060010 {
112 compatible = "qca,ar9132-misc-intc",
113 "qca,ar7100-misc-intc";
114 reg = <0x18060010 0x8>;
115
116 interrupt-parent = <&cpuintc>;
117 interrupts = <6>;
118
119 interrupt-controller;
120 #interrupt-cells = <1>;
121 };
122
123 rst: reset-controller@1806001c {
124 compatible = "qca,ar9132-reset",
125 "qca,ar7100-reset";
126 reg = <0x1806001c 0x4>;
127
128 #reset-cells = <1>;
129 };
130 };
131
132 usb: usb@1b000100 {
133 compatible = "qca,ar7100-ehci", "generic-ehci";
134 reg = <0x1b000100 0x100>;
135
136 interrupts = <3>;
137 resets = <&rst 5>;
138
139 has-transaction-translator;
140
141 phy-names = "usb";
142 phys = <&usb_phy>;
143
144 status = "disabled";
145 };
146
147 spi: spi@1f000000 {
148 compatible = "qca,ar9132-spi", "qca,ar7100-spi";
149 reg = <0x1f000000 0x10>;
150
151 clocks = <&pll ATH79_CLK_AHB>;
152 clock-names = "ahb";
153
154 status = "disabled";
155
156 #address-cells = <1>;
157 #size-cells = <0>;
158 };
159 };
160
161 usb_phy: usb-phy {
162 compatible = "qca,ar7200-usb-phy";
163
164 reset-names = "usb-phy", "usb-suspend-override";
165 resets = <&rst 4>, <&rst 3>;
166
167 #phy-cells = <0>;
168
169 status = "disabled";
170 };
171 };