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