Commit 4d3e49a3 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'arm-soc/for-5.16/devicetree' of https://github.com/Broadcom/stblinux into arm/dt

This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 5.16, please pull the following:

- Matthew provides a set of updates to the Northstar Plus Device Tree
files to fix a number of warnings, and prepare the files to support the
addition of the Cisco Meraki MX64/MX65 wireless controller devices and
finally adds support for those boards.

- Rafal continues to provide updates to the BCM5301X Device Tree files
in order to fix warnings with the various node names, MDIO muxes and
memory nodes. He also adds support for the external switches on the
BCM53573 SoC and adds Tenda AC9 switch ports.

- Christian provides the description of the Ethernet switch ports for
the Cisco Meraki MR32 based on the 53016 SoC

- Arinc adds support for the Asus RT-AC88U device based on the BCM4709
and featuring 8 Ethernet ports over the integrated and the external
Realtek switch (not supported yet)

- Stefan adds support for the Raspberry Pi Compute Module 4 IO board and
does a number of preparatory changes to get there to the Device Tree
files before doing the actual addition

* tag 'arm-soc/for-5.16/devicetree' of https://github.com/Broadcom/stblinux: (31 commits)
  arm64: dts: broadcom: Add reference to RPi CM4 IO Board
  ARM: dts: Add Raspberry Pi Compute Module 4 IO Board
  ARM: dts: Add Raspberry Pi Compute Module 4
  dt-bindings: arm: bcm2835: Add Raspberry Pi Compute Module 4
  ARM: dts: bcm283x-rpi: Move Wifi/BT into separate dtsi
  dt-bindings: display: bcm2835: add optional property power-domains
  ARM: dts: BCM5301X: Add DT for Asus RT-AC88U
  ARM: BCM53016: MR32: get mac-address from nvmem
  ARM: BCM53016: Specify switch ports for Meraki MR32
  ARM: dts: BCM53573: Add Tenda AC9 switch ports
  ARM: dts: BCM53573: Describe on-SoC BCM53125 rev 4 switch
  ARM: dts: BCM5301X: Specify switch ports for more devices
  ARM: dts: NSP: Fix MX65 MDIO mux warnings
  ARM: dts: NSP: Fix MX64/MX65 eeprom node name
  ARM: dts: NSP: Fix MDIO mux node names
  ARM: dts: NSP: Fix mpcore, mmc node names
  ARM: dts: NSP: Add bcm958623hr board name to dts
  ARM: dts: BCM5301X: Fix memory nodes names
  ARM: dts: BCM5301X: Fix MDIO mux binding
  ARM: dts: BCM5301X: Fix nodes names
  ...

Link: https://lore.kernel.org/r/20211013174016.831348-1-f.fainelli@gmail.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents f202bd97 0f937bc2
......@@ -19,6 +19,7 @@ properties:
items:
- enum:
- raspberrypi,400
- raspberrypi,4-compute-module
- raspberrypi,4-model-b
- const: brcm,bcm2711
......
......@@ -22,15 +22,60 @@ properties:
$nodename:
const: '/'
compatible:
oneOf:
- description: BCM58522 based boards
items:
- enum:
- brcm,bcm58522
- brcm,bcm58525
- brcm,bcm58535
- brcm,bcm58622
- brcm,bcm58623
- brcm,bcm58625
- brcm,bcm88312
- brcm,bcm958522er
- const: brcm,bcm58522
- const: brcm,nsp
- description: BCM58525 based boards
items:
- enum:
- brcm,bcm958525er
- brcm,bcm958525xmc
- const: brcm,bcm58525
- const: brcm,nsp
- description: BCM58535 based boards
items:
- const: brcm,bcm58535
- const: brcm,nsp
- description: BCM58622 based boards
items:
- enum:
- brcm,bcm958622hr
- const: brcm,bcm58622
- const: brcm,nsp
- description: BCM58623 based boards
items:
- enum:
- brcm,bcm958623hr
- const: brcm,bcm58623
- const: brcm,nsp
- description: BCM58625 based boards
items:
- enum:
- brcm,bcm958625hr
- brcm,bcm958625k
- meraki,mx64
- meraki,mx64-a0
- meraki,mx64w
- meraki,mx64w-a0
- meraki,mx65
- meraki,mx65w
- const: brcm,bcm58625
- const: brcm,nsp
- description: BCM88312 based boards
items:
- enum:
- brcm,bcm988312hr
- const: brcm,bcm88312
- const: brcm,nsp
additionalProperties: true
......
......@@ -47,6 +47,9 @@ properties:
interrupts:
maxItems: 1
power-domains:
maxItems: 1
required:
- "#clock-cells"
- compatible
......
......@@ -51,6 +51,9 @@ properties:
dma-names:
const: audio-rx
power-domains:
maxItems: 1
required:
- compatible
- reg
......
......@@ -24,6 +24,9 @@ properties:
interrupts:
maxItems: 1
power-domains:
maxItems: 1
required:
- compatible
- reg
......
......@@ -24,6 +24,9 @@ properties:
interrupts:
maxItems: 1
power-domains:
maxItems: 1
required:
- compatible
- reg
......
......@@ -94,6 +94,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2837-rpi-cm3-io3.dtb \
bcm2711-rpi-400.dtb \
bcm2711-rpi-4-b.dtb \
bcm2711-rpi-cm4-io.dtb \
bcm2835-rpi-zero.dtb \
bcm2835-rpi-zero-w.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += \
......@@ -119,6 +120,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4709-netgear-r7000.dtb \
bcm4709-netgear-r8000.dtb \
bcm4709-tplink-archer-c9-v1.dtb \
bcm47094-asus-rt-ac88u.dtb \
bcm47094-dlink-dir-885l.dtb \
bcm47094-linksys-panamera.dtb \
bcm47094-luxul-abr-4500.dtb \
......@@ -159,6 +161,12 @@ dtb-$(CONFIG_ARCH_BCM_NSP) += \
bcm958525xmc.dtb \
bcm958622hr.dtb \
bcm958623hr.dtb \
bcm958625-meraki-mx64.dtb \
bcm958625-meraki-mx64-a0.dtb \
bcm958625-meraki-mx64w.dtb \
bcm958625-meraki-mx64w-a0.dtb \
bcm958625-meraki-mx65.dtb \
bcm958625-meraki-mx65w.dtb \
bcm958625hr.dtb \
bcm988312hr.dtb \
bcm958625k.dtb
......
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Broadcom Northstar Plus Ax stepping-specific bindings.
* Notable differences from B0+ are the secondary-boot-reg and
* lack of DMA coherency.
*/
&cpu1 {
secondary-boot-reg = <0xffff042c>;
};
&dma {
/delete-property/ dma-coherent;
};
&sdio {
/delete-property/ dma-coherent;
};
&amac0 {
/delete-property/ dma-coherent;
};
&amac1 {
/delete-property/ dma-coherent;
};
&amac2 {
/delete-property/ dma-coherent;
};
&ehci0 {
/delete-property/ dma-coherent;
};
&mailbox {
/delete-property/ dma-coherent;
};
&xhci {
/delete-property/ dma-coherent;
};
&ehci0 {
/delete-property/ dma-coherent;
};
&ohci0 {
/delete-property/ dma-coherent;
};
&i2c0 {
/delete-property/ dma-coherent;
};
&sata {
/delete-property/ dma-coherent;
};
&pcie0 {
/delete-property/ dma-coherent;
};
&pcie1 {
/delete-property/ dma-coherent;
};
&pcie2 {
/delete-property/ dma-coherent;
};
......@@ -77,7 +77,7 @@ pmu {
interrupt-affinity = <&cpu0>, <&cpu1>;
};
mpcore@19000000 {
mpcore-bus@19000000 {
compatible = "simple-bus";
ranges = <0x00000000 0x19000000 0x00023000>;
#address-cells = <1>;
......@@ -166,7 +166,7 @@ periph_clk: periph_clk {
};
};
axi@18000000 {
axi: axi@18000000 {
compatible = "simple-bus";
ranges = <0x00000000 0x18000000 0x0011c40c>;
#address-cells = <1>;
......@@ -219,7 +219,7 @@ dma: dma@20000 {
status = "disabled";
};
sdio: sdhci@21000 {
sdio: mmc@21000 {
compatible = "brcm,sdhci-iproc-cygnus";
reg = <0x21000 0x100>;
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
......@@ -310,6 +310,7 @@ qspi: spi@27200 {
num-cs = <2>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
xhci: usb@29000 {
......@@ -362,6 +363,42 @@ pwm: pwm@31000 {
status = "disabled";
};
mdio: mdio@32000 {
compatible = "brcm,iproc-mdio";
reg = <0x32000 0x8>;
#size-cells = <0>;
#address-cells = <1>;
};
mdio-mux@32000 {
compatible = "mdio-mux-mmioreg", "mdio-mux";
reg = <0x32000 0x4>;
mux-mask = <0x200>;
#address-cells = <1>;
#size-cells = <0>;
mdio-parent-bus = <&mdio>;
mdio_int: mdio@0 {
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
usb3_phy: usb3-phy@10 {
compatible = "brcm,ns-bx-usb3-phy";
reg = <0x10>;
usb3-dmp-syscon = <&usb3_dmp>;
#phy-cells = <0>;
status = "disabled";
};
};
mdio_ext: mdio@200 {
reg = <0x200>;
#address-cells = <1>;
#size-cells = <0>;
};
};
rng: rng@33000 {
compatible = "brcm,bcm-nsp-rng";
reg = <0x33000 0x14>;
......@@ -520,13 +557,8 @@ sata1: sata-port@1 {
};
};
usb3_phy: usb3-phy@104000 {
compatible = "brcm,ns-bx-usb3-phy";
reg = <0x104000 0x1000>,
<0x032000 0x1000>;
reg-names = "dmp", "ccb-mii";
#phy-cells = <0>;
status = "disabled";
usb3_dmp: syscon@104000 {
reg = <0x104000 0x1000>;
};
};
......
......@@ -3,6 +3,7 @@
#include "bcm2711.dtsi"
#include "bcm2711-rpi.dtsi"
#include "bcm283x-rpi-usb-peripheral.dtsi"
#include "bcm283x-rpi-wifi-bt.dtsi"
/ {
compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
......@@ -26,11 +27,6 @@ led-pwr {
};
};
wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
};
sd_io_1v8_reg: sd_io_1v8_reg {
compatible = "regulator-gpio";
regulator-name = "vdd-sd-io";
......@@ -56,6 +52,10 @@ sd_vcc_reg: sd_vcc_reg {
};
};
&bt {
shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
};
&ddc0 {
status = "okay";
};
......@@ -178,23 +178,6 @@ &pwm1 {
status = "okay";
};
/* SDHCI is used to control the SDIO for wireless */
&sdhci {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34>;
bus-width = <4>;
non-removable;
mmc-pwrseq = <&wifi_pwrseq>;
status = "okay";
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
};
};
/* EMMC2 is used to drive the SD card */
&emmc2 {
vqmmc-supply = <&sd_io_1v8_reg>;
......@@ -236,13 +219,6 @@ &uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>;
uart-has-rtscts;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <2000000>;
shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
};
};
/* uart1 is mapped to the pin header */
......@@ -259,3 +235,7 @@ &vc4 {
&vec {
status = "disabled";
};
&wifi_pwrseq {
reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
};
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
#include "bcm2711-rpi-cm4.dtsi"
#include "bcm283x-rpi-usb-host.dtsi"
/ {
model = "Raspberry Pi Compute Module 4 IO Board";
leds {
led-act {
gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
};
led-pwr {
label = "PWR";
gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
linux,default-trigger = "default-on";
};
};
};
&ddc0 {
status = "okay";
};
&ddc1 {
status = "okay";
};
&gpio {
/*
* Parts taken from rpi_SCH_4b_4p0_reduced.pdf and
* the official GPU firmware DT blob.
*
* Legend:
* "FOO" = GPIO line named "FOO" on the schematic
* "FOO_N" = GPIO line named "FOO" on schematic, active low
*/
gpio-line-names = "ID_SDA",
"ID_SCL",
"SDA1",
"SCL1",
"GPIO_GCLK",
"GPIO5",
"GPIO6",
"SPI_CE1_N",
"SPI_CE0_N",
"SPI_MISO",
"SPI_MOSI",
"SPI_SCLK",
"GPIO12",
"GPIO13",
/* Serial port */
"TXD1",
"RXD1",
"GPIO16",
"GPIO17",
"GPIO18",
"GPIO19",
"GPIO20",
"GPIO21",
"GPIO22",
"GPIO23",
"GPIO24",
"GPIO25",
"GPIO26",
"GPIO27",
"RGMII_MDIO",
"RGMIO_MDC",
/* Used by BT module */
"CTS0",
"RTS0",
"TXD0",
"RXD0",
/* Used by Wifi */
"SD1_CLK",
"SD1_CMD",
"SD1_DATA0",
"SD1_DATA1",
"SD1_DATA2",
"SD1_DATA3",
/* Shared with SPI flash */
"PWM0_MISO",
"PWM1_MOSI",
"STATUS_LED_G_CLK",
"SPIFLASH_CE_N",
"SDA0",
"SCL0",
"RGMII_RXCLK",
"RGMII_RXCTL",
"RGMII_RXD0",
"RGMII_RXD1",
"RGMII_RXD2",
"RGMII_RXD3",
"RGMII_TXCLK",
"RGMII_TXCTL",
"RGMII_TXD0",
"RGMII_TXD1",
"RGMII_TXD2",
"RGMII_TXD3";
};
&hdmi0 {
status = "okay";
};
&hdmi1 {
status = "okay";
};
&genet {
status = "okay";
};
&pixelvalve0 {
status = "okay";
};
&pixelvalve1 {
status = "okay";
};
&pixelvalve2 {
status = "okay";
};
&pixelvalve4 {
status = "okay";
};
&vc4 {
status = "okay";
};
&vec {
status = "disabled";
};
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
#include "bcm2711.dtsi"
#include "bcm2711-rpi.dtsi"
#include "bcm283x-rpi-wifi-bt.dtsi"
/ {
compatible = "raspberrypi,4-compute-module", "brcm,bcm2711";
chosen {
/* 8250 auxiliary UART instead of pl011 */
stdout-path = "serial1:115200n8";
};
sd_io_1v8_reg: sd_io_1v8_reg {
compatible = "regulator-gpio";
regulator-name = "vdd-sd-io";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
regulator-settling-time-us = <5000>;
gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
states = <1800000 0x1>,
<3300000 0x0>;
status = "okay";
};
sd_vcc_reg: sd_vcc_reg {
compatible = "regulator-fixed";
regulator-name = "vcc-sd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
enable-active-high;
gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
};
};
&bt {
shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
};
/* EMMC2 is used to drive the eMMC */
&emmc2 {
bus-width = <8>;
vqmmc-supply = <&sd_io_1v8_reg>;
vmmc-supply = <&sd_vcc_reg>;
broken-cd;
/* Even the IP block is limited to 100 MHz
* this provides a throughput gain
*/
mmc-hs200-1_8v;
status = "okay";
};
&expgpio {
gpio-line-names = "BT_ON",
"WL_ON",
"PWR_LED_OFF",
"ANT1",
"VDD_SD_IO_SEL",
"CAM_GPIO",
"SD_PWR_ON",
"ANT2";
ant1: ant1-hog {
gpio-hog;
gpios = <3 GPIO_ACTIVE_HIGH>;
/* internal antenna enabled */
output-high;
line-name = "ant1";
};
ant2: ant2-hog {
gpio-hog;
gpios = <7 GPIO_ACTIVE_HIGH>;
/* external antenna disabled */
output-low;
line-name = "ant2";
};
};
&genet {
phy-handle = <&phy1>;
phy-mode = "rgmii-rxid";
status = "okay";
};
&genet_mdio {
phy1: ethernet-phy@0 {
/* No PHY interrupt */
reg = <0x0>;
};
};
/* uart0 communicates with the BT module */
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>;
uart-has-rtscts;
};
/* uart1 is mapped to the pin header */
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_gpio14>;
status = "okay";
};
&wifi_pwrseq {
reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
};
......@@ -7,6 +7,7 @@
#include "bcm2835.dtsi"
#include "bcm2835-rpi.dtsi"
#include "bcm283x-rpi-usb-otg.dtsi"
#include "bcm283x-rpi-wifi-bt.dtsi"
/ {
compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
......@@ -27,11 +28,10 @@ led-act {
gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
};
};
};
wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
};
&bt {
shutdown-gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
};
&gpio {
......@@ -110,19 +110,7 @@ &hdmi {
};
&sdhci {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>;
bus-width = <4>;
mmc-pwrseq = <&wifi_pwrseq>;
non-removable;
status = "okay";
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
};
};
&sdhost {
......@@ -135,13 +123,6 @@ &sdhost {
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <2000000>;
shutdown-gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
};
};
&uart1 {
......@@ -149,3 +130,7 @@ &uart1 {
pinctrl-0 = <&uart1_gpio14>;
status = "okay";
};
&wifi_pwrseq {
reset-gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
};
......@@ -3,6 +3,7 @@
#include "bcm2837.dtsi"
#include "bcm2836-rpi.dtsi"
#include "bcm283x-rpi-usb-host.dtsi"
#include "bcm283x-rpi-wifi-bt.dtsi"
/ {
compatible = "raspberrypi,3-model-a-plus", "brcm,bcm2837";
......@@ -130,28 +131,6 @@ &pwm {
status = "okay";
};
/*
* SDHCI is used to control the SDIO for wireless
*
* WL_REG_ON and BT_REG_ON of the CYW43455 Wifi/BT module are driven
* by a single GPIO. We can't give GPIO control to one of the drivers,
* otherwise the other part would get unexpectedly disturbed.
*/
&sdhci {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34>;
status = "okay";
bus-width = <4>;
non-removable;
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
};
};
/* SDHOST is used to drive the SD card */
&sdhost {
pinctrl-names = "default";
......@@ -160,16 +139,15 @@ &sdhost {
bus-width = <4>;
};
/* uart0 communicates with the BT module */
/* uart0 communicates with the BT module
*
* WL_REG_ON and BT_REG_ON of the CYW43455 Wifi/BT module are driven
* by a single GPIO. We can't give GPIO control to one of the drivers,
* otherwise the other part would get unexpectedly disturbed.
*/
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <2000000>;
};
};
/* uart1 is mapped to the pin header */
......
......@@ -4,6 +4,7 @@
#include "bcm2836-rpi.dtsi"
#include "bcm283x-rpi-lan7515.dtsi"
#include "bcm283x-rpi-usb-host.dtsi"
#include "bcm283x-rpi-wifi-bt.dtsi"
/ {
compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
......@@ -31,11 +32,10 @@ led-pwr {
linux,default-trigger = "default-on";
};
};
};
wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
};
&bt {
shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
};
&firmware {
......@@ -137,23 +137,6 @@ &pwm {
status = "okay";
};
/* SDHCI is used to control the SDIO for wireless */
&sdhci {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34>;
status = "okay";
bus-width = <4>;
non-removable;
mmc-pwrseq = <&wifi_pwrseq>;
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
};
};
/* SDHOST is used to drive the SD card */
&sdhost {
pinctrl-names = "default";
......@@ -166,13 +149,6 @@ &sdhost {
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <2000000>;
shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
};
};
/* uart1 is mapped to the pin header */
......@@ -181,3 +157,7 @@ &uart1 {
pinctrl-0 = <&uart1_gpio14>;
status = "okay";
};
&wifi_pwrseq {
reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
};
......@@ -4,6 +4,7 @@
#include "bcm2836-rpi.dtsi"
#include "bcm283x-rpi-smsc9514.dtsi"
#include "bcm283x-rpi-usb-host.dtsi"
#include "bcm283x-rpi-wifi-bt.dtsi"
/ {
compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
......@@ -24,11 +25,10 @@ led-act {
gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>;
};
};
};
wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
};
&bt {
shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
};
&firmware {
......@@ -134,13 +134,6 @@ &hdmi {
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <2000000>;
shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
};
};
/* uart1 is mapped to the pin header */
......@@ -150,23 +143,6 @@ &uart1 {
status = "okay";
};
/* SDHCI is used to control the SDIO for wireless */
&sdhci {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34>;
status = "okay";
bus-width = <4>;
non-removable;
mmc-pwrseq = <&wifi_pwrseq>;
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
};
};
/* SDHOST is used to drive the SD card */
&sdhost {
pinctrl-names = "default";
......@@ -174,3 +150,7 @@ &sdhost {
status = "okay";
bus-width = <4>;
};
&wifi_pwrseq {
reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
};
// SPDX-License-Identifier: GPL-2.0
/ {
wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
};
};
/* SDHCI is used to control the SDIO for wireless */
&sdhci {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34>;
bus-width = <4>;
non-removable;
mmc-pwrseq = <&wifi_pwrseq>;
status = "okay";
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
};
};
/* uart0 communicates with the BT module */
&uart0 {
status = "okay";
bt: bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <2000000>;
};
};
......@@ -20,7 +20,7 @@ chosen {
bootargs = "console=ttyS0,115200 earlycon";
};
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>,
<0x88000000 0x08000000>;
......@@ -94,3 +94,40 @@ &spi_nor {
&usb3_phy {
status = "okay";
};
&srab {
status = "okay";
ports {
port@0 {
reg = <0>;
label = "lan4";
};
port@1 {
reg = <1>;
label = "lan3";
};
port@2 {
reg = <2>;
label = "lan2";
};
port@3 {
reg = <3>;
label = "lan1";
};
port@4 {
reg = <4>;
label = "wan";
};
port@5 {
reg = <5>;
label = "cpu";
ethernet = <&gmac0>;
};
};
};
......@@ -117,3 +117,40 @@ eject {
};
};
};
&srab {
status = "okay";
ports {
port@0 {
reg = <0>;
label = "lan1";
};
port@1 {
reg = <1>;
label = "lan2";
};
port@2 {
reg = <2>;
label = "lan3";
};
port@3 {
reg = <3>;
label = "lan4";
};
port@4 {
reg = <4>;
label = "wan";
};
port@5 {
reg = <5>;
label = "cpu";
ethernet = <&gmac0>;
};
};
};
......@@ -19,7 +19,7 @@ chosen {
bootargs = "console=ttyS0,115200";
};
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>,
<0x88000000 0x08000000>;
......
......@@ -19,7 +19,7 @@ chosen {
bootargs = "console=ttyS0,115200";
};
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>,
<0x88000000 0x18000000>;
......
......@@ -16,7 +16,7 @@ chosen {
bootargs = "console=ttyS0,115200";
};
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>,
<0x88000000 0x08000000>;
......
......@@ -19,7 +19,7 @@ chosen {
bootargs = "console=ttyS0,115200";
};
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>,
<0x88000000 0x08000000>;
......
......@@ -30,7 +30,7 @@ chosen {
bootargs = "console=ttyS0,115200";
};
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>,
<0x88000000 0x08000000>;
......@@ -187,3 +187,45 @@ &usb3 {
&usb3_phy {
status = "okay";
};
&srab {
status = "okay";
ports {
port@0 {
reg = <0>;
label = "lan1";
};
port@1 {
reg = <1>;
label = "lan2";
};
port@2 {
reg = <2>;
label = "lan3";
};
port@3 {
reg = <3>;
label = "lan4";
};
port@4 {
reg = <4>;
label = "wan";
};
port@8 {
reg = <8>;
label = "cpu";
ethernet = <&gmac2>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
......@@ -15,7 +15,7 @@ chosen {
bootargs = "console=ttyS0,115200 earlycon";
};
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>;
};
......
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright (C) 2021 Arınç ÜNAL <arinc.unal@arinc9.com>
*/
/dts-v1/;
#include "bcm47094.dtsi"
#include "bcm5301x-nand-cs0-bch8.dtsi"
/ {
compatible = "asus,rt-ac88u", "brcm,bcm47094", "brcm,bcm4708";
model = "Asus RT-AC88U";
chosen {
bootargs = "earlycon";
};
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>,
<0x88000000 0x18000000>;
};
nvram@1c080000 {
compatible = "brcm,nvram";
reg = <0x1c080000 0x00180000>;
};
leds {
compatible = "gpio-leds";
power {
label = "white:power";
gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
linux,default-trigger = "default-on";
};
wan-red {
label = "red:wan";
gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
};
lan {
label = "white:lan";
gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
};
usb2 {
label = "white:usb2";
gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
trigger-sources = <&ehci_port2>;
linux,default-trigger = "usbport";
};
usb3 {
label = "white:usb3";
gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
trigger-sources = <&ehci_port1>, <&xhci_port1>;
linux,default-trigger = "usbport";
};
wps {
label = "white:wps";
gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
};
};
gpio-keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
wps {
label = "WPS";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&chipcommon 20 GPIO_ACTIVE_LOW>;
};
reset {
label = "Reset";
linux,code = <KEY_RESTART>;
gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
};
wifi {
label = "Wi-Fi";
linux,code = <KEY_RFKILL>;
gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
};
led {
label = "Backlight";
linux,code = <KEY_BRIGHTNESS_ZERO>;
gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
};
};
};
&srab {
compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
status = "okay";
dsa,member = <0 0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "lan4";
};
port@1 {
reg = <1>;
label = "lan3";
};
port@2 {
reg = <2>;
label = "lan2";
};
port@3 {
reg = <3>;
label = "lan1";
};
port@4 {
reg = <4>;
label = "wan";
};
sw0_p5: port@5 {
reg = <5>;
label = "extsw";
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@7 {
reg = <7>;
ethernet = <&gmac1>;
label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@8 {
reg = <8>;
ethernet = <&gmac2>;
label = "cpu";
status = "disabled";
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
&usb2 {
vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
};
&usb3_phy {
status = "okay";
};
&nandcs {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "boot";
reg = <0x00000000 0x00080000>;
read-only;
};
partition@80000 {
label = "nvram";
reg = <0x00080000 0x00180000>;
};
partition@200000 {
label = "firmware";
reg = <0x00200000 0x07e00000>;
compatible = "brcm,trx";
};
};
};
......@@ -118,3 +118,45 @@ &spi_nor {
&usb3_phy {
status = "okay";
};
&srab {
status = "okay";
ports {
port@0 {
reg = <0>;
label = "lan4";
};
port@1 {
reg = <1>;
label = "lan3";
};
port@2 {
reg = <2>;
label = "lan2";
};
port@3 {
reg = <3>;
label = "lan1";
};
port@4 {
reg = <4>;
label = "wan";
};
port@8 {
reg = <8>;
label = "cpu";
ethernet = <&gmac2>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
......@@ -129,7 +129,7 @@ bluebar8 {
};
};
mdio-bus-mux@18003000 {
mdio-mux@18003000 {
/* BIT(9) = 1 => external mdio */
mdio@200 {
......
......@@ -68,3 +68,40 @@ &spi_nor {
&usb3_phy {
status = "okay";
};
&srab {
status = "okay";
ports {
port@0 {
reg = <0>;
label = "wan";
};
port@1 {
reg = <1>;
label = "lan4";
};
port@2 {
reg = <2>;
label = "lan3";
};
port@3 {
reg = <3>;
label = "lan2";
};
port@4 {
reg = <4>;
label = "lan1";
};
port@5 {
reg = <5>;
label = "cpu";
ethernet = <&gmac0>;
};
};
};
......@@ -68,3 +68,40 @@ &spi_nor {
&usb3_phy {
status = "okay";
};
&srab {
status = "okay";
ports {
port@0 {
reg = <0>;
label = "wan";
};
port@1 {
reg = <1>;
label = "lan4";
};
port@2 {
reg = <2>;
label = "lan3";
};
port@3 {
reg = <3>;
label = "lan2";
};
port@4 {
reg = <4>;
label = "lan1";
};
port@5 {
reg = <5>;
label = "cpu";
ethernet = <&gmac0>;
};
};
};
......@@ -16,7 +16,7 @@ chosen {
bootargs = "earlycon";
};
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>,
<0x88000000 0x18000000>;
......
......@@ -105,3 +105,40 @@ pcie0_chipcommon: chipcommon@0 {
};
};
};
&switch {
status = "okay";
ports {
port@0 {
reg = <0>;
label = "wan";
};
port@1 {
reg = <1>;
label = "lan1";
};
port@2 {
reg = <2>;
label = "lan2";
};
port@3 {
reg = <3>;
label = "lan3";
};
port@4 {
reg = <4>;
label = "lan4";
};
port@5 {
reg = <5>;
label = "cpu";
ethernet = <&gmac0>;
};
};
};
......@@ -20,7 +20,7 @@ chosen {
bootargs = " console=ttyS0,115200n8 earlycon";
};
memory {
memory@0 {
reg = <0x00000000 0x08000000>;
device_type = "memory";
};
......@@ -110,6 +110,12 @@ eeprom: eeprom@50 {
reg = <0x50>;
pagesize = <32>;
read-only;
#address-cells = <1>;
#size-cells = <1>;
mac_address: mac-address@66 {
reg = <0x66 0x6>;
};
};
};
};
......@@ -133,6 +139,11 @@ &uart2 {
*/
};
&gmac0 {
nvmem-cell-names = "mac-address";
nvmem-cells = <&mac_address>;
};
&gmac1 {
status = "disabled";
};
......@@ -195,3 +206,25 @@ partition4@800000 {
};
};
};
&srab {
status = "okay";
ports {
port@0 {
reg = <0>;
label = "poe";
};
port@5 {
reg = <5>;
label = "cpu";
ethernet = <&gmac0>;
fixed-link {
speed = <1000>;
duplex-full;
};
};
};
};
......@@ -19,7 +19,7 @@ / {
#size-cells = <1>;
interrupt-parent = <&gic>;
chipcommonA@18000000 {
chipcommon-a-bus@18000000 {
compatible = "simple-bus";
ranges = <0x00000000 0x18000000 0x00001000>;
#address-cells = <1>;
......@@ -44,7 +44,7 @@ uart1: serial@400 {
};
};
mpcore@19000000 {
mpcore-bus@19000000 {
compatible = "simple-bus";
ranges = <0x00000000 0x19000000 0x00023000>;
#address-cells = <1>;
......@@ -369,8 +369,8 @@ mdio: mdio@18003000 {
#address-cells = <1>;
};
mdio-bus-mux@18003000 {
compatible = "mdio-mux-mmioreg";
mdio-mux@18003000 {
compatible = "mdio-mux-mmioreg", "mdio-mux";
mdio-parent-bus = <&mdio>;
#address-cells = <1>;
#size-cells = <0>;
......@@ -415,7 +415,7 @@ i2c0: i2c@18009000 {
status = "disabled";
};
dmu@1800c000 {
dmu-bus@1800c000 {
compatible = "simple-bus";
ranges = <0 0x1800c000 0x1000>;
#address-cells = <1>;
......
......@@ -180,6 +180,24 @@ ohci_port2: port@2 {
gmac0: ethernet@5000 {
reg = <0x5000 0x1000>;
mdio {
#address-cells = <1>;
#size-cells = <0>;
switch: switch@1e {
compatible = "brcm,bcm53125";
reg = <0x1e>;
status = "disabled";
/* ports are defined in board DTS */
ports {
#address-cells = <1>;
#size-cells = <0>;
};
};
};
};
gmac1: ethernet@b000 {
......
......@@ -38,7 +38,7 @@ / {
model = "NorthStar SVK (BCM94708)";
compatible = "brcm,bcm94708", "brcm,bcm4708";
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>;
};
......
......@@ -38,7 +38,7 @@ / {
model = "NorthStar SVK (BCM94709)";
compatible = "brcm,bcm94709", "brcm,bcm4709", "brcm,bcm4708";
memory {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>;
};
......
......@@ -37,7 +37,7 @@
/ {
model = "NorthStar Plus SVK (BCM958522ER)";
compatible = "brcm,bcm58522", "brcm,nsp";
compatible = "brcm,bcm958522er", "brcm,bcm58522", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
......@@ -134,6 +134,7 @@ nand_sel: nand_sel {
};
&qspi {
status = "okay";
bspi-sel = <0>;
flash: m25p80@0 {
#address-cells = <1>;
......
......@@ -37,7 +37,7 @@
/ {
model = "NorthStar Plus SVK (BCM958525ER)";
compatible = "brcm,bcm58525", "brcm,nsp";
compatible = "brcm,bcm958525er", "brcm,bcm58525", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
......@@ -134,6 +134,7 @@ nand_sel: nand_sel {
};
&qspi {
status = "okay";
bspi-sel = <0>;
flash: m25p80@0 {
#address-cells = <1>;
......
......@@ -37,7 +37,7 @@
/ {
model = "NorthStar Plus XMC (BCM958525xmc)";
compatible = "brcm,bcm58525", "brcm,nsp";
compatible = "brcm,bcm958525xmc", "brcm,bcm58525", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
......@@ -150,6 +150,7 @@ nand_sel: nand_sel {
};
&qspi {
status = "okay";
bspi-sel = <0>;
flash: m25p80@0 {
#address-cells = <1>;
......
......@@ -37,7 +37,7 @@
/ {
model = "NorthStar Plus SVK (BCM958622HR)";
compatible = "brcm,bcm58622", "brcm,nsp";
compatible = "brcm,bcm958622hr", "brcm,bcm58622", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
......@@ -138,6 +138,7 @@ nand_sel: nand_sel {
};
&qspi {
status = "okay";
bspi-sel = <0>;
flash: m25p80@0 {
#address-cells = <1>;
......
......@@ -37,7 +37,7 @@
/ {
model = "NorthStar Plus SVK (BCM958623HR)";
compatible = "brcm,bcm58623", "brcm,nsp";
compatible = "brcm,bcm958623hr", "brcm,bcm58623", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
......@@ -142,6 +142,7 @@ &sata_phy0 {
};
&qspi {
status = "okay";
bspi-sel = <0>;
flash: m25p80@0 {
#address-cells = <1>;
......
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Device Tree Bindings for Cisco Meraki MX65 series (Alamo).
*
* Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
*/
#include "bcm958625-meraki-mx6x-common.dtsi"
/ {
keys {
compatible = "gpio-keys-polled";
autorepeat;
poll-interval = <20>;
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpioa 8 GPIO_ACTIVE_LOW>;
};
};
leds {
compatible = "gpio-leds";
led-0 {
/* green:wan1-left */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <0>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 25 GPIO_ACTIVE_LOW>;
};
led-1 {
/* green:wan1-right */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <1>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 24 GPIO_ACTIVE_LOW>;
};
led-2 {
/* green:wan2-left */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <2>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 27 GPIO_ACTIVE_LOW>;
};
led-3 {
/* green:wan2-right */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <3>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 26 GPIO_ACTIVE_LOW>;
};
led-4 {
/* amber:power */
function = LED_FUNCTION_POWER;
color = <LED_COLOR_ID_AMBER>;
gpios = <&gpioa 3 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
led-5 {
/* white:status */
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_WHITE>;
gpios = <&gpioa 31 GPIO_ACTIVE_HIGH>;
};
};
};
&axi {
mdio-mux@3f1c0 {
compatible = "mdio-mux-mmioreg", "mdio-mux";
reg = <0x3f1c0 0x4>;
mux-mask = <0x2000>;
mdio-parent-bus = <&mdio_ext>;
#address-cells = <1>;
#size-cells = <0>;
mdio@0 {
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
phy_port6: phy@0 {
reg = <0>;
};
phy_port7: phy@1 {
reg = <1>;
};
phy_port8: phy@2 {
reg = <2>;
};
phy_port9: phy@3 {
reg = <3>;
};
phy_port10: phy@4 {
reg = <4>;
};
switch@10 {
compatible = "qca,qca8337";
reg = <0x10>;
dsa,member = <1 0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ethernet = <&sgmii1>;
phy-mode = "sgmii";
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@1 {
reg = <1>;
label = "lan8";
phy-handle = <&phy_port6>;
};
port@2 {
reg = <2>;
label = "lan9";
phy-handle = <&phy_port7>;
};
port@3 {
reg = <3>;
label = "lan10";
phy-handle = <&phy_port8>;
};
port@4 {
reg = <4>;
label = "lan11";
phy-handle = <&phy_port9>;
};
port@5 {
reg = <5>;
label = "lan12";
phy-handle = <&phy_port10>;
};
};
};
};
mdio-mii@2000 {
reg = <0x2000>;
#address-cells = <1>;
#size-cells = <0>;
phy_port1: phy@0 {
reg = <0>;
};
phy_port2: phy@1 {
reg = <1>;
};
phy_port3: phy@2 {
reg = <2>;
};
phy_port4: phy@3 {
reg = <3>;
};
phy_port5: phy@4 {
reg = <4>;
};
switch@10 {
compatible = "qca,qca8337";
reg = <0x10>;
dsa,member = <2 0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ethernet = <&sgmii0>;
phy-mode = "sgmii";
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@1 {
reg = <1>;
label = "lan3";
phy-handle = <&phy_port1>;
};
port@2 {
reg = <2>;
label = "lan4";
phy-handle = <&phy_port2>;
};
port@3 {
reg = <3>;
label = "lan5";
phy-handle = <&phy_port3>;
};
port@4 {
reg = <4>;
label = "lan6";
phy-handle = <&phy_port4>;
};
port@5 {
reg = <5>;
label = "lan7";
phy-handle = <&phy_port5>;
};
};
};
};
};
};
&srab {
compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
status = "okay";
dsa,member = <0 0>;
ports {
port@0 {
label = "wan1";
reg = <0>;
};
port@1 {
label = "wan2";
reg = <1>;
};
sgmii0: port@4 {
label = "sw0";
reg = <4>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
sgmii1: port@5 {
label = "sw1";
reg = <5>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@8 {
ethernet = <&amac2>;
reg = <8>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Device Tree Bindings for Cisco Meraki MX64 series (Kingpin).
*
* Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
*/
#include "bcm958625-meraki-mx6x-common.dtsi"
/ {
keys {
compatible = "gpio-keys-polled";
autorepeat;
poll-interval = <20>;
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpioa 6 GPIO_ACTIVE_LOW>;
};
};
leds {
compatible = "gpio-leds";
led-0 {
/* green:lan1-left */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <0>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 19 GPIO_ACTIVE_LOW>;
};
led-1 {
/* green:lan1-right */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <1>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 18 GPIO_ACTIVE_LOW>;
};
led-2 {
/* green:lan2-left */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <2>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 24 GPIO_ACTIVE_LOW>;
};
led-3 {
/* green:lan2-right */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <3>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 20 GPIO_ACTIVE_LOW>;
};
led-4 {
/* green:lan3-left */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <4>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 26 GPIO_ACTIVE_LOW>;
};
led-5 {
/* green:lan3-right */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <5>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 25 GPIO_ACTIVE_LOW>;
};
led-6 {
/* green:lan4-left */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <6>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 28 GPIO_ACTIVE_LOW>;
};
led-7 {
/* green:lan4-right */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <7>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 27 GPIO_ACTIVE_LOW>;
};
led-8 {
/* green:wan-left */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <8>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 30 GPIO_ACTIVE_LOW>;
};
led-9 {
/* green:wan-right */
function = LED_FUNCTION_ACTIVITY;
function-enumerator = <9>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 29 GPIO_ACTIVE_LOW>;
};
led-a {
/* amber:power */
function = LED_FUNCTION_POWER;
color = <LED_COLOR_ID_AMBER>;
gpios = <&gpioa 0 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led-b {
/* white:status */
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_WHITE>;
gpios = <&gpioa 31 GPIO_ACTIVE_HIGH>;
};
};
};
&srab {
compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
status = "okay";
ports {
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 = "wan";
reg = <4>;
};
port@8 {
ethernet = <&amac2>;
reg = <8>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Device Tree Bindings for Cisco Meraki MX64 with A0 SoC.
*
* Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
*/
/dts-v1/;
#include "bcm958625-meraki-kingpin.dtsi"
#include "bcm-nsp-ax.dtsi"
/ {
model = "Cisco Meraki MX64(A0)";
compatible = "meraki,mx64-a0", "brcm,bcm58625", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
};
memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x80000000>;
};
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Device Tree Bindings for Cisco Meraki MX64 with B0+ SoC.
*
* Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
*/
/dts-v1/;
#include "bcm958625-meraki-kingpin.dtsi"
/ {
model = "Cisco Meraki MX64";
compatible = "meraki,mx64", "brcm,bcm58625", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
};
memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x80000000>;
};
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Device Tree Bindings for Cisco Meraki MX64W with A0 SoC.
*
* Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
*/
/dts-v1/;
#include "bcm958625-meraki-kingpin.dtsi"
#include "bcm-nsp-ax.dtsi"
/ {
model = "Cisco Meraki MX64W(A0)";
compatible = "meraki,mx64w-a0", "brcm,bcm58625", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
};
memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x80000000>;
};
};
&pcie0 {
status = "okay";
};
&pcie1 {
status = "okay";
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Device Tree Bindings for Cisco Meraki MX64W with B0+ SoC.
*
* Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
*/
/dts-v1/;
#include "bcm958625-meraki-kingpin.dtsi"
/ {
model = "Cisco Meraki MX64W";
compatible = "meraki,mx64w", "brcm,bcm58625", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
};
memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x80000000>;
};
};
&pcie0 {
status = "okay";
};
&pcie1 {
status = "okay";
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Device Tree Bindings for Cisco Meraki MX65.
*
* Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
*/
/dts-v1/;
#include "bcm958625-meraki-alamo.dtsi"
/ {
model = "Cisco Meraki MX65";
compatible = "meraki,mx65", "brcm,bcm58625", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
};
memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x80000000>;
};
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Device Tree Bindings for Cisco Meraki MX65W.
*
* Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
*/
/dts-v1/;
#include "bcm958625-meraki-alamo.dtsi"
/ {
model = "Cisco Meraki MX65W";
compatible = "meraki,mx65w", "brcm,bcm58625", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
};
memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x80000000>;
};
};
&pcie0 {
status = "okay";
};
&pcie1 {
status = "okay";
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Common Bindings for Cisco Meraki MX64 (Kingpin) and MX65 (Alamo) devices.
*
* Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
*/
#include "bcm-nsp.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
pwm-leds {
compatible = "pwm-leds";
led-1 {
function = LED_FUNCTION_INDICATOR;
color = <LED_COLOR_ID_RED>;
pwms = <&pwm 1 50000>;
max-brightness = <255>;
};
led-2 {
function = LED_FUNCTION_INDICATOR;
color = <LED_COLOR_ID_GREEN>;
pwms = <&pwm 2 50000>;
max-brightness = <255>;
};
led-3 {
function = LED_FUNCTION_INDICATOR;
color = <LED_COLOR_ID_BLUE>;
pwms = <&pwm 3 50000>;
max-brightness = <255>;
};
};
};
&amac2 {
status = "okay";
};
&ehci0 {
status = "okay";
};
&i2c0 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
pagesize = <32>;
read-only;
};
};
&nand_controller {
nand@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 = <0x0 0x80000>;
read-only;
};
partition@80000 {
label = "shmoo";
reg = <0x80000 0x80000>;
read-only;
};
partition@100000 {
label = "bootkernel1";
reg = <0x100000 0x300000>;
};
partition@400000 {
label = "nvram";
reg = <0x400000 0x100000>;
};
partition@500000 {
label = "bootkernel2";
reg = <0x500000 0x300000>;
};
partition@800000 {
label = "ubi";
reg = <0x800000 0x3f700000>;
};
};
};
&ohci0 {
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&pwm_leds>;
pwm_leds: pwm_leds {
function = "pwm";
groups = "pwm1_grp", "pwm2_grp", "pwm3_grp";
};
};
&pwm {
status = "okay";
#pwm-cells = <2>;
};
&uart0 {
clock-frequency = <62500000>;
status = "okay";
};
......@@ -37,7 +37,7 @@
/ {
model = "NorthStar Plus SVK (BCM958625HR)";
compatible = "brcm,bcm58625", "brcm,nsp";
compatible = "brcm,bcm958625hr", "brcm,bcm58625", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
......@@ -149,6 +149,7 @@ nand_sel: nand_sel {
};
&qspi {
status = "okay";
bspi-sel = <0>;
flash: m25p80@0 {
#address-cells = <1>;
......
......@@ -36,7 +36,7 @@
/ {
model = "NorthStar Plus SVK (BCM958625K)";
compatible = "brcm,bcm58625", "brcm,nsp";
compatible = "brcm,bcm958625k", "brcm,bcm58625", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
......@@ -153,6 +153,7 @@ &pwm {
};
&qspi {
status = "okay";
bspi-sel = <0>;
flash: m25p80@0 {
#address-cells = <1>;
......
......@@ -37,7 +37,7 @@
/ {
model = "NorthStar Plus SVK (BCM988312HR)";
compatible = "brcm,bcm88312", "brcm,nsp";
compatible = "brcm,bcm988312hr", "brcm,bcm88312", "brcm,nsp";
chosen {
stdout-path = "serial0:115200n8";
......@@ -58,6 +58,10 @@ gpio-restart {
/* USB 3 support needed to be complete */
&dma {
status = "okay";
};
&amac0 {
status = "okay";
};
......@@ -134,6 +138,7 @@ nand_sel: nand_sel {
};
&qspi {
status = "okay";
bspi-sel = <0>;
flash: m25p80@0 {
#address-cells = <1>;
......
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \
bcm2711-rpi-4-b.dtb \
bcm2711-rpi-cm4-io.dtb \
bcm2837-rpi-3-a-plus.dtb \
bcm2837-rpi-3-b.dtb \
bcm2837-rpi-3-b-plus.dtb \
......
// SPDX-License-Identifier: GPL-2.0
#include "arm/bcm2711-rpi-cm4-io.dts"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment