ipq806x: split files in 6.1 and 6.6 dedicated directory
[openwrt/openwrt.git] / target / linux / ipq806x / files-6.1 / arch / arm / boot / dts / qcom-ipq8068-mr42.dts
1 // SPDX-License-Identifier: GPL-2.0 OR MIT
2
3 #include "qcom-ipq8068-cryptid-common.dtsi"
4
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/leds/common.h>
7
8 / {
9 model = "Meraki MR42";
10 compatible = "meraki,mr42", "qcom,ipq8064";
11
12 aliases {
13 serial1 = &gsbi1_serial;
14 ethernet0 = &gmac3;
15
16 led-boot = &led_active;
17 led-failsafe = &led_power;
18 led-running = &led_active;
19 led-upgrade = &led_active;
20 };
21
22 keys {
23 compatible = "gpio-keys";
24 pinctrl-0 = <&button_pins>;
25 pinctrl-names = "default";
26
27 reset {
28 label = "reset";
29 gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>;
30 linux,code = <KEY_RESTART>;
31 debounce-interval = <60>;
32 wakeup-source;
33 };
34 };
35
36 leds {
37 compatible = "gpio-leds";
38 pinctrl-0 = <&led_pins>;
39 pinctrl-names = "default";
40
41 led_power: power {
42 function = LED_FUNCTION_POWER;
43 color = <LED_COLOR_ID_ORANGE>;
44 gpios = <&qcom_pinmux 31 GPIO_ACTIVE_HIGH>;
45 };
46
47 led_active: active {
48 label = "white:active";
49 gpios = <&qcom_pinmux 32 GPIO_ACTIVE_HIGH>;
50 };
51 };
52 };
53
54 &gmac3 {
55 status = "okay";
56
57 qcom,id = <3>;
58 mdiobus = <&mdio0>;
59
60 phy-mode = "sgmii";
61 phy-handle = <&phy2>;
62
63 nvmem-cells = <&mac_address 0>;
64 nvmem-cell-names = "mac-address";
65 };
66
67 &gsbi2 {
68 status = "okay";
69 qcom,mode = <GSBI_PROT_I2C>;
70 };
71
72 &gsbi2_i2c {
73 status = "okay";
74
75 pinctrl-0 = <&i2c0_pins>;
76 pinctrl-names = "default";
77
78 ina2xx@40 {
79 compatible = "ina219";
80 shunt-resistor = <40000>;
81 reg = <0x40>;
82 };
83
84 eeprom@56 {
85 compatible = "atmel,24c64";
86 pagesize = <32>;
87 reg = <0x56>;
88 read-only;
89
90 nvmem-layout {
91 compatible = "fixed-layout";
92 #address-cells = <1>;
93 #size-cells = <1>;
94
95 mac_address: mac-address@66 {
96 compatible = "mac-base";
97 reg = <0x66 0x6>;
98 #nvmem-cell-cells = <1>;
99 };
100 };
101 };
102 };
103
104 &gsbi6 {
105 qcom,mode = <GSBI_PROT_I2C>;
106 status = "okay";
107 };
108
109 &gsbi6_i2c {
110 status = "okay";
111
112 pinctrl-0 = <&i2c1_pins>;
113 pinctrl-names = "default";
114
115 tlc591xx@40 {
116 #address-cells = <1>;
117 #size-cells = <0>;
118 compatible = "ti,tlc59108";
119 reg = <0x40>;
120
121 red@0 {
122 label = "red:user";
123 reg = <0x0>;
124 };
125
126 green@1 {
127 label = "green:user";
128 reg = <0x1>;
129 };
130
131 blue@2 {
132 label = "blue:user";
133 reg = <0x2>;
134 };
135 };
136 };
137
138 &mdio0 {
139 status = "okay";
140
141 pinctrl-0 = <&mdio0_pins_active>, <&phy_active>;
142 pinctrl-names = "default";
143
144 phy2: ethernet-phy2 {
145 reg = <2>;
146
147 reset-gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
148 reset-assert-us = <24000>;
149
150 eee-broken-100tx;
151 eee-broken-1000t;
152 };
153 };
154
155 &qcom_pinmux {
156 i2c0_pins: i2c0_pins {
157 mux {
158 pins = "gpio24", "gpio25";
159 function = "gsbi2";
160 drive-strength = <2>;
161 bias-pull-up;
162 input;
163 };
164 };
165
166 button_pins: button_pins {
167 mux {
168 pins = "gpio26";
169 function = "gpio";
170 drive-strength = <2>;
171 bias-pull-up;
172 };
173 };
174
175 i2c1_pins: i2c1_pins {
176 mux {
177 pins = "gpio29", "gpio30";
178 function = "gsbi6";
179 drive-strength = <2>;
180 bias-pull-up;
181 input;
182 };
183 };
184
185 led_pins: led_pins {
186 mux {
187 pins = "gpio31", "gpio32";
188 function = "gpio";
189 drive-strength = <12>;
190 bias-pull-down;
191 output-low;
192 };
193 };
194 };
195
196 &wifi0 {
197 nvmem-cells = <&mac_address 1>;
198 nvmem-cell-names = "mac-address";
199 };
200
201 &wifi1 {
202 nvmem-cells = <&mac_address 2>;
203 nvmem-cell-names = "mac-address";
204 };
205
206 &wifi2 {
207 nvmem-cells = <&mac_address 3>;
208 nvmem-cell-names = "mac-address";
209 };
210
211 &hs_phy_0 {
212 status = "okay";
213 };
214
215 &ss_phy_0 {
216 status = "okay";
217 };
218
219 &usb3_0 {
220 status = "okay";
221 };
222
223 &hs_phy_1 {
224 status = "okay";
225 };
226
227 &ss_phy_1 {
228 status = "okay";
229 };
230
231 &usb3_1 {
232 status = "okay";
233 };