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