1 From 702a8f4744ed5b480f2b2411858184afdb10f9fd Mon Sep 17 00:00:00 2001
2 From: Matthew Hagan <mnhagan88@gmail.com>
3 Date: Fri, 6 Aug 2021 21:44:35 +0100
4 Subject: [PATCH] ARM: dts: NSP: Add DT files for Meraki MX65 series
6 MX65 & MX65W Hardware info:
7 - CPU: Broadcom BCM58625 Cortex A9 @ 1200Mhz
8 - RAM: 2 GB (4 x 4Gb SK Hynix H5TC4G83CFR)
9 - Storage: 1 GB (Micron MT29F8G08ABACA)
10 - Networking: BCM58625 switch (2x 1GbE ports)
11 2x Qualcomm QCA8337 switches (10x 1GbE ports total)
12 - PSE: Broadcom BCM59111KMLG connected to LAN ports 11 & 12
14 - Serial: Internal header
15 - WLAN(MX65W Only): 2x Broadcom BCM43520KMLG on the PCI bus.
17 Note that a driver and firmware image for the BCM59111 PSE has been
18 released under GPL, but this is not present in the kernel.
20 Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
21 Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
23 arch/arm/boot/dts/Makefile | 2 +
24 arch/arm/boot/dts/bcm958625-meraki-alamo.dtsi | 279 ++++++++++++++++++
25 arch/arm/boot/dts/bcm958625-meraki-mx65.dts | 24 ++
26 arch/arm/boot/dts/bcm958625-meraki-mx65w.dts | 32 ++
27 4 files changed, 337 insertions(+)
28 create mode 100644 arch/arm/boot/dts/bcm958625-meraki-alamo.dtsi
29 create mode 100644 arch/arm/boot/dts/bcm958625-meraki-mx65.dts
30 create mode 100644 arch/arm/boot/dts/bcm958625-meraki-mx65w.dts
32 --- a/arch/arm/boot/dts/Makefile
33 +++ b/arch/arm/boot/dts/Makefile
34 @@ -163,6 +163,8 @@ dtb-$(CONFIG_ARCH_BCM_NSP) += \
35 bcm958625-meraki-mx64-a0.dtb \
36 bcm958625-meraki-mx64w.dtb \
37 bcm958625-meraki-mx64w-a0.dtb \
38 + bcm958625-meraki-mx65.dtb \
39 + bcm958625-meraki-mx65w.dtb \
44 +++ b/arch/arm/boot/dts/bcm958625-meraki-alamo.dtsi
46 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
48 + * Device Tree Bindings for Cisco Meraki MX65 series (Alamo).
50 + * Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
53 +#include "bcm958625-meraki-mx6x-common.dtsi"
57 + compatible = "gpio-keys-polled";
59 + poll-interval = <20>;
63 + linux,code = <KEY_RESTART>;
64 + gpios = <&gpioa 8 GPIO_ACTIVE_LOW>;
69 + compatible = "gpio-leds";
72 + /* green:wan1-left */
73 + function = LED_FUNCTION_ACTIVITY;
74 + function-enumerator = <0>;
75 + color = <LED_COLOR_ID_GREEN>;
76 + gpios = <&gpioa 25 GPIO_ACTIVE_LOW>;
80 + /* green:wan1-right */
81 + function = LED_FUNCTION_ACTIVITY;
82 + function-enumerator = <1>;
83 + color = <LED_COLOR_ID_GREEN>;
84 + gpios = <&gpioa 24 GPIO_ACTIVE_LOW>;
88 + /* green:wan2-left */
89 + function = LED_FUNCTION_ACTIVITY;
90 + function-enumerator = <2>;
91 + color = <LED_COLOR_ID_GREEN>;
92 + gpios = <&gpioa 27 GPIO_ACTIVE_LOW>;
96 + /* green:wan2-right */
97 + function = LED_FUNCTION_ACTIVITY;
98 + function-enumerator = <3>;
99 + color = <LED_COLOR_ID_GREEN>;
100 + gpios = <&gpioa 26 GPIO_ACTIVE_LOW>;
105 + function = LED_FUNCTION_POWER;
106 + color = <LED_COLOR_ID_AMBER>;
107 + gpios = <&gpioa 3 GPIO_ACTIVE_HIGH>;
108 + default-state = "on";
113 + function = LED_FUNCTION_STATUS;
114 + color = <LED_COLOR_ID_WHITE>;
115 + gpios = <&gpioa 31 GPIO_ACTIVE_HIGH>;
120 + compatible = "mdio-mux-mmioreg";
121 + reg = <0x1803f1c0 0x4>;
122 + mux-mask = <0x2000>;
123 + mdio-parent-bus = <&mdio_ext>;
124 + #address-cells = <1>;
129 + #address-cells = <1>;
148 + phy_port10: phy@4 {
153 + compatible = "qca,qca8337";
155 + dsa,member = <1 0>;
158 + #address-cells = <1>;
162 + ethernet = <&sgmii1>;
163 + phy-mode = "sgmii";
173 + phy-handle = <&phy_port6>;
179 + phy-handle = <&phy_port7>;
185 + phy-handle = <&phy_port8>;
191 + phy-handle = <&phy_port9>;
197 + phy-handle = <&phy_port10>;
205 + #address-cells = <1>;
229 + compatible = "qca,qca8337";
231 + dsa,member = <2 0>;
234 + #address-cells = <1>;
238 + ethernet = <&sgmii0>;
239 + phy-mode = "sgmii";
249 + phy-handle = <&phy_port1>;
255 + phy-handle = <&phy_port2>;
261 + phy-handle = <&phy_port3>;
267 + phy-handle = <&phy_port4>;
273 + phy-handle = <&phy_port5>;
282 + compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
284 + dsa,member = <0 0>;
316 + ethernet = <&amac2>;
326 +++ b/arch/arm/boot/dts/bcm958625-meraki-mx65.dts
328 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
330 + * Device Tree Bindings for Cisco Meraki MX65.
332 + * Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
337 +#include "bcm958625-meraki-alamo.dtsi"
340 + model = "Cisco Meraki MX65";
341 + compatible = "meraki,mx65", "brcm,bcm58625", "brcm,nsp";
344 + stdout-path = "serial0:115200n8";
348 + device_type = "memory";
349 + reg = <0x60000000 0x80000000>;
353 +++ b/arch/arm/boot/dts/bcm958625-meraki-mx65w.dts
355 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
357 + * Device Tree Bindings for Cisco Meraki MX65W.
359 + * Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
364 +#include "bcm958625-meraki-alamo.dtsi"
367 + model = "Cisco Meraki MX65W";
368 + compatible = "meraki,mx65w", "brcm,bcm58625", "brcm,nsp";
371 + stdout-path = "serial0:115200n8";
375 + device_type = "memory";
376 + reg = <0x60000000 0x80000000>;