diff options
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/kirkwood-dir665.dts | 233 |
2 files changed, 234 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 38c89cafa1ab..31529ccc67a0 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -104,6 +104,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \ | |||
104 | kirkwood-d2net.dtb \ | 104 | kirkwood-d2net.dtb \ |
105 | kirkwood-db-88f6281.dtb \ | 105 | kirkwood-db-88f6281.dtb \ |
106 | kirkwood-db-88f6282.dtb \ | 106 | kirkwood-db-88f6282.dtb \ |
107 | kirkwood-dir665.dtb \ | ||
107 | kirkwood-dns320.dtb \ | 108 | kirkwood-dns320.dtb \ |
108 | kirkwood-dns325.dtb \ | 109 | kirkwood-dns325.dtb \ |
109 | kirkwood-dockstar.dtb \ | 110 | kirkwood-dockstar.dtb \ |
diff --git a/arch/arm/boot/dts/kirkwood-dir665.dts b/arch/arm/boot/dts/kirkwood-dir665.dts new file mode 100644 index 000000000000..d5ca9284db13 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-dir665.dts | |||
@@ -0,0 +1,233 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Claudio Leite <leitec@staticky.com> | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | /dts-v1/; | ||
10 | |||
11 | #include "kirkwood.dtsi" | ||
12 | #include "kirkwood-6281.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "D-Link DIR-665"; | ||
16 | compatible = "dlink,dir-665", "marvell,kirkwood-88f6281", "marvell,kirkwood"; | ||
17 | |||
18 | memory { | ||
19 | device_type = "memory"; | ||
20 | reg = <0x00000000 0x8000000>; /* 128 MB */ | ||
21 | }; | ||
22 | |||
23 | chosen { | ||
24 | bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
25 | stdout-path = &uart0; | ||
26 | }; | ||
27 | |||
28 | mbus { | ||
29 | pcie-controller { | ||
30 | status = "okay"; | ||
31 | |||
32 | pcie@1,0 { | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | }; | ||
36 | }; | ||
37 | |||
38 | ocp@f1000000 { | ||
39 | pinctrl: pin-controller@10000 { | ||
40 | pinctrl-0 =< &pmx_led_usb | ||
41 | &pmx_led_internet_blue | ||
42 | &pmx_led_internet_amber | ||
43 | &pmx_led_5g &pmx_led_status_blue | ||
44 | &pmx_led_wps &pmx_led_status_amber | ||
45 | &pmx_led_24g | ||
46 | &pmx_btn_restart &pmx_btn_wps>; | ||
47 | pinctrl-names = "default"; | ||
48 | |||
49 | pmx_led_usb: pmx-led-usb { | ||
50 | marvell,pins = "mpp12"; | ||
51 | marvell,function = "gpio"; | ||
52 | }; | ||
53 | pmx_led_internet_blue: pmx-led-internet-blue { | ||
54 | marvell,pins = "mpp42"; | ||
55 | marvell,function = "gpio"; | ||
56 | }; | ||
57 | pmx_led_internet_amber: pmx-led-internet-amber { | ||
58 | marvell,pins = "mpp43"; | ||
59 | marvell,function = "gpio"; | ||
60 | }; | ||
61 | pmx_led_5g: pmx-led-5g { | ||
62 | marvell,pins = "mpp44"; | ||
63 | marvell,function = "gpio"; | ||
64 | }; | ||
65 | pmx_led_status_blue: pmx-led-status-blue { | ||
66 | marvell,pins = "mpp45"; | ||
67 | marvell,function = "gpio"; | ||
68 | }; | ||
69 | pmx_led_wps: pmx-led-wps { | ||
70 | marvell,pins = "mpp47"; | ||
71 | marvell,function = "gpio"; | ||
72 | }; | ||
73 | pmx_led_status_amber: pmx-led-status-amber { | ||
74 | marvell,pins = "mpp48"; | ||
75 | marvell,function = "gpio"; | ||
76 | }; | ||
77 | pmx_led_24g: pmx-led-24g { | ||
78 | marvell,pins = "mpp49"; | ||
79 | marvell,function = "gpio"; | ||
80 | }; | ||
81 | pmx_btn_restart: pmx-btn-restart { | ||
82 | marvell,pins = "mpp28"; | ||
83 | marvell,function = "gpio"; | ||
84 | }; | ||
85 | pmx_btn_wps: pmx-btn-wps { | ||
86 | marvell,pins = "mpp46"; | ||
87 | marvell,function = "gpio"; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | spi@10600 { | ||
92 | status = "okay"; | ||
93 | m25p80@0 { | ||
94 | #address-cells = <1>; | ||
95 | #size-cells = <1>; | ||
96 | compatible = "mxicy,mx25l12805d"; | ||
97 | spi-max-frequency = <50000000>; | ||
98 | reg = <0>; | ||
99 | |||
100 | partition@0 { | ||
101 | label = "uboot"; | ||
102 | reg = <0x0 0x30000>; | ||
103 | read-only; | ||
104 | }; | ||
105 | |||
106 | partition@30000 { | ||
107 | label = "nvram"; | ||
108 | reg = <0x30000 0x10000>; | ||
109 | read-only; | ||
110 | }; | ||
111 | |||
112 | partition@40000 { | ||
113 | label = "kernel"; | ||
114 | reg = <0x40000 0x180000>; | ||
115 | }; | ||
116 | |||
117 | partition@1c0000 { | ||
118 | label = "rootfs"; | ||
119 | reg = <0x1c0000 0xe00000>; | ||
120 | }; | ||
121 | |||
122 | cal_data: partition@fc0000 { | ||
123 | label = "cal_data"; | ||
124 | reg = <0xfc0000 0x10000>; | ||
125 | read-only; | ||
126 | }; | ||
127 | |||
128 | partition@fd0000 { | ||
129 | label = "lang_pack"; | ||
130 | reg = <0xfd0000 0x30000>; | ||
131 | read-only; | ||
132 | }; | ||
133 | }; | ||
134 | }; | ||
135 | |||
136 | serial@12000 { | ||
137 | status = "okay"; | ||
138 | }; | ||
139 | |||
140 | i2c@11000 { | ||
141 | status = "okay"; | ||
142 | }; | ||
143 | |||
144 | ehci@50000 { | ||
145 | status = "okay"; | ||
146 | }; | ||
147 | }; | ||
148 | |||
149 | gpio-leds { | ||
150 | compatible = "gpio-leds"; | ||
151 | |||
152 | blue-usb { | ||
153 | label = "dir665:blue:usb"; | ||
154 | gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; | ||
155 | }; | ||
156 | blue-internet { | ||
157 | /* Can only be turned on if the Internet | ||
158 | * Ethernet port has Link | ||
159 | */ | ||
160 | label = "dir665:blue:internet"; | ||
161 | gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; | ||
162 | }; | ||
163 | amber-internet { | ||
164 | label = "dir665:amber:internet"; | ||
165 | gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; | ||
166 | }; | ||
167 | blue-wifi5g { | ||
168 | label = "dir665:blue:5g"; | ||
169 | gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; | ||
170 | }; | ||
171 | blue-status { | ||
172 | label = "dir665:blue:status"; | ||
173 | gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; | ||
174 | }; | ||
175 | blue-wps { | ||
176 | label = "dir665:blue:wps"; | ||
177 | gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; | ||
178 | }; | ||
179 | amber-status { | ||
180 | label = "dir665:amber:status"; | ||
181 | gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>; | ||
182 | }; | ||
183 | blue-24g { | ||
184 | label = "dir665:blue:24g"; | ||
185 | gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; | ||
186 | }; | ||
187 | }; | ||
188 | |||
189 | gpio-keys { | ||
190 | compatible = "gpio-keys"; | ||
191 | #address-cells = <1>; | ||
192 | #size-cells = <0>; | ||
193 | |||
194 | reset { | ||
195 | label = "reset"; | ||
196 | linux,code = <KEY_RESTART>; | ||
197 | gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; | ||
198 | }; | ||
199 | wps { | ||
200 | label = "wps"; | ||
201 | linux,code = <KEY_WPS_BUTTON>; | ||
202 | gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; | ||
203 | }; | ||
204 | }; | ||
205 | }; | ||
206 | |||
207 | &mdio { | ||
208 | status = "okay"; | ||
209 | }; | ||
210 | |||
211 | /* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set | ||
212 | * fixed speed and duplex. */ | ||
213 | ð0 { | ||
214 | status = "okay"; | ||
215 | |||
216 | ethernet0-port@0 { | ||
217 | speed = <1000>; | ||
218 | duplex = <1>; | ||
219 | }; | ||
220 | }; | ||
221 | |||
222 | /* eth1 is connected to the switch as well. However DSA only supports a | ||
223 | * single CPU port. So leave this port disabled to avoid confusion. */ | ||
224 | |||
225 | ð1 { | ||
226 | status = "disabled"; | ||
227 | }; | ||
228 | |||
229 | /* There is no battery on the boards, so the RTC does not keep time | ||
230 | * when there is no power, making it useless. */ | ||
231 | &rtc { | ||
232 | status = "disabled"; | ||
233 | }; | ||