lantiq: add support for indicating the boot state using three leds
[openwrt/openwrt.git] / target / linux / lantiq / dts / P2601HNFX.dts
1 /dts-v1/;
2
3 /include/ "ar9.dtsi"
4
5 / {
6 model = "P2601HNFX - ZyXEL P-2601HN-Fx";
7
8 chosen {
9 bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
10
11 leds {
12 boot = &power;
13 failsafe = &power2;
14 running = &power;
15
16 dsl = &dsl;
17 internet = &online;
18 wifi = &wifi;
19 };
20 };
21
22 memory@0 {
23 reg = <0x0 0x4000000>;
24 };
25
26 fpi@10000000 {
27 #address-cells = <1>;
28 #size-cells = <1>;
29 localbus@0 {
30 #address-cells = <2>;
31 #size-cells = <1>;
32 ranges = <0 0 0x0 0x3ffffff
33 1 0 0x4000000 0x4000010>;
34 compatible = "lantiq,localbus", "simple-bus";
35
36 nor-boot@0 {
37 compatible = "lantiq,nor";
38 bank-width = <2>;
39 reg = <0 0x0 0x2000000>;
40 #address-cells = <1>;
41 #size-cells = <1>;
42
43 partition@0 {
44 label = "uboot";
45 reg = <0x00000 0x40000>;
46 read-only;
47 };
48
49 partition@40000 {
50 label = "uboot_env";
51 reg = <0x40000 0x20000>;
52 read-only;
53 };
54
55 partition@60000 {
56 label = "firmware";
57 reg = <0x60000 0xfa0000>;
58 };
59 };
60 };
61
62 gpio: pinmux@E100B10 {
63 compatible = "lantiq,pinctrl-xr9";
64 pinctrl-names = "default";
65 pinctrl-0 = <&state_default>;
66
67 #gpio-cells = <2>;
68 gpio-controller;
69 reg = <0xE100B10 0xA0>;
70
71 state_default: pinmux {
72 stp {
73 lantiq,groups = "stp";
74 lantiq,function = "stp";
75 lantiq,pull = <2>;
76 lantiq,open-drain = <0>;
77 lantiq,output = <1>;
78 };
79 exin {
80 lantiq,groups = "exin1";
81 lantiq,function = "exin";
82 };
83 pci {
84 lantiq,groups = "gnt1";
85 lantiq,function = "pci";
86 };
87 conf_out {
88 lantiq,pins = "io4", "io5", "io6";
89 lantiq,open-drain;
90 lantiq,pull = <0>;
91 };
92 mdio {
93 lantiq,groups = "mdio";
94 lantiq,function = "mdio";
95 };
96 };
97 };
98
99 etop@E180000 {
100 phy-mode = "rmii";
101 };
102
103 ifxhcd@E101000 {
104 status = "okay";
105 gpios = <&gpio 9 0>;
106 };
107
108 stp: stp@E100BB0 {
109 #gpio-cells = <2>;
110 compatible = "lantiq,gpio-stp-xway";
111 gpio-controller;
112 reg = <0xE100BB0 0x40>;
113
114 lantiq,shadow = <0xfff>;
115 lantiq,groups = <0x3>;
116 };
117
118 pci@E105400 {
119 lantiq,bus-clock = <33333333>;
120 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
121 interrupt-map = <0x7000 0 0 1 &icu0 29 1>;
122 gpios-reset = <&gpio 21 0>;
123 req-mask = <0x1>;
124 };
125 };
126
127 gpio-keys-polled {
128 compatible = "gpio-keys-polled";
129 #address-cells = <1>;
130 #size-cells = <0>;
131 poll-interval = <100>;
132
133 reset {
134 label = "reset";
135 gpios = <&gpio 53 1>;
136 linux,code = <0x198>;
137 };
138 rfkill {
139 label = "rfkill";
140 gpios = <&gpio 54 1>;
141 linux,code = <0xf7>;
142 };
143 };
144
145 gpio-leds {
146 compatible = "gpio-leds";
147
148 power: power {
149 label = "power";
150 gpios = <&stp 11 1>;
151 default-state = "keep";
152 };
153 power2: power2 {
154 label = "power2";
155 gpios = <&gpio 29 1>;
156 };
157 online: online {
158 label = "online";
159 gpios = <&stp 13 1>;
160 };
161 online2 {
162 label = "online2";
163 gpios = <&stp 12 1>;
164 };
165 dsl: dsl {
166 label = "dsl";
167 gpios = <&stp 14 1>;
168 };
169 phone {
170 label = "phone";
171 gpios = <&stp 9 1>;
172 };
173 phone2 {
174 label = "phone2";
175 gpios = <&stp 8 1>;
176 };
177 wifi: wifi {
178 label = "wifi";
179 gpios = <&stp 15 1>;
180 };
181 wifi2 {
182 label = "wifi2";
183 gpios = <&stp 10 1>;
184 };
185 };
186
187 gpio_export {
188 compatible = "gpio-export";
189 #size-cells = <0>;
190
191 switch {
192 gpio-export,name = "switch";
193 gpio-export,output = <1>;
194 gpios = <&gpio 50 0>;
195 };
196 usb {
197 gpio-export,name = "wifi";
198 gpio-export,output = <1>;
199 gpios = <&gpio 9 0>;
200 };
201 };
202 };