lantiq: enable Netgear DGN1000B image build
[oweals/openwrt.git] / target / linux / lantiq / dts / DGN3500.dtsi
1 #include "ar9.dtsi"
2
3 #include <dt-bindings/input/input.h>
4
5 / {
6         chosen {
7                 bootargs = "root= console=ttyLTQ0,115200";
8         };
9
10         aliases {
11                 led-boot = &power_green;
12                 led-failsafe = &power_red;
13                 led-running = &power_green;
14
15                 led-dsl = &dsl;
16                 led-internet = &internet;
17                 led-usb = &usb;
18                 led-wifi = &wifi_green;
19         };
20
21         memory@0 {
22                 reg = <0x0 0x4000000>;
23         };
24
25         fpi@10000000 {
26                 gpio: pinmux@E100B10 {
27                         pinctrl-names = "default";
28                         pinctrl-0 = <&state_default>;
29
30                         state_default: pinmux {
31                                 exin {
32                                         lantiq,groups = "exin1";
33                                         lantiq,function = "exin";
34                                 };
35                                 pci {
36                                         lantiq,groups = "gnt1", "req1";
37                                         lantiq,function = "pci";
38                                 };
39                                 pci-in {
40                                         lantiq,groups = "req1";
41                                         lantiq,output = <0>;
42                                         lantiq,open-drain = <1>;
43                                         lantiq,pull = <2>;
44                                 };
45                                 pci-out {
46                                         lantiq,groups = "gnt1";
47                                         lantiq,output = <1>;
48                                         lantiq,pull = <0>;
49                                 };
50                         };
51                         pins_spi_default: pins_spi_default {
52                                 spi_in {
53                                         lantiq,groups = "spi_di";
54                                         lantiq,function = "spi";
55                                 };
56                                 spi_out {
57                                         lantiq,groups = "spi_do", "spi_clk",
58                                                 "spi_cs4";
59                                         lantiq,function = "spi";
60                                         lantiq,output = <1>;
61                                 };
62                         };
63                 };
64
65                 etop@E180000 {
66                         phy-mode = "mii";
67                 };
68
69                 ifxhcd@E101000 {
70                         status = "okay";
71                 };
72         };
73
74         rtl8366rb {
75                 compatible = "realtek,rtl8366rb";
76                 gpio-sda = <&gpio 35 GPIO_ACTIVE_HIGH>;
77                 gpio-sck = <&gpio 37 GPIO_ACTIVE_HIGH>;
78
79                 realtek,initvals = <
80                         0x0000 0x0830
81                         0x0400 0x8130
82                         0x000A 0x83ED
83                         0x0F51 0x0017
84                         0x02F5 0x0048
85                         0x02FA 0xFFDF
86                         0x02FB 0xFFE0
87                         0x0450 0x0000
88                         0x0401 0x0000
89                         0x0431 0x0960
90                 >;
91         };
92
93
94
95         gpio-keys-polled {
96                 compatible = "gpio-keys-polled";
97                 #address-cells = <1>;
98                 #size-cells = <0>;
99                 poll-interval = <100>;
100
101                 rfkill {
102                         label = "rfkill";
103                         gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
104                         linux,code = <KEY_RFKILL>;
105                 };
106                 wps {
107                         label = "wps";
108                         gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
109                         linux,code = <KEY_WPS_BUTTON>;
110                 };
111                 reset {
112                         label = "reset";
113                         gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
114                         linux,code = <KEY_RESTART>;
115                 };
116         };
117
118         gpio-leds {
119                 compatible = "gpio-leds";
120                 internet: internet {
121                         label = "dgn3500:green:internet";
122                         gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
123                 };
124                 internet2 {
125                         label = "dgn3500:red:internet";
126                         gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
127                 };
128                 dsl: dsl {
129                         label = "dgn3500:green:dsl";
130                         gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
131                 };
132                 usb: usb {
133                         label = "dgn3500:green:usb";
134                         gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
135                 };
136                 power_green: power {
137                         label = "dgn3500:green:power";
138                         gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
139                         default-state = "keep";
140                 };
141                 power_red: power2 {
142                         label = "dgn3500:red:power";
143                         gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
144                 };
145                 wifi_green: wifi {
146                         label = "dgn3500:green:wireless";
147                         gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
148                 };
149                 wifi2 {
150                         label = "dgn3500:amber:wireless";
151                         gpios = <&gpio 51 GPIO_ACTIVE_LOW>;
152                 };
153                 wps {
154                         label = "dgn3500:green:wps";
155                         gpios = <&gpio 52 GPIO_ACTIVE_LOW>;
156                 };
157         };
158 };
159
160 &pci0 {
161         status = "okay";
162         gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
163
164         wifi@168c,0029 {
165                 compatible = "pci168c,0029";
166                 reg = <0x7000 0 0 0 0>;
167                 qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
168         };
169 };
170
171 &spi {
172         pinctrl-names = "default";
173         pinctrl-0 = <&pins_spi_default>;
174
175         status = "ok";
176
177         m25p80@4 {
178                 #address-cells = <1>;
179                 #size-cells = <1>;
180                 compatible = "jedec,spi-nor";
181                 reg = <4 0>;
182                 spi-max-frequency = <20000000>;
183
184                 partitions {
185                         compatible = "fixed-partitions";
186                         #address-cells = <1>;
187                         #size-cells = <1>;
188
189                         partition@0 {
190                                 reg = <0x0 0x10000>;
191                                 label = "uboot";
192                                 read-only;
193                         };
194
195                         partition@10000 {
196                                 reg = <0x10000 0x10000>;
197                                 label = "uboot-env";
198                                 read-only;
199                         };
200
201                         ath9k_cal: partition@20000 {
202                                 reg = <0x20000 0x10000>;
203                                 label = "calibration";
204                                 read-only;
205                         };
206
207                         partition@50000 {
208                                 reg = <0x50000 0xfa0000>;
209                                 label = "firmware";
210                         };
211                 };
212         };
213 };