ath79: make ahb wifi work
[oweals/openwrt.git] / target / linux / ath79 / dts / ar7242_avm_fritz300e.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /dts-v1/;
3
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6
7 #include "ar7242.dtsi"
8
9 / {
10         compatible = "avm,fritz300e", "qca,ar7242";
11         model = "AVM FRITZ!WLAN Repeater 300E";
12
13         memory@0 {
14                 device_type = "memory";
15                 reg = <0x0 0x4000000>;
16         };
17
18         gpio-keys {
19                 compatible = "gpio-keys-polled";
20                 #address-cells = <1>;
21                 #size-cells = <0>;
22                 poll-interval = <20>;
23
24                 wps {
25                         label = "wps";
26                         linux,code = <KEY_WPS_BUTTON>;
27                         gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
28                         debounce-interval = <60>;
29                 };
30         };
31
32         leds {
33                 compatible = "gpio-leds";
34
35                 power {
36                         label = "fritz300e:green:power";
37                         gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
38                         default-state = "on";
39                 };
40
41                 lan {
42                         label = "fritz300e:green:lan";
43                         gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
44                 };
45
46                 wlan {
47                         label = "fritz300e:green:wlan";
48                         gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
49                 };
50         };
51
52         ath9k-leds {
53                 compatible = "gpio-leds";
54
55                 rssi0 {
56                         label = "fritz300e:green:rssi0";
57                         gpios = <&ath9k 10 GPIO_ACTIVE_LOW>;
58                 };
59
60                 rssi1 {
61                         label = "fritz300e:green:rssi1";
62                         gpios = <&ath9k 4 GPIO_ACTIVE_LOW>;
63                 };
64
65                 rssi2 {
66                         label = "fritz300e:green:rssi2";
67                         gpios = <&ath9k 6 GPIO_ACTIVE_LOW>;
68                 };
69
70                 rssi3 {
71                         label = "fritz300e:green:rssi3";
72                         gpios = <&ath9k 7 GPIO_ACTIVE_LOW>;
73                 };
74
75                 rssi4 {
76                         label = "fritz300e:green:rssi4";
77                         gpios = <&ath9k 5 GPIO_ACTIVE_LOW>;
78                 };
79         };
80
81         eth-phy-reset {
82                 compatible = "regulator-fixed";
83
84                 regulator-name = "eth-phy-reset";
85                 regulator-min-microvolt = <3300000>;
86                 regulator-max-microvolt = <3300000>;
87
88                 gpio = <&gpio 11 GPIO_ACTIVE_LOW>;
89                 startup-delay-us = <300000>;
90                 enable-active-high;
91
92                 regulator-always-on;
93         };
94 };
95
96 &spi {
97         status = "okay";
98         num-cs = <1>;
99
100         flash@0 {
101                 #address-cells = <1>;
102                 #size-cells = <1>;
103                 compatible = "jedec,spi-nor";
104                 reg = <0>;
105                 spi-max-frequency = <25000000>;
106
107                 partitions {
108                         compatible = "fixed-partitions";
109                         #address-cells = <1>;
110                         #size-cells = <1>;
111
112                         partition@0 {
113                                 reg = <0x0 0x20000>;
114                                 label = "urloader";
115                                 read-only;
116                         };
117
118                         partition@20000 {
119                                 reg = <0x20000 0xee0000>;
120                                 label = "firmware";
121                         };
122
123                         partition@f00000 {
124                                 reg = <0xf00000 0x80000>;
125                                 label = "tffs (1)";
126                                 read-only;
127                         };
128
129                         partition@f80000 {
130                                 reg = <0xf80000 0x80000>;
131                                 label = "tffs (2)";
132                                 read-only;
133                         };
134                 };
135         };
136 };
137
138 &uart {
139         status = "okay";
140 };
141
142 &pcie {
143         status = "okay";
144
145         ath9k: wifi@0000 {
146                 reg = <0x0000 0 0 0 0>;
147                 #gpio-cells = <2>;
148                 gpio-controller;
149                 qca,no-eeprom;
150         };
151 };
152
153 &mdio0 {
154         status = "okay";
155
156         phy0: ethernet-phy@0 {
157                 reg = <0>;
158                 phy-mode = "rgmii";
159         };
160 };
161
162 &eth0 {
163         status = "okay";
164
165         phy-mode = "rgmii";
166         phy-handle = <&phy0>;
167
168         pll-data = <0x16000000 0x00000101 0x00001313>;
169 };