lantiq: add support for ZyXEL P2601HNFX
[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
12         memory@0 {
13                 reg = <0x0 0x4000000>;
14         };
15
16         fpi@10000000 {
17                 #address-cells = <1>;
18                 #size-cells = <1>;
19                 localbus@0 {
20                         #address-cells = <2>;
21                         #size-cells = <1>;
22                         ranges = <0 0 0x0 0x3ffffff
23                                   1 0 0x4000000 0x4000010>;
24                         compatible = "lantiq,localbus", "simple-bus";
25
26                         nor-boot@0 {
27                                 compatible = "lantiq,nor";
28                                 bank-width = <2>;
29                                 reg = <0 0x0 0x2000000>;
30                                 #address-cells = <1>;
31                                 #size-cells = <1>;
32
33                                 partition@0 {
34                                         label = "uboot";
35                                         reg = <0x00000 0x40000>;
36                                         read-only;
37                                 };
38
39                                 partition@40000 {
40                                         label = "uboot_env";
41                                         reg = <0x40000 0x20000>;
42                                         read-only;
43                                 };
44
45                                 partition@60000 {
46                                         label = "firmware";
47                                         reg = <0x60000 0xfa0000>;
48                                 };
49                         };
50                 };
51
52                 gpio: pinmux@E100B10 {
53                         compatible = "lantiq,pinctrl-xr9";
54                         pinctrl-names = "default";
55                         pinctrl-0 = <&state_default>;
56
57                         #gpio-cells = <2>;
58                         gpio-controller;
59                         reg = <0xE100B10 0xA0>;
60
61                         state_default: pinmux {
62                                 stp {
63                                         lantiq,groups = "stp";
64                                         lantiq,function = "stp";
65                                 };
66                                 exin {
67                                         lantiq,groups = "exin1";
68                                         lantiq,function = "exin";
69                                 };
70                                 pci {
71                                         lantiq,groups = "gnt1";
72                                         lantiq,function = "pci";
73                                 };
74                                 conf_out {
75                                         lantiq,pins = "io4", "io5", "io6";
76                                         lantiq,open-drain;
77                                         lantiq,pull = <0>;
78                                 };
79                                 mdio {
80                                         lantiq,groups = "mdio";
81                                         lantiq,function = "mdio";
82                                 };
83                         };
84                 };
85
86                 etop@E180000 {
87                         phy-mode = "rmii";
88                 };
89
90                 ifxhcd@E101000 {
91                         status = "okay";
92                         gpios = <&gpio 9 0>;
93                 };
94
95                 stp: stp@E100BB0 {
96                         #gpio-cells = <2>;
97                         compatible = "lantiq,gpio-stp-xway";
98                         gpio-controller;
99                         reg = <0xE100BB0 0x40>;
100
101                         lantiq,shadow = <0xfff>;
102                         lantiq,groups = <0x3>;
103                 };
104
105                 pci@E105400 {
106                         lantiq,bus-clock = <33333333>;
107                         interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
108                         interrupt-map = <0x7000 0 0 1 &icu0 29 1>;
109                         gpios-reset = <&gpio 21 0>;
110                         req-mask = <0x1>;
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 1>;
123                         linux,code = <0x198>;
124                 };
125                 wps {
126                         label = "wps";
127                         gpios = <&gpio 54 1>;
128                         linux,code = <0x211>;
129                 };
130         };
131
132         gpio-leds {
133                 compatible = "gpio-leds";
134
135                 power {
136                         label = "power";
137                         gpios = <&stp 11 1>;
138                         default-state = "on";
139                 };
140                 power2 {
141                         label = "power2";
142                         gpios = <&gpio 29 1>;
143                 };
144                 online {
145                         label = "online";
146                         gpios = <&stp 13 1>;
147                 };
148                 online2 {
149                         label = "online2";
150                         gpios = <&stp 12 1>;
151                 };
152                 dsl {
153                         label = "dsl";
154                         gpios = <&stp 14 1>;
155                 };
156                 phone {
157                         label = "phone";
158                         gpios = <&stp 9 1>;
159                 };
160                 phone2 {
161                         label = "phone2";
162                         gpios = <&stp 8 1>;
163                 };
164                 wifi {
165                         label = "wifi";
166                         gpios = <&stp 15 1>;
167                 };
168                 wifi2 {
169                         label = "wifi2";
170                         gpios = <&stp 10 1>;
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 0>;
182                 };
183                 usb {
184                         gpio-export,name = "wifi";
185                         gpio-export,output = <1>;
186                         gpios = <&gpio 9 0>;
187                 };
188         };
189 };