ARM: dts: NSP: Add support for Cisco Meraki NSP devices
Subsystems (2)
cover ARM: dts: NSP: Add support for Cisco Meraki NSP devices
This patch set adds support for the Meraki MX64(W) and MX65(W) security devices. There are four devices in total, all using the same basic hardware.
The MX64 series has five ethernet ports connected to the BCM SRAB. The MX65 series has two ports conected to the SRAB, and two QCA8337 switches connected by SGMII to SRAB ports 4 and 5, each providing five additional ports.
The W variants of these devices have two BCM43520s on the PCIe bus. On the non-wireless variants PCIe is inactive, hence separate dts files.
1/3 contains common bindings for both Meraki devices. 2/3 contains MX64 specific bindings.
3/3 contains MX65 specific bindings.
Note that Chris Packham's "[PATCH 2/2] ARM: dts: NSP: avoid unnecessary probe deferrals" is also necessary.
Thanks,
Matthew
Matthew Hagan (3):
ARM: dts: NSP: Add common bindings for Meraki MX64/65
ARM: dts: NSP: Add support for Cisco Meraki MX64(W)
ARM: dts: NSP: Add support for Cisco Meraki MX65(W)
arch/arm/boot/dts/bcm958625-mx64.dts | 15 + arch/arm/boot/dts/bcm958625-mx64w.dts | 23 ++ arch/arm/boot/dts/bcm958625-mx64x.dtsi | 136 ++++++++ arch/arm/boot/dts/bcm958625-mx65.dts | 15 + arch/arm/boot/dts/bcm958625-mx65w.dts | 23 ++ arch/arm/boot/dts/bcm958625-mx65x.dtsi | 321 +++++++++++++++++++ arch/arm/boot/dts/bcm958625-mx6x-common.dtsi | 172 ++++++++++ 7 files changed, 705 insertions(+) create mode 100644 arch/arm/boot/dts/bcm958625-mx64.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx64w.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx64x.dtsi create mode 100644 arch/arm/boot/dts/bcm958625-mx65.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx65w.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx65x.dtsi create mode 100644 arch/arm/boot/dts/bcm958625-mx6x-common.dtsi
Signature · 1 line
2.25.4
PATCH 1/3 ARM: dts: NSP: Add common bindings for Meraki MX64/65
--- arch/arm/boot/dts/bcm958625-mx6x-common.dtsi | 172 +++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 arch/arm/boot/dts/bcm958625-mx6x-common.dtsi
arch/arm/boot/dts/bcm958625-mx6x-common.dtsi new file +172 -0
@@ -0,0 +1,172 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Common Bindings for Cisco Meraki MX64 (Kingpin) and MX65 (Alamo) devices. + * + * Copyright (C) 2020 Matthew Hagan <[email protected]> + */ + +/dts-v1/; + +#include "bcm-nsp.dtsi" +#include <dt-bindings/gpio/gpio.h> + +/ { + chosen { + stdout-path = "serial0:115200n8"; + }; + + memory { + device_type = "memory"; + reg = <0x60000000 0x80000000>; + }; + + pwm-leds { + compatible = "pwm-leds"; + + red { + label = "pwm:led:red"; + pwms = <&pwm 1 50000>; + }; + + green { + label = "pwm:led:green"; + pwms = <&pwm 2 50000>; + }; + + blue { + label = "pwm:led:blue"; + pwms = <&pwm 3 50000>; + }; + }; +}; + +&L2 { + arm,io-coherent; + prefetch-data = <1>; + prefetch-instr = <1>; +}; + +&uart0 { + clock-frequency = <62500000>; + status = "okay"; +}; + +&i2c0 { + status = "okay"; + eeprom: at24@50 { + compatible = "atmel,24c64"; + pagesize = <32>; + reg = <0x50>; + }; +}; + +&amac2 { + status = "okay"; +}; + +&nand { + nandcs@0 { + compatible = "brcm,nandcs"; + reg = <0>; + nand-on-flash-bbt; + + #address-cells = <1>; + #size-cells = <1>; + + nand-ecc-strength = <24>; + nand-ecc-step-size = <1024>; + + brcm,nand-oob-sector-size = <27>; + + partition@0 { + label = "U-boot"; + reg = <0x00 0x80000>; + read-only; + }; + + partition@80000 { + label = "Shmoo"; + reg = <0x80000 0x80000>; + read-only; + }; + + partition@100000 { + label = "bootkernel1"; + reg = <0x100000 0x300000>; + }; + + partition@400000 { + label = "senao_nvram"; + reg = <0x400000 0x100000>; + }; + + partition@500000 { + label = "bootkernel2"; + reg = <0x500000 0x300000>; + }; + + partition@800000 { + label = "ubi"; + reg = <0x800000 0x3f700000>; + }; + }; +}; + +&ehci0 { + status = "okay"; +}; + +&ohci0 { + status = "okay"; +}; + +&pwm { + status = "okay"; + #pwm-cells = <2>; + chan0 { + channel = <1>; + active_low = <1>; + }; + chan1 { + channel = <2>; + active_low = <1>; + }; + chan2 { + channel = <3>; + active_low = <1>; + }; +}; + +&ccbtimer1 { + status = "disabled"; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&nand_sel>, <&gpiobs>, <&pwmc>; + + nand_sel: nand_sel { + function = "nand"; + groups = "nand_grp"; + }; + + gpiobs: gpiobs { + function = "gpio_b"; + groups = "gpio_b_0_grp", "gpio_b_1_grp", "gpio_b_2_grp", + "gpio_b_3_grp"; + }; + + pwmc: pwmc { + function = "pwm"; + groups = "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp"; + }; + + i2c_sel: i2c { + function = "i2c"; + groups = "i2c_grp"; + }; +}; + +&sata_phy { + status = "disabled"; +};
Signature · 1 line
2.25.4
PATCH 2/3 ARM: dts: NSP: Add support for Cisco Meraki MX64(W)
In reply to Matthew HaganHardware Info
-------------
Processor - Broadcom BCM58625 dual-core @ 1.2 GHz
DDR3 RAM - 2GB (4x SK Hynix H5TC4G83CFR)
Flash - 1GB (Micron MT29F8G08ABACA)
Switch - Broadcom BCM58625
Wireless(MX64W) - Broadcom BCM43520KMLG (2x)
Ports - 5 Ports
Serial Port - 115200 8n1
USB - 1x 2.0
Tested with Kernel 5.4. PCIe is inactive on the non-wireless MX64.
--- arch/arm/boot/dts/bcm958625-mx64.dts | 15 +++ arch/arm/boot/dts/bcm958625-mx64w.dts | 23 +++++ arch/arm/boot/dts/bcm958625-mx64x.dtsi | 136 +++++++++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 arch/arm/boot/dts/bcm958625-mx64.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx64w.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx64x.dtsi
arch/arm/boot/dts/bcm958625-mx64.dts new file +15 -0
@@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Device Tree Bindings for Cisco Meraki MX64. + * + * Copyright (C) 2020 Matthew Hagan <[email protected]> + */ + +/dts-v1/; + +#include "bcm958625-mx64x.dtsi" + +/ { + model = "Cisco Meraki MX64"; + compatible = "meraki,mx64", "brcm,bcm58625", "brcm,nsp"; +};
arch/arm/boot/dts/bcm958625-mx64w.dts new file +23 -0
@@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Device Tree Bindings for Cisco Meraki MX64W. + * + * Copyright (C) 2020 Matthew Hagan <[email protected]> + */ + +/dts-v1/; + +#include "bcm958625-mx64x.dtsi" + +/ { + model = "Cisco Meraki MX64W"; + compatible = "meraki,mx64w", "brcm,bcm58625", "brcm,nsp"; +}; + +&pcie0 { + status = "okay"; +}; + +&pcie1 { + status = "okay"; +};
arch/arm/boot/dts/bcm958625-mx64x.dtsi new file +136 -0
136 lines not on this page · raw message
Signature · 1 line
2.25.4
PATCH 3/3 ARM: dts: NSP: Add support for Cisco Meraki MX65(W)
In reply to Matthew HaganHardware Info
-------------
Processor - Broadcom BCM58625 dual-core @ 1.2 GHz
DDR3 RAM - 2GB (4x SK Hynix H5TC4G83CFR)
Flash - 1GB (Micron MT29F8G08ABACA)
Switches - Broadcom BCM58625, 2x Qualcomm Atheros QCA8337
Ports - 12 Ports
Wireless(MX65W) - Broadcom BCM43520KMLG (2X)
Serial Port - 115200 8n1
USB - 1x 2.0
Tested with Kernel 5.4. PCIe is inactive on non-wireless MX65.
Note: The QCA8337 switches are connected to ports 4 and 5 of the BCM58625 SRAB, which need be set to SGMII mode.
--- arch/arm/boot/dts/bcm958625-mx65.dts | 15 ++ arch/arm/boot/dts/bcm958625-mx65w.dts | 23 ++ arch/arm/boot/dts/bcm958625-mx65x.dtsi | 321 +++++++++++++++++++++++++ 3 files changed, 359 insertions(+) create mode 100644 arch/arm/boot/dts/bcm958625-mx65.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx65w.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx65x.dtsi
arch/arm/boot/dts/bcm958625-mx65.dts new file +15 -0
@@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Device Tree Bindings for Cisco Meraki MX65. + * + * Copyright (C) 2020 Matthew Hagan <[email protected]> + */ + +/dts-v1/; + +#include "bcm958625-mx65x.dtsi" + +/ { + model = "Cisco Meraki MX65"; + compatible = "meraki,mx65", "brcm,bcm58625", "brcm,nsp"; +};
arch/arm/boot/dts/bcm958625-mx65w.dts new file +23 -0
@@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Device Tree Bindings for Cisco Meraki MX65W. + * + * Copyright (C) 2020 Matthew Hagan <[email protected]> + */ + +/dts-v1/; + +#include "bcm958625-mx65x.dtsi" + +/ { + model = "Cisco Meraki MX65W"; + compatible = "meraki,mx65w", "brcm,bcm58625", "brcm,nsp"; +}; + +&pcie0 { + status = "okay"; +}; + +&pcie1 { + status = "okay"; +};
arch/arm/boot/dts/bcm958625-mx65x.dtsi new file +321 -0
321 lines not on this page · raw message
Signature · 1 line
2.25.4
Hi Matthew,
Quoted 7 lines · Matthew Hagan
This patch set adds support for the Meraki MX64(W) and MX65(W) security devices. There are four devices in total, all using the same basic hardware.
The MX64 series has five ethernet ports connected to the BCM SRAB. The MX65 series has two ports conected to the SRAB, and two QCA8337 switches connected by SGMII to SRAB ports 4 and 5, each providing five additional ports.
Quoted 6 lines
The W variants of these devices have two BCM43520s on the PCIe bus. On the non-wireless variants PCIe is inactive, hence separate dts files.
1/3 contains common bindings for both Meraki devices. 2/3 contains MX64 specific bindings.
3/3 contains MX65 specific bindings.
Glad to see those patches being submitted upstream to support those devices, don't we need a change to arch/arm/boot/dts/Makefile to add those DTS files to be built when ARCH_BCM_NSP is enabled?
Quoted 3 lines
Note that Chris Packham's "[PATCH 2/2] ARM: dts: NSP: avoid unnecessary probe deferrals" is also necessary.
Humm, I am not sure this patch is really the way to go, but I have to look at it again.
Quoted 25 lines
Thanks,
MatthewMatthew Hagan (3):
ARM: dts: NSP: Add common bindings for Meraki MX64/65
ARM: dts: NSP: Add support for Cisco Meraki MX64(W)
ARM: dts: NSP: Add support for Cisco Meraki MX65(W)arch/arm/boot/dts/bcm958625-mx64.dts | 15 + arch/arm/boot/dts/bcm958625-mx64w.dts | 23 ++ arch/arm/boot/dts/bcm958625-mx64x.dtsi | 136 ++++++++ arch/arm/boot/dts/bcm958625-mx65.dts | 15 + arch/arm/boot/dts/bcm958625-mx65w.dts | 23 ++ arch/arm/boot/dts/bcm958625-mx65x.dtsi | 321 +++++++++++++++++++ arch/arm/boot/dts/bcm958625-mx6x-common.dtsi | 172 ++++++++++ 7 files changed, 705 insertions(+) create mode 100644 arch/arm/boot/dts/bcm958625-mx64.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx64w.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx64x.dtsi create mode 100644 arch/arm/boot/dts/bcm958625-mx65.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx65w.dts create mode 100644 arch/arm/boot/dts/bcm958625-mx65x.dtsi create mode 100644 arch/arm/boot/dts/bcm958625-mx6x-common.dtsi
Signature · 1 line
Florian