1 // SPDX-License-Identifier: GPL-2.0-only
3 * Device Tree Source for Meraki "Insect" series
5 * Copyright (C) 2017 Chris Blake <chrisrblake93@gmail.com>
6 * Copyright (C) 2017 Christian Lamparter <chunkeey@googlemail.com>
8 * Based on Cisco Meraki DTS from GPL release r25-linux-3.14-20170427
10 * This file is licensed under the terms of the GNU General Public
11 * License version 2. This program is licensed "as is" without
12 * any warranty of any kind, whether express or implied.
15 #include "qcom-ipq4019.dtsi"
16 #include <dt-bindings/gpio/gpio.h>
17 #include <dt-bindings/input/input.h>
18 #include <dt-bindings/soc/qcom,tcsr.h>
19 #include <dt-bindings/leds/common.h>
23 led-boot = &status_green;
24 led-failsafe = &status_red;
25 led-running = &status_green;
26 led-upgrade = &power_orange;
29 /* Do we really need this defined? */
31 device_type = "memory";
32 reg = <0x80000000 0x10000000>;
36 /* It is a 56-bit counter that supplies the count to the ARM arch
37 timers and without upstream driver */
39 compatible = "qcom,qca-gcnt";
44 compatible = "qcom,tcsr";
45 reg = <0x1953000 0x1000>;
46 qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>;
50 compatible = "qcom,tcsr";
51 reg = <0x1949000 0x100>;
52 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
56 compatible = "qcom,tcsr";
57 reg = <0x1957000 0x100>;
58 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
63 compatible = "gpio-keys";
67 gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
68 linux,code = <KEY_RESTART>;
73 compatible = "gpio-leds";
76 function = LED_FUNCTION_POWER;
77 color = <LED_COLOR_ID_ORANGE>;
78 gpios = <&tlmm 49 GPIO_ACTIVE_LOW>;
101 pinctrl-0 = <&serial_0_pins>;
102 pinctrl-names = "default";
107 pinctrl-0 = <&serial_1_pins>;
108 pinctrl-names = "default";
112 compatible = "ti,cc2650";
113 enable-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
122 pinctrl-0 = <&i2c_0_pins>;
123 pinctrl-names = "default";
127 compatible = "atmel,24c64";
130 read-only; /* This holds our MAC & Meraki board-data */
131 #address-cells = <1>;
134 mac_address: mac-address@66 {
135 compatible = "mac-base";
137 #nvmem-cell-cells = <1>;
143 pinctrl-0 = <&i2c_1_pins>;
144 pinctrl-names = "default";
147 tricolor: led-controller@30 {
148 compatible = "ti,lp5562";
150 clock-mode = /bits/8 <2>;
151 #address-cells = <1>;
156 chan-name = "red:status";
157 led-cur = /bits/ 8 <0x20>;
158 max-cur = /bits/ 8 <0x60>;
160 color = <LED_COLOR_ID_RED>;
163 status_green: chan@1 {
164 chan-name = "green:status";
165 led-cur = /bits/ 8 <0x20>;
166 max-cur = /bits/ 8 <0x60>;
168 color = <LED_COLOR_ID_GREEN>;
172 chan-name = "blue:status";
173 led-cur = /bits/ 8 <0x20>;
174 max-cur = /bits/ 8 <0x60>;
176 color = <LED_COLOR_ID_BLUE>;
180 chan-name = "white:status";
181 led-cur = /bits/ 8 <0x20>;
182 max-cur = /bits/ 8 <0x60>;
184 color = <LED_COLOR_ID_WHITE>;
190 pinctrl-0 = <&nand_pins>;
191 pinctrl-names = "default";
196 compatible = "fixed-partitions";
197 #address-cells = <1>;
202 reg = <0x00000000 0x00100000>;
207 reg = <0x00100000 0x00100000>;
211 label = "bootconfig";
212 reg = <0x00200000 0x00100000>;
217 reg = <0x00300000 0x00100000>;
222 reg = <0x00400000 0x00100000>;
227 reg = <0x00500000 0x00080000>;
232 reg = <0x00580000 0x00080000>;
237 reg = <0x00600000 0x00080000>;
242 reg = <0x00700000 0x00200000>;
246 label = "u-boot-backup";
247 reg = <0x00900000 0x00200000>;
252 reg = <0x00b00000 0x00080000>;
257 reg = <0x00c00000 0x07000000>;
259 * Do not try to allocate the remaining
260 * 4 MiB to this ubi partition. It will
261 * confuse the u-boot and it might not
262 * find the kernel partition anymore.
271 perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>;
272 wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>;
275 reg = <0x00000000 0 0 0 0>;
276 #address-cells = <3>;
281 compatible = "qcom,ath10k";
283 reg = <0x00010000 0 0 0 0>;
284 nvmem-cells = <&mac_address 1>;
285 nvmem-cell-names = "mac-address";
296 * GPIO43 should be 0/1 whenever the unit is
297 * powered through PoE or AC-Adapter.
298 * That said, playing with this seems to
302 mdio_pins: mdio_pinmux {
315 serial_0_pins: serial_pinmux {
317 pins = "gpio16", "gpio17";
318 function = "blsp_uart0";
323 serial_1_pins: serial1_pinmux {
325 /* We use the i2c-0 pins for serial_1 */
326 pins = "gpio8", "gpio9";
327 function = "blsp_uart1";
332 i2c_0_pins: i2c_0_pinmux {
334 function = "blsp_i2c0";
335 pins = "gpio20", "gpio21";
338 pins = "gpio20", "gpio21";
339 drive-strength = <16>;
344 i2c_1_pins: i2c_1_pinmux {
346 function = "blsp_i2c1";
347 pins = "gpio34", "gpio35";
350 pins = "gpio34", "gpio35";
351 drive-strength = <16>;
356 nand_pins: nand_pins {
358 * There are 18 pins. 15 pins are common between LCD and NAND.
359 * The QPIC controller arbitrates between LCD and NAND. Of the
360 * remaining 4, 2 are for NAND and 2 are for LCD exclusively.
362 * The meraki source hints that the bluetooth module claims
363 * pin 52 as well. But sadly, there's no data whenever this
364 * is a NAND or LCD exclusive pin or not.
368 pins = "gpio52", "gpio53", "gpio58",
375 pins = "gpio54", "gpio55", "gpio56",
376 "gpio57", "gpio60", "gpio61",
377 "gpio62", "gpio63", "gpio64",
378 "gpio65", "gpio66", "gpio67",
388 qcom,ath10k-calibration-variant = "Meraki-MR33";
389 nvmem-cells = <&mac_address 2>;
390 nvmem-cell-names = "mac-address";
395 qcom,ath10k-calibration-variant = "Meraki-MR33";
396 nvmem-cells = <&mac_address 3>;
397 nvmem-cell-names = "mac-address";
402 pinctrl-0 = <&mdio_pins>;
403 pinctrl-names = "default";
405 ar8035: ethernet-phy@1 {
412 nvmem-cells = <&mac_address 0>;
413 nvmem-cell-names = "mac-address";
419 /delete-property/ psgmii-ethphy;
426 phy-handle = <&ar8035>;
427 phy-mode = "rgmii-rxid";