eff9102d33ca06931797838fcf37e3def4be4230
[openwrt/staging/wigyori.git] / target / linux / kirkwood / files-5.4 / arch / arm / boot / dts / kirkwood-linksys-audi.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
4 *
5 * (c) 2013 Jonas Gorski <jogo@openwrt.org>
6 * (c) 2013 Deutsche Telekom Innovation Laboratories
7 * (c) 2014 Luka Perkov <luka@openwrt.org>
8 * (c) 2014 Dan Walters <dan@walters.io>
9 *
10 */
11
12 /dts-v1/;
13
14 #include "kirkwood.dtsi"
15 #include "kirkwood-6282.dtsi"
16
17 / {
18 model = "Linksys Audi (EA3500)";
19 compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
20
21 memory@0 {
22 device_type = "memory";
23 reg = <0x00000000 0x4000000>;
24 };
25
26 aliases {
27 led-boot = &led_power;
28 led-failsafe = &led_power;
29 led-running = &led_power;
30 led-upgrade = &led_power;
31 serial0 = &uart0;
32 };
33
34 chosen {
35 stdout-path = "serial0:115200n8";
36 };
37
38 gpio-keys {
39 compatible = "gpio-keys";
40
41 pinctrl-0 = <&pmx_btn_wps &pmx_btn_reset>;
42 pinctrl-names = "default";
43
44 wps {
45 label = "WPS Button";
46 linux,code = <KEY_WPS_BUTTON>;
47 gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
48 };
49
50 reset {
51 label = "Reset Button";
52 linux,code = <KEY_RESTART>;
53 gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
54 };
55 };
56
57 gpio-leds {
58 compatible = "gpio-leds";
59
60 pinctrl-0 = <&pmx_led_green_power>;
61 pinctrl-names = "default";
62
63 led_power: power {
64 label = "audi:green:power";
65 gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
66 default-state = "on";
67 };
68 };
69
70 mvsw61xx {
71 compatible = "marvell,88e6171";
72 status = "okay";
73 reg = <0x10>;
74
75 mii-bus = <&mdio>;
76 cpu-port-0 = <5>;
77 cpu-port-1 = <6>;
78 is-indirect;
79 };
80 };
81
82 &pinctrl {
83 pmx_led_green_power: pmx-led-green-power {
84 marvell,pins = "mpp7";
85 marvell,function = "gpo";
86 };
87
88 pmx_btn_wps: pmx-btn-wps {
89 marvell,pins = "mpp47";
90 marvell,function = "gpio";
91 };
92
93 pmx_btn_reset: pmx-btn-reset {
94 marvell,pins = "mpp48";
95 marvell,function = "gpio";
96 };
97 };
98
99 &nand {
100 status = "okay";
101
102 pinctrl-0 = <&pmx_nand>;
103 pinctrl-names = "default";
104
105 partitions {
106 compatible = "fixed-partitions";
107 #address-cells = <1>;
108 #size-cells = <1>;
109
110 partition@0 {
111 label = "u-boot";
112 reg = <0x0 0x80000>;
113 read-only;
114 };
115
116 partition@80000 {
117 label = "u_env";
118 reg = <0x80000 0x4000>;
119 };
120
121 partition@84000 {
122 label = "s_env";
123 reg = <0x84000 0x4000>;
124 };
125
126 partition@200000 {
127 label = "kernel1";
128 reg = <0x200000 0x290000>;
129 };
130
131 partition@490000 {
132 label = "rootfs1";
133 reg = <0x490000 0x1170000>;
134 };
135
136 partition@1600000 {
137 label = "kernel2";
138 reg = <0x1600000 0x290000>;
139 };
140
141 partition@1890000 {
142 label = "rootfs2";
143 reg = <0x1890000 0x1170000>;
144 };
145
146 partition@2a00000 {
147 label = "syscfg";
148 reg = <0x2a00000 0x1600000>;
149 };
150
151 partition@88000 {
152 label = "unused";
153 reg = <0x88000 0x178000>;
154 };
155 };
156 };
157
158 &pciec {
159 status = "okay";
160 };
161
162 &pcie0 {
163 status = "okay";
164 };
165
166 &pcie1 {
167 status = "okay";
168 };
169
170 &mdio {
171 status = "okay";
172 };
173
174 &uart0 {
175 status = "okay";
176 };
177
178 /* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
179 * fixed speed and duplex.
180 */
181 &eth0 {
182 status = "okay";
183
184 ethernet0-port@0 {
185 speed = <1000>;
186 duplex = <1>;
187 };
188 };
189
190 /* eth1 is connected to the switch at port 6. However DSA only supports a
191 * single CPU port. Upstream uses DSA so they disable this port to avoid confusion.
192 */
193 &eth1 {
194 status = "okay";
195
196 ethernet1-port@0 {
197 speed = <1000>;
198 duplex = <1>;
199 };
200 };
201
202 /* There is no battery on the board, so the RTC does not keep
203 * time when there is no power, making it useless.
204 */
205 &rtc {
206 status = "disabled";
207 };