Hardware 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. Signed-off-by: Matthew Hagan <mnhagan88@xxxxxxxxx> --- 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 diff --git a/arch/arm/boot/dts/bcm958625-mx64.dts b/arch/arm/boot/dts/bcm958625-mx64.dts new file mode 100644 index 000000000000..ec1017b8bf68 --- /dev/null +++ b/arch/arm/boot/dts/bcm958625-mx64.dts @@ -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 <mnhagan88@xxxxxxxxx> + */ + +/dts-v1/; + +#include "bcm958625-mx64x.dtsi" + +/ { + model = "Cisco Meraki MX64"; + compatible = "meraki,mx64", "brcm,bcm58625", "brcm,nsp"; +}; diff --git a/arch/arm/boot/dts/bcm958625-mx64w.dts b/arch/arm/boot/dts/bcm958625-mx64w.dts new file mode 100644 index 000000000000..a3fbf0fed218 --- /dev/null +++ b/arch/arm/boot/dts/bcm958625-mx64w.dts @@ -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 <mnhagan88@xxxxxxxxx> + */ + +/dts-v1/; + +#include "bcm958625-mx64x.dtsi" + +/ { + model = "Cisco Meraki MX64W"; + compatible = "meraki,mx64w", "brcm,bcm58625", "brcm,nsp"; +}; + +&pcie0 { + status = "okay"; +}; + +&pcie1 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/bcm958625-mx64x.dtsi b/arch/arm/boot/dts/bcm958625-mx64x.dtsi new file mode 100644 index 000000000000..4be3dd314beb --- /dev/null +++ b/arch/arm/boot/dts/bcm958625-mx64x.dtsi @@ -0,0 +1,136 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Device Tree Bindings for Cisco Meraki MX64 series (Kingpin). + * + * Copyright (C) 2020 Matthew Hagan <mnhagan88@xxxxxxxxx> + */ + +/dts-v1/; + +#include "bcm958625-mx6x-common.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + leds { + compatible = "gpio-leds"; + + power_orange { + label = "power:orange"; + gpios = <&gpioa 0 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + lan1_right { + label = "lan1:right"; + gpios = <&gpioa 18 GPIO_ACTIVE_LOW>; + }; + + lan1_left { + label = "lan1:left"; + gpios = <&gpioa 19 GPIO_ACTIVE_LOW>; + }; + + lan2_right { + label = "lan2:right"; + gpios = <&gpioa 20 GPIO_ACTIVE_LOW>; + }; + + lan2_left { + label = "lan2:left"; + gpios = <&gpioa 24 GPIO_ACTIVE_LOW>; + }; + + lan3_right { + label = "lan3:right"; + gpios = <&gpioa 25 GPIO_ACTIVE_LOW>; + }; + + lan3_left { + label = "lan3:left"; + gpios = <&gpioa 26 GPIO_ACTIVE_LOW>; + }; + + lan4_right { + label = "lan4:right"; + gpios = <&gpioa 27 GPIO_ACTIVE_LOW>; + }; + + lan4_left { + label = "lan4:left"; + gpios = <&gpioa 28 GPIO_ACTIVE_LOW>; + }; + + wan0_right { + label = "wan0:right"; + gpios = <&gpioa 29 GPIO_ACTIVE_LOW>; + }; + + wan0_left { + label = "wan0:left"; + gpios = <&gpioa 30 GPIO_ACTIVE_LOW>; + }; + + power_white { + label = "power:white"; + gpios = <&gpioa 31 GPIO_ACTIVE_HIGH>; + }; + }; + + gpio-buttons { + compatible = "gpio-keys-polled"; + autorepeat; + poll-interval = <20>; + + reset { + label = "reset"; + linux,code = <KEY_RESTART>; + gpios = <&gpioa 6 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&srab { + compatible = "brcm,bcm58625-srab", "brcm,nsp-srab"; + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + label = "lan1"; + reg = <0>; + }; + + port@1 { + label = "lan2"; + reg = <1>; + }; + + port@2 { + label = "lan3"; + reg = <2>; + }; + + port@3 { + label = "lan4"; + reg = <3>; + }; + + port@4 { + label = "wan0"; + reg = <4>; + }; + + port@8 { + ethernet = <&amac2>; + label = "cpu"; + reg = <8>; + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; +}; -- 2.25.4