Commit 44762a0c authored by Arnd Bergmann's avatar Arnd Bergmann

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

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

- Arinc adds support for the Asus RT-AC3100 router based upon the
  BCM47094 SoC

- Krzysztof splits interrupt properties per cell such that they are mode
  readable and adds missing spaces in front of node names/labels

- Rafal updates the BCM5301X DTS to correct PCIe, SPI over GPIO
  properties. He describes the Ethernet links to internal switch ports
  and then updates the BCM53573 binding and Ethernet properties by
  declaring the BCM53125 external switch on port 5, add Ethernet links
and
  disables the second Ethernet MAC on Luxul devices.

- Dan describes the Wi-Fi regulatory mappings for Luxul devices

- Stanislav updates the bcm28155 DTS to use node labels

- Linus adds SEAMA compatible properties to MTD partitions

- Aleksey updates the Linksys EA6500 v2 to have the full 256MiB of DRAM
  available

- Stefan updates a number of BCM283x nodes to confirm to DTS schema:
  pinctrl, DMA controllers and PWM cells.

* tag 'arm-soc/for-6.6/devicetree' of https://github.com/Broadcom/stblinux: (23 commits)
  ARM: dts: BCM5301X: Add DT for ASUS RT-AC3100
  dt-bindings: arm: bcm: add bindings for ASUS RT-AC3100
  ARM: dts: broadcom: split interrupts per cells
  ARM: dts: BCM53573: Disable second Ethernet on Luxul devices
  ARM: dts: BCM53573: Add Ethernet interfaces links
  ARM: dts: BCM53573: Add BCM53125 switch port 5
  ARM: dts: BCM53573: Describe BCM53125 switch ports in the main DTS
  ARM: dts: BCM53573: Fix Tenda AC9 switch CPU port
  ARM: dts: bcm28155-ap: use node labels
  ARM: dts: bcm5301x: Add SEAMA compatibles
  ARM: dts: BCM53573: Fix Ethernet info for Luxul devices
  ARM: dts: BCM5301X: Extend RAM to full 256MB for Linksys EA6500 V2
  dt-bindings: arm: bcm: add BCM53573 SoCs family binding
  ARM: dts: BCM53573: Use updated "spi-gpio" binding properties
  ARM: dts: BCM53573: Add cells sizes to PCIe node
  ARM: dts: BCM53573: Drop nonexistent #usb-cells
  ARM: dts: BCM53573: Drop nonexistent "default-off" LED trigger
  ARM: dts: BCM5301X: Add Ethernet interfaces links
  ARM: dts: BCM5301X: Add Wi-Fi regulatory mappings for Luxul devices
  ARM: dts: broadcom: add missing space before {
  ...

Link: https://lore.kernel.org/r/20230818164539.2871539-1-florian.fainelli@broadcom.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents c708140e 29000832
...@@ -66,6 +66,7 @@ properties: ...@@ -66,6 +66,7 @@ properties:
- description: BCM47094 based boards - description: BCM47094 based boards
items: items:
- enum: - enum:
- asus,rt-ac3100
- asus,rt-ac88u - asus,rt-ac88u
- dlink,dir-885l - dlink,dir-885l
- dlink,dir-890l - dlink,dir-890l
......
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/bcm/brcm,bcm53573.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom BCM53573 SoCs family
description:
Broadcom BCM53573 / BCM47189 Wi-Fi SoCs derived from Northstar.
maintainers:
- Rafał Miłecki <rafal@milecki.pl>
properties:
$nodename:
const: '/'
compatible:
oneOf:
- description: BCM53573 based boards
items:
- enum:
- tenda,ac6-v1
- tenda,w15e-v1
- const: brcm,bcm53573
- description: BCM47189 based boards
items:
- enum:
- brcm,bcm947189acdbmr
- luxul,xap-810-v1
- luxul,xap-1440-v1
- tenda,ac9
- const: brcm,bcm47189
- const: brcm,bcm53573
additionalProperties: true
...
...@@ -70,6 +70,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ ...@@ -70,6 +70,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4709-netgear-r7000.dtb \ bcm4709-netgear-r7000.dtb \
bcm4709-netgear-r8000.dtb \ bcm4709-netgear-r8000.dtb \
bcm4709-tplink-archer-c9-v1.dtb \ bcm4709-tplink-archer-c9-v1.dtb \
bcm47094-asus-rt-ac3100.dtb \
bcm47094-asus-rt-ac88u.dtb \ bcm47094-asus-rt-ac88u.dtb \
bcm47094-dlink-dir-885l.dtb \ bcm47094-dlink-dir-885l.dtb \
bcm47094-dlink-dir-890l.dtb \ bcm47094-dlink-dir-890l.dtb \
......
...@@ -54,8 +54,8 @@ cpu0: cpu@0 { ...@@ -54,8 +54,8 @@ cpu0: cpu@0 {
pmu { pmu {
compatible = "arm,cortex-a9-pmu"; compatible = "arm,cortex-a9-pmu";
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
interrupt-affinity = <&cpu0>; interrupt-affinity = <&cpu0>;
}; };
......
...@@ -272,14 +272,32 @@ xhci_port1: port@1 { ...@@ -272,14 +272,32 @@ xhci_port1: port@1 {
gmac0: ethernet@24000 { gmac0: ethernet@24000 {
reg = <0x24000 0x800>; reg = <0x24000 0x800>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
}; };
gmac1: ethernet@25000 { gmac1: ethernet@25000 {
reg = <0x25000 0x800>; reg = <0x25000 0x800>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
}; };
gmac2: ethernet@26000 { gmac2: ethernet@26000 {
reg = <0x26000 0x800>; reg = <0x26000 0x800>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
}; };
gmac3: ethernet@27000 { gmac3: ethernet@27000 {
......
...@@ -72,8 +72,8 @@ cpu1: cpu@1 { ...@@ -72,8 +72,8 @@ cpu1: cpu@1 {
pmu { pmu {
compatible = "arm,cortex-a9-pmu"; compatible = "arm,cortex-a9-pmu";
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
interrupt-affinity = <&cpu0>, <&cpu1>; interrupt-affinity = <&cpu0>, <&cpu1>;
}; };
......
...@@ -111,13 +111,12 @@ timer@35006000 { ...@@ -111,13 +111,12 @@ timer@35006000 {
gpio: gpio@35003000 { gpio: gpio@35003000 {
compatible = "brcm,bcm11351-gpio", "brcm,kona-gpio"; compatible = "brcm,bcm11351-gpio", "brcm,kona-gpio";
reg = <0x35003000 0x800>; reg = <0x35003000 0x800>;
interrupts = interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
#gpio-cells = <2>; #gpio-cells = <2>;
#interrupt-cells = <2>; #interrupt-cells = <2>;
gpio-controller; gpio-controller;
......
...@@ -101,11 +101,10 @@ timer@35006000 { ...@@ -101,11 +101,10 @@ timer@35006000 {
gpio: gpio@35003000 { gpio: gpio@35003000 {
compatible = "brcm,bcm21664-gpio", "brcm,kona-gpio"; compatible = "brcm,bcm21664-gpio", "brcm,kona-gpio";
reg = <0x35003000 0x524>; reg = <0x35003000 0x524>;
interrupts = interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
#gpio-cells = <2>; #gpio-cells = <2>;
#interrupt-cells = <2>; #interrupt-cells = <2>;
gpio-controller; gpio-controller;
......
...@@ -101,11 +101,10 @@ resetmgr: reset-controller@1001f00 { ...@@ -101,11 +101,10 @@ resetmgr: reset-controller@1001f00 {
gpio: gpio@1003000 { gpio: gpio@1003000 {
compatible = "brcm,bcm23550-gpio", "brcm,kona-gpio"; compatible = "brcm,bcm23550-gpio", "brcm,kona-gpio";
reg = <0x01003000 0x524>; reg = <0x01003000 0x524>;
interrupts = interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
#gpio-cells = <2>; #gpio-cells = <2>;
#interrupt-cells = <2>; #interrupt-cells = <2>;
gpio-controller; gpio-controller;
......
...@@ -76,7 +76,7 @@ thermal: thermal { ...@@ -76,7 +76,7 @@ thermal: thermal {
}; };
}; };
dma: dma@7e007000 { dma: dma-controller@7e007000 {
compatible = "brcm,bcm2835-dma"; compatible = "brcm,bcm2835-dma";
reg = <0x7e007000 0xb00>; reg = <0x7e007000 0xb00>;
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
...@@ -278,7 +278,7 @@ pwm1: pwm@7e20c800 { ...@@ -278,7 +278,7 @@ pwm1: pwm@7e20c800 {
clocks = <&clocks BCM2835_CLOCK_PWM>; clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clocks = <&clocks BCM2835_CLOCK_PWM>; assigned-clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clock-rates = <10000000>; assigned-clock-rates = <10000000>;
#pwm-cells = <2>; #pwm-cells = <3>;
status = "disabled"; status = "disabled";
}; };
......
...@@ -15,64 +15,64 @@ memory@80000000 { ...@@ -15,64 +15,64 @@ memory@80000000 {
device_type = "memory"; device_type = "memory";
reg = <0x80000000 0x40000000>; /* 1 GB */ reg = <0x80000000 0x40000000>; /* 1 GB */
}; };
};
serial@3e000000 { &bsc1 {
status = "okay"; clock-frequency = <400000>;
}; status = "okay";
};
i2c@3e016000 {
clock-frequency = <400000>;
status = "okay";
};
i2c@3e017000 { &bsc2 {
clock-frequency = <400000>; clock-frequency = <400000>;
status = "okay"; status = "okay";
}; };
i2c@3e018000 { &bsc3 {
clock-frequency = <400000>; clock-frequency = <400000>;
status = "okay"; status = "okay";
}; };
i2c@3500d000 { &pmu_bsc {
clock-frequency = <100000>; clock-frequency = <100000>;
status = "okay"; status = "okay";
pmu: pmu@8 { pmu: pmu@8 {
reg = <0x08>; reg = <0x08>;
};
}; };
};
sdio2: mmc@3f190000 { &pwm {
non-removable; status = "okay";
max-frequency = <48000000>; };
vmmc-supply = <&camldo1_reg>;
vqmmc-supply = <&iosr1_reg>;
status = "okay";
};
sdio4: mmc@3f1b0000 { &sdio2 {
max-frequency = <48000000>; non-removable;
cd-gpios = <&gpio 14 GPIO_ACTIVE_LOW>; max-frequency = <48000000>;
vmmc-supply = <&sdldo_reg>; vmmc-supply = <&camldo1_reg>;
vqmmc-supply = <&sdxldo_reg>; vqmmc-supply = <&iosr1_reg>;
status = "okay"; status = "okay";
}; };
pwm: pwm@3e01a000 { &sdio4 {
status = "okay"; max-frequency = <48000000>;
}; cd-gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
vmmc-supply = <&sdldo_reg>;
vqmmc-supply = <&sdxldo_reg>;
status = "okay";
};
usbotg: usb@3f120000 { &uartb {
vusb_d-supply = <&usbldo_reg>; status = "okay";
vusb_a-supply = <&iosr1_reg>; };
status = "okay";
};
usbphy: usb-phy@3f130000 { &usbotg {
status = "okay"; vusb_d-supply = <&usbldo_reg>;
}; vusb_a-supply = <&iosr1_reg>;
status = "okay";
};
&usbphy {
status = "okay";
}; };
#include "bcm59056.dtsi" #include "bcm59056.dtsi"
......
...@@ -8,7 +8,7 @@ / { ...@@ -8,7 +8,7 @@ / {
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
soc { soc {
dma: dma@7e007000 { dma: dma-controller@7e007000 {
compatible = "brcm,bcm2835-dma"; compatible = "brcm,bcm2835-dma";
reg = <0x7e007000 0xf00>; reg = <0x7e007000 0xf00>;
interrupts = <1 16>, interrupts = <1 16>,
......
...@@ -81,6 +81,7 @@ &gpio { ...@@ -81,6 +81,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>; pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
/* I2S interface */ /* I2S interface */
......
...@@ -83,6 +83,7 @@ &gpio { ...@@ -83,6 +83,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt2>; pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
/* I2S interface */ /* I2S interface */
......
...@@ -83,6 +83,7 @@ &gpio { ...@@ -83,6 +83,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>; pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
/* I2S interface */ /* I2S interface */
......
...@@ -83,6 +83,7 @@ &gpio { ...@@ -83,6 +83,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt2>; pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
/* I2S interface */ /* I2S interface */
......
...@@ -83,6 +83,7 @@ &gpio { ...@@ -83,6 +83,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>; pinctrl-0 = <&gpioout &alt0>;
}; };
......
...@@ -73,6 +73,7 @@ &gpio { ...@@ -73,6 +73,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>; pinctrl-0 = <&gpioout &alt0>;
}; };
......
...@@ -97,6 +97,7 @@ &gpio { ...@@ -97,6 +97,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>; pinctrl-0 = <&gpioout &alt0>;
}; };
...@@ -111,6 +112,7 @@ &led_act { ...@@ -111,6 +112,7 @@ &led_act {
}; };
&sdhci { &sdhci {
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>; pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>;
}; };
......
...@@ -85,6 +85,7 @@ &gpio { ...@@ -85,6 +85,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>; pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
/* I2S interface */ /* I2S interface */
......
...@@ -26,8 +26,6 @@ vchiq: mailbox@7e00b840 { ...@@ -26,8 +26,6 @@ vchiq: mailbox@7e00b840 {
}; };
&gpio { &gpio {
pinctrl-names = "default";
gpioout: gpioout { gpioout: gpioout {
brcm,pins = <6>; brcm,pins = <6>;
brcm,function = <BCM2835_FSEL_GPIO_OUT>; brcm,function = <BCM2835_FSEL_GPIO_OUT>;
......
...@@ -82,6 +82,7 @@ &gpio { ...@@ -82,6 +82,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>; pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
/* I2S interface */ /* I2S interface */
......
...@@ -72,6 +72,7 @@ &gpio { ...@@ -72,6 +72,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>; pinctrl-0 = <&gpioout &alt0>;
}; };
......
...@@ -95,6 +95,7 @@ &gpio { ...@@ -95,6 +95,7 @@ &gpio {
"SD_DATA2_R", "SD_DATA2_R",
"SD_DATA3_R"; "SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>; pinctrl-0 = <&gpioout &alt0>;
}; };
...@@ -109,6 +110,7 @@ &led_act { ...@@ -109,6 +110,7 @@ &led_act {
}; };
&sdhci { &sdhci {
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>; pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>;
}; };
......
...@@ -416,7 +416,7 @@ pwm: pwm@7e20c000 { ...@@ -416,7 +416,7 @@ pwm: pwm@7e20c000 {
clocks = <&clocks BCM2835_CLOCK_PWM>; clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clocks = <&clocks BCM2835_CLOCK_PWM>; assigned-clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clock-rates = <10000000>; assigned-clock-rates = <10000000>;
#pwm-cells = <2>; #pwm-cells = <3>;
status = "disabled"; status = "disabled";
}; };
......
...@@ -19,7 +19,8 @@ chosen { ...@@ -19,7 +19,8 @@ chosen {
memory@0 { memory@0 {
device_type = "memory"; device_type = "memory";
reg = <0x00000000 0x08000000>; reg = <0x00000000 0x08000000>,
<0x88000000 0x08000000>;
}; };
gpio-keys { gpio-keys {
......
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Author: Arınç ÜNAL <arinc.unal@arinc9.com>
*/
/dts-v1/;
#include "bcm47094-asus-rt-ac3100.dtsi"
/ {
compatible = "asus,rt-ac3100", "brcm,bcm47094", "brcm,bcm4708";
model = "ASUS RT-AC3100";
nvram@1c080000 {
et0macaddr: et0macaddr {
};
};
};
&gmac0 {
nvmem-cells = <&et0macaddr>;
nvmem-cell-names = "mac-address";
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Author: Arınç ÜNAL <arinc.unal@arinc9.com>
*/
#include "bcm47094.dtsi"
#include "bcm5301x-nand-cs0-bch8.dtsi"
/ {
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";
led-power {
label = "white:power";
gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
linux,default-trigger = "default-on";
};
led-wan-red {
label = "red:wan";
gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
};
led-lan {
label = "white:lan";
gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
};
led-usb2 {
label = "white:usb2";
gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
trigger-sources = <&ehci_port2>;
linux,default-trigger = "usbport";
};
led-usb3 {
label = "white:usb3";
gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
trigger-sources = <&ehci_port1>, <&xhci_port1>;
linux,default-trigger = "usbport";
};
led-wps {
label = "white:wps";
gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
};
};
gpio-keys {
compatible = "gpio-keys";
button-wps {
label = "WPS";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&chipcommon 20 GPIO_ACTIVE_LOW>;
};
button-reset {
label = "Reset";
linux,code = <KEY_RESTART>;
gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
};
button-wifi {
label = "Wi-Fi";
linux,code = <KEY_RFKILL>;
gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
};
button-led {
label = "Backlight";
linux,code = <KEY_BRIGHTNESS_ZERO>;
gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
};
};
};
&srab {
compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
status = "okay";
ports {
port@0 {
label = "lan4";
};
port@1 {
label = "lan3";
};
port@2 {
label = "lan2";
};
port@3 {
label = "lan1";
};
port@4 {
label = "wan";
};
port@5 {
label = "cpu";
};
port@7 {
label = "cpu";
};
port@8 {
label = "cpu";
};
};
};
&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";
};
};
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/* /*
* Copyright (C) 2021-2022 Arınç ÜNAL <arinc.unal@arinc9.com> * Author: Arınç ÜNAL <arinc.unal@arinc9.com>
*/ */
/dts-v1/; /dts-v1/;
#include "bcm47094.dtsi" #include "bcm47094-asus-rt-ac3100.dtsi"
#include "bcm5301x-nand-cs0-bch8.dtsi"
/ { / {
compatible = "asus,rt-ac88u", "brcm,bcm47094", "brcm,bcm4708"; compatible = "asus,rt-ac88u", "brcm,bcm47094", "brcm,bcm4708";
model = "Asus RT-AC88U"; model = "ASUS RT-AC88U";
chosen {
bootargs = "earlycon";
};
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>,
<0x88000000 0x18000000>;
};
nvram@1c080000 { nvram@1c080000 {
compatible = "brcm,nvram";
reg = <0x1c080000 0x00180000>;
et1macaddr: et1macaddr { et1macaddr: et1macaddr {
}; };
}; };
leds {
compatible = "gpio-leds";
led-power {
label = "white:power";
gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
linux,default-trigger = "default-on";
};
led-wan-red {
label = "red:wan";
gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
};
led-lan {
label = "white:lan";
gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
};
led-usb2 {
label = "white:usb2";
gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
trigger-sources = <&ehci_port2>;
linux,default-trigger = "usbport";
};
led-usb3 {
label = "white:usb3";
gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
trigger-sources = <&ehci_port1>, <&xhci_port1>;
linux,default-trigger = "usbport";
};
led-wps {
label = "white:wps";
gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
};
};
gpio-keys {
compatible = "gpio-keys";
button-wps {
label = "WPS";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&chipcommon 20 GPIO_ACTIVE_LOW>;
};
button-reset {
label = "Reset";
linux,code = <KEY_RESTART>;
gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
};
button-wifi {
label = "Wi-Fi";
linux,code = <KEY_RFKILL>;
gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
};
button-led {
label = "Backlight";
linux,code = <KEY_BRIGHTNESS_ZERO>;
gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
};
};
switch { switch {
compatible = "realtek,rtl8365mb"; compatible = "realtek,rtl8365mb";
/* 7 = MDIO (has input reads), 6 = MDC (clock, output only) */ /* 7 = MDIO (has input reads), 6 = MDC (clock, output only) */
...@@ -175,31 +94,9 @@ ethphy3: ethernet-phy@3 { ...@@ -175,31 +94,9 @@ ethphy3: ethernet-phy@3 {
}; };
&srab { &srab {
compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
status = "okay";
dsa,member = <0 0>; dsa,member = <0 0>;
ports { ports {
port@0 {
label = "lan4";
};
port@1 {
label = "lan3";
};
port@2 {
label = "lan2";
};
port@3 {
label = "lan1";
};
port@4 {
label = "wan";
};
sw0_p5: port@5 { sw0_p5: port@5 {
/delete-property/ethernet; /delete-property/ethernet;
...@@ -212,19 +109,6 @@ fixed-link { ...@@ -212,19 +109,6 @@ fixed-link {
pause; pause;
}; };
}; };
port@7 {
label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@8 {
label = "cpu";
};
}; };
}; };
...@@ -236,36 +120,3 @@ &gmac1 { ...@@ -236,36 +120,3 @@ &gmac1 {
nvmem-cells = <&et1macaddr>; nvmem-cells = <&et1macaddr>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
&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";
};
};
};
...@@ -33,6 +33,7 @@ partitions { ...@@ -33,6 +33,7 @@ partitions {
#size-cells = <1>; #size-cells = <1>;
partition@0 { partition@0 {
compatible = "seama";
label = "firmware"; label = "firmware";
reg = <0x00000000 0x08000000>; reg = <0x00000000 0x08000000>;
}; };
......
...@@ -149,6 +149,7 @@ partitions { ...@@ -149,6 +149,7 @@ partitions {
* partitions: this device uses SEAMA. * partitions: this device uses SEAMA.
*/ */
firmware@0 { firmware@0 {
compatible = "seama";
label = "firmware"; label = "firmware";
reg = <0x00000000 0x08000000>; reg = <0x00000000 0x08000000>;
}; };
......
...@@ -279,7 +279,7 @@ partition@80000 { ...@@ -279,7 +279,7 @@ partition@80000 {
reg = <0x080000 0x0100000>; reg = <0x080000 0x0100000>;
}; };
partition@180000{ partition@180000 {
label = "devinfo"; label = "devinfo";
reg = <0x0180000 0x080000>; reg = <0x0180000 0x080000>;
}; };
......
...@@ -64,6 +64,43 @@ &gmac0 { ...@@ -64,6 +64,43 @@ &gmac0 {
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
&pcie0 {
#address-cells = <3>;
#size-cells = <2>;
bridge@0,0 {
reg = <0x0000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
wifi@0,0 {
compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
reg = <0x0000 0 0 0 0>;
brcm,ccode-map = "AU-AU-920", "CA-CA-892", "GB-DE-964", "NZ-AU-920", "US-US-825";
};
};
};
&pcie1 {
#address-cells = <3>;
#size-cells = <2>;
bridge@0,0 {
reg = <0x0000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
wifi@0,0 {
compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
reg = <0x0000 0 0 0 0>;
brcm,ccode-map = "AU-AU-920", "CA-CA-892", "GB-DE-964", "NZ-AU-920", "US-US-825";
};
};
};
&spi_nor { &spi_nor {
status = "okay"; status = "okay";
}; };
......
...@@ -81,6 +81,42 @@ &gmac0 { ...@@ -81,6 +81,42 @@ &gmac0 {
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
&pcie0 {
#address-cells = <3>;
#size-cells = <2>;
bridge@0,0 {
reg = <0x0000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
wifi@0,0 {
compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
reg = <0x0000 0 0 0 0>;
brcm,ccode-map = "AU-AU-953", "CA-CA-946", "GB-E0-846", "NZ-AU-953", "US-Q2-930";
};
};
};
&pcie1 {
#address-cells = <3>;
#size-cells = <2>;
bridge@0,0 {
reg = <0x0000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
wifi@0,0 {
compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
reg = <0x0000 0 0 0 0>;
brcm,ccode-map = "AU-AU-953", "CA-CA-946", "GB-E0-846", "NZ-AU-953", "US-Q2-930";
};
};
};
&usb3 { &usb3 {
vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>; vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
}; };
......
...@@ -55,7 +55,7 @@ partition@80000 { ...@@ -55,7 +55,7 @@ partition@80000 {
reg = <0x0080000 0x0100000>; reg = <0x0080000 0x0100000>;
}; };
partition@180000{ partition@180000 {
label = "phicomm"; label = "phicomm";
reg = <0x0180000 0x0280000>; reg = <0x0180000 0x0280000>;
read-only; read-only;
......
...@@ -26,7 +26,6 @@ leds { ...@@ -26,7 +26,6 @@ leds {
led-wlan { led-wlan {
label = "bcm53xx:blue:wlan"; label = "bcm53xx:blue:wlan";
gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>; gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
linux,default-trigger = "default-off";
}; };
led-system { led-system {
...@@ -46,3 +45,22 @@ button-restart { ...@@ -46,3 +45,22 @@ button-restart {
}; };
}; };
}; };
&gmac0 {
phy-mode = "rgmii";
phy-handle = <&bcm54210e>;
/delete-node/ fixed-link;
mdio {
/delete-node/ switch@1e;
bcm54210e: ethernet-phy@0 {
reg = <0>;
};
};
};
&gmac1 {
status = "disabled";
};
...@@ -26,7 +26,6 @@ leds-0 { ...@@ -26,7 +26,6 @@ leds-0 {
led-5ghz { led-5ghz {
label = "bcm53xx:blue:5ghz"; label = "bcm53xx:blue:5ghz";
gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>; gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-off";
}; };
led-system { led-system {
...@@ -42,7 +41,6 @@ leds-1 { ...@@ -42,7 +41,6 @@ leds-1 {
led-2ghz { led-2ghz {
label = "bcm53xx:blue:2ghz"; label = "bcm53xx:blue:2ghz";
gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>; gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-off";
}; };
}; };
...@@ -83,3 +81,22 @@ pcie0_chipcommon: chipcommon@0 { ...@@ -83,3 +81,22 @@ pcie0_chipcommon: chipcommon@0 {
}; };
}; };
}; };
&gmac0 {
phy-mode = "rgmii";
phy-handle = <&bcm54210e>;
/delete-node/ fixed-link;
mdio {
/delete-node/ switch@1e;
bcm54210e: ethernet-phy@0 {
reg = <0>;
};
};
};
&gmac1 {
status = "disabled";
};
...@@ -111,34 +111,27 @@ &switch { ...@@ -111,34 +111,27 @@ &switch {
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "wan"; label = "wan";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan1"; label = "lan1";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan2"; label = "lan2";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan3"; label = "lan3";
}; };
port@4 { port@4 {
reg = <4>;
label = "lan4"; label = "lan4";
}; };
port@5 { port@8 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };
...@@ -127,6 +127,9 @@ uart0: serial@300 { ...@@ -127,6 +127,9 @@ uart0: serial@300 {
pcie0: pcie@2000 { pcie0: pcie@2000 {
reg = <0x00002000 0x1000>; reg = <0x00002000 0x1000>;
#address-cells = <3>;
#size-cells = <2>;
}; };
usb2: usb2@4000 { usb2: usb2@4000 {
...@@ -156,8 +159,6 @@ ehci_port2: port@2 { ...@@ -156,8 +159,6 @@ ehci_port2: port@2 {
}; };
ohci: usb@d000 { ohci: usb@d000 {
#usb-cells = <0>;
compatible = "generic-ohci"; compatible = "generic-ohci";
reg = <0xd000 0x1000>; reg = <0xd000 0x1000>;
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
...@@ -180,6 +181,12 @@ ohci_port2: port@2 { ...@@ -180,6 +181,12 @@ ohci_port2: port@2 {
gmac0: ethernet@5000 { gmac0: ethernet@5000 {
reg = <0x5000 0x1000>; reg = <0x5000 0x1000>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
mdio { mdio {
#address-cells = <1>; #address-cells = <1>;
...@@ -191,10 +198,44 @@ switch: switch@1e { ...@@ -191,10 +198,44 @@ switch: switch@1e {
status = "disabled"; status = "disabled";
/* ports are defined in board DTS */
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
port@0 {
reg = <0>;
};
port@1 {
reg = <1>;
};
port@2 {
reg = <2>;
};
port@3 {
reg = <3>;
};
port@4 {
reg = <4>;
};
port@5 {
reg = <5>;
ethernet = <&gmac1>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@8 {
reg = <8>;
ethernet = <&gmac0>;
};
}; };
}; };
}; };
...@@ -202,6 +243,12 @@ ports { ...@@ -202,6 +243,12 @@ ports {
gmac1: ethernet@b000 { gmac1: ethernet@b000 {
reg = <0xb000 0x1000>; reg = <0xb000 0x1000>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
}; };
pmu@12000 { pmu@12000 {
......
...@@ -60,9 +60,9 @@ button-wps { ...@@ -60,9 +60,9 @@ button-wps {
spi { spi {
compatible = "spi-gpio"; compatible = "spi-gpio";
num-chipselects = <1>; num-chipselects = <1>;
gpio-sck = <&chipcommon 21 0>; sck-gpios = <&chipcommon 21 0>;
gpio-miso = <&chipcommon 22 0>; miso-gpios = <&chipcommon 22 0>;
gpio-mosi = <&chipcommon 23 0>; mosi-gpios = <&chipcommon 23 0>;
cs-gpios = <&chipcommon 24 0>; cs-gpios = <&chipcommon 24 0>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
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