ath79: convert Ubiquiti UniFi AP Pro WiFis to nvmem-cells
[openwrt/staging/hauke.git] / target / linux / ath79 / dts / ar9344_ubnt_unifi-ap-pro.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "ar9344.dtsi"
4
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7
8 / {
9 model = "Ubiquiti UniFi AP Pro";
10 compatible = "ubnt,unifi-ap-pro";
11
12 aliases {
13 led-boot = &led_white;
14 led-failsafe = &led_white;
15 led-running = &led_blue;
16 led-upgrade = &led_blue;
17 label-mac-device = &eth0;
18 };
19
20 leds {
21 compatible = "gpio-leds";
22
23 led_white: led-white {
24 label = "white:dome";
25 gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
26 };
27
28 led_blue: led-blue {
29 label = "blue:dome";
30 gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
31 };
32 };
33
34 keys {
35 compatible = "gpio-keys";
36
37 reset {
38 linux,code = <KEY_RESTART>;
39 gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
40 debounce-interval = <60>;
41 };
42 };
43 };
44
45 &ref {
46 clock-frequency = <40000000>;
47 };
48
49 &spi {
50 status = "okay";
51
52 flash@0 {
53 compatible = "jedec,spi-nor";
54 reg = <0>;
55 spi-max-frequency = <50000000>;
56
57 partitions {
58 compatible = "fixed-partitions";
59 #address-cells = <1>;
60 #size-cells = <1>;
61
62 uboot: partition@0 {
63 label = "u-boot";
64 reg = <0x0 0x40000>;
65 read-only;
66 };
67
68 partition@40000 {
69 label = "u-boot-env";
70 reg = <0x40000 0x10000>;
71 read-only;
72 };
73
74 partition@50000 {
75 label = "firmware";
76 reg = <0x50000 0xf60000>;
77
78 compatible = "fixed-partitions";
79 #address-cells = <1>;
80 #size-cells = <1>;
81
82 partition@0 {
83 label = "kernel";
84 reg = <0x0 0x300000>;
85 /* Can be resized w/o issues.
86 * U-Boot can load kernel from the
87 * entirety of the "firmware" partition space.
88 */
89 };
90
91 partition@300000 {
92 label = "rootfs";
93 reg = <0x300000 0xc60000>;
94 };
95 };
96
97 partition@fb0000 {
98 label = "cfg";
99 reg = <0xfb0000 0x40000>;
100 read-only;
101 };
102
103 partition@ff0000 {
104 label = "art";
105 reg = <0xff0000 0x10000>;
106 read-only;
107
108 compatible = "nvmem-cells";
109 #address-cells = <1>;
110 #size-cells = <1>;
111
112 macaddr_art_0: macaddr@0 {
113 reg = <0x0 0x6>;
114 };
115
116 calibration_art_1000: calibration@1000 {
117 reg = <0x1000 0x440>;
118 };
119
120 calibration_art_5000: calibration@5000 {
121 reg = <0x5000 0x440>;
122 };
123 };
124 };
125 };
126 };
127
128 &pcie {
129 status = "okay";
130
131 wifi@0,0 {
132 compatible = "pci168c,0033";
133 reg = <0 0 0 0 0>;
134 nvmem-cells = <&calibration_art_5000>;
135 nvmem-cell-names = "calibration";
136 };
137 };
138
139 &wmac {
140 status = "okay";
141
142 nvmem-cells = <&calibration_art_1000>;
143 nvmem-cell-names = "calibration";
144 };
145
146 &mdio0 {
147 status = "okay";
148
149 phy0: ethernet-phy@0 {
150 reg = <0>;
151
152 qca,ar8327-initvals = <
153 0x4 0x7600000 /* PORT0 PAD MODE CTRL */
154 0x10 0x80000080 /* POWER_ON_STRAP */
155 0x7c 0x7e /* PORT0_STATUS */
156 >;
157 };
158 };
159
160 &eth0 {
161 status = "okay";
162
163 pll-data = <0x6000000 0x101 0x1616>;
164
165 nvmem-cells = <&macaddr_art_0>;
166 nvmem-cell-names = "mac-address";
167
168 phy-mode = "rgmii";
169 phy-handle = <&phy0>;
170 };