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.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmTdN44ACgkQh9CWnEQH
 BwQJ1w/8CZvX4GxA6avGC24VXYzOJ1jnahnp9Troi9XZ3E+yOIc8s/CXyOQJaEIk
 lAv0M7zc0UXubXmmH3ee8dHOunvs2KAPSin0JVDW/ybEZAAzPJCnz3lGT2Um2MEo
 hofiLXjcTGAIPHnyYif6K4U1UnABC+gXVCNgRZG2jkm9YUBkKWfs4drXzeagqm/k
 wrBuh2igB74zMhf+MihijqXSjJulVyuwUjT5d6siW7qSSw7HdRb0XrOqC2O9T9ou
 /qV2+EZSJuP0t6mB8nDOaMaLW8Xw1N9VsAXF0mY0BYwf9Om9rdqaUlGRs06Y3+VM
 INmp3kamh1Hcebr4U9PNt1I/VHQ7UQfAPJouslR9s/ZBdnCjVtzJ9gTmi3iZGlI7
 N7srjUuRrhfC0ClEX6OTKB6PEutw5MlptKUAQLRCp9o8b8jJASu7k/8WXi/y1P67
 JKbRri4/RdyxxPVSX922SeLj4iwoyibbiHrfs8xpzeqr99CoyXseVTqz+jf7jeE/
 vTv+isOPs+dbCxDmO7811Ky7jBnFjr6G7q7fV1DnsxroAiuzkDCmJGFzZ5kVzD54
 BfPPDyCRUTcJKLHENvJIS1mlXwviyIWpr2yEmvu0QKT0HptwGpBnWzfgT4lkJjDx
 zjGDn6RGKv4dDGqgt8ZZbINEvG4zjrPIE0zOyUU9DVJGWX5Arf0=
 =oQzu
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTkFwcACgkQYKtH/8kJ
 Uif9SBAA42uEptTQi30DvBA2wlwm0B+usLO5sbbYNCBWg00q3THQHmdekiPjNIXH
 Vn948vXBtcfAOv73vmcv8j8JVsda8+qqM282FJymfS63BVwWWiDvVBoJS68Werxx
 w7GI8TLojiO3hkyrxQ48xeDLS1G8hEz8KHna7GVOXo9JEMzCpiEIhRAzSpYCpqmc
 y3OuCNsKmOvX7644SAj1v6S/ClRqJ79IluwPemSg8Z9R009chPr2c+wQUpFBUhX6
 CZqdShCuaA+qrFWMtKiBQ8WTZmBbnwJa7/IS1T51YCduuNH+4YxZzuWoYm0IfXp5
 /c4e3sZXuZD5M+cZo+l3u2/bPXyu7f8Nzw5Yioj288SbWP0K1m1j8VoytvWlJUxF
 AMiDc5wpAoCrfHoZTVcieVvYvWZW4y9RHFcmvJCgAEq+ID2J/C+D7tDfJEAr7RA0
 z7gy2Uy3xkXiubl4OIrSwfKD2QUUAqaw02GOywDPRK77xcpmmKDc9FHtZ6UnaxQn
 03i76CclUfdVTy6Az7HvJtuUZeB5JUGTVKyhSd829x80Ul3hy0vA1NNZKh7NN4nX
 PolybnJAHQXLTJswxPntrvu9NAJfBE3wQPk7nx/c+zQHPlDoNCIHpBFV4FqJTOmO
 W0DNY7qb0dmJdvkAJHfpm+jM0MELyoBwIsZq1TuFEr8lET6DeOI=
 =KAWz
 -----END PGP SIGNATURE-----

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.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2023-08-21 22:01:22 -04:00
commit 44762a0c82
40 changed files with 504 additions and 249 deletions

View File

@ -66,6 +66,7 @@ properties:
- description: BCM47094 based boards
items:
- enum:
- asus,rt-ac3100
- asus,rt-ac88u
- dlink,dir-885l
- dlink,dir-890l

View File

@ -0,0 +1,39 @@
# 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
...

View File

@ -70,6 +70,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4709-netgear-r7000.dtb \
bcm4709-netgear-r8000.dtb \
bcm4709-tplink-archer-c9-v1.dtb \
bcm47094-asus-rt-ac3100.dtb \
bcm47094-asus-rt-ac88u.dtb \
bcm47094-dlink-dir-885l.dtb \
bcm47094-dlink-dir-890l.dtb \

View File

@ -54,8 +54,8 @@ cpu0: cpu@0 {
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
interrupt-affinity = <&cpu0>;
};

View File

@ -272,14 +272,32 @@ xhci_port1: port@1 {
gmac0: ethernet@24000 {
reg = <0x24000 0x800>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
};
gmac1: ethernet@25000 {
reg = <0x25000 0x800>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
};
gmac2: ethernet@26000 {
reg = <0x26000 0x800>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
};
gmac3: ethernet@27000 {

View File

@ -72,8 +72,8 @@ cpu1: cpu@1 {
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
interrupt-affinity = <&cpu0>, <&cpu1>;
};

View File

@ -111,13 +111,12 @@ timer@35006000 {
gpio: gpio@35003000 {
compatible = "brcm,bcm11351-gpio", "brcm,kona-gpio";
reg = <0x35003000 0x800>;
interrupts =
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
#gpio-cells = <2>;
#interrupt-cells = <2>;
gpio-controller;

View File

@ -101,11 +101,10 @@ timer@35006000 {
gpio: gpio@35003000 {
compatible = "brcm,bcm21664-gpio", "brcm,kona-gpio";
reg = <0x35003000 0x524>;
interrupts =
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
#gpio-cells = <2>;
#interrupt-cells = <2>;
gpio-controller;

View File

@ -101,11 +101,10 @@ resetmgr: reset-controller@1001f00 {
gpio: gpio@1003000 {
compatible = "brcm,bcm23550-gpio", "brcm,kona-gpio";
reg = <0x01003000 0x524>;
interrupts =
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
#gpio-cells = <2>;
#interrupt-cells = <2>;
gpio-controller;

View File

@ -76,7 +76,7 @@ thermal: thermal {
};
};
dma: dma@7e007000 {
dma: dma-controller@7e007000 {
compatible = "brcm,bcm2835-dma";
reg = <0x7e007000 0xb00>;
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
@ -278,7 +278,7 @@ pwm1: pwm@7e20c800 {
clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clock-rates = <10000000>;
#pwm-cells = <2>;
#pwm-cells = <3>;
status = "disabled";
};

View File

@ -15,64 +15,64 @@ memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x40000000>; /* 1 GB */
};
};
serial@3e000000 {
status = "okay";
&bsc1 {
clock-frequency = <400000>;
status = "okay";
};
&bsc2 {
clock-frequency = <400000>;
status = "okay";
};
&bsc3 {
clock-frequency = <400000>;
status = "okay";
};
&pmu_bsc {
clock-frequency = <100000>;
status = "okay";
pmu: pmu@8 {
reg = <0x08>;
};
};
i2c@3e016000 {
clock-frequency = <400000>;
status = "okay";
};
&pwm {
status = "okay";
};
i2c@3e017000 {
clock-frequency = <400000>;
status = "okay";
};
&sdio2 {
non-removable;
max-frequency = <48000000>;
vmmc-supply = <&camldo1_reg>;
vqmmc-supply = <&iosr1_reg>;
status = "okay";
};
i2c@3e018000 {
clock-frequency = <400000>;
status = "okay";
};
&sdio4 {
max-frequency = <48000000>;
cd-gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
vmmc-supply = <&sdldo_reg>;
vqmmc-supply = <&sdxldo_reg>;
status = "okay";
};
i2c@3500d000 {
clock-frequency = <100000>;
status = "okay";
&uartb {
status = "okay";
};
pmu: pmu@8 {
reg = <0x08>;
};
};
&usbotg {
vusb_d-supply = <&usbldo_reg>;
vusb_a-supply = <&iosr1_reg>;
status = "okay";
};
sdio2: mmc@3f190000 {
non-removable;
max-frequency = <48000000>;
vmmc-supply = <&camldo1_reg>;
vqmmc-supply = <&iosr1_reg>;
status = "okay";
};
sdio4: mmc@3f1b0000 {
max-frequency = <48000000>;
cd-gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
vmmc-supply = <&sdldo_reg>;
vqmmc-supply = <&sdxldo_reg>;
status = "okay";
};
pwm: pwm@3e01a000 {
status = "okay";
};
usbotg: usb@3f120000 {
vusb_d-supply = <&usbldo_reg>;
vusb_a-supply = <&iosr1_reg>;
status = "okay";
};
usbphy: usb-phy@3f130000 {
status = "okay";
};
&usbphy {
status = "okay";
};
#include "bcm59056.dtsi"

View File

@ -8,7 +8,7 @@ / {
interrupt-parent = <&intc>;
soc {
dma: dma@7e007000 {
dma: dma-controller@7e007000 {
compatible = "brcm,bcm2835-dma";
reg = <0x7e007000 0xf00>;
interrupts = <1 16>,

View File

@ -81,6 +81,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
/* I2S interface */

View File

@ -83,6 +83,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
/* I2S interface */

View File

@ -83,6 +83,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
/* I2S interface */

View File

@ -83,6 +83,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
/* I2S interface */

View File

@ -83,6 +83,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>;
};

View File

@ -73,6 +73,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>;
};

View File

@ -97,6 +97,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>;
};
@ -111,6 +112,7 @@ &led_act {
};
&sdhci {
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>;
};

View File

@ -85,6 +85,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
/* I2S interface */

View File

@ -26,8 +26,6 @@ vchiq: mailbox@7e00b840 {
};
&gpio {
pinctrl-names = "default";
gpioout: gpioout {
brcm,pins = <6>;
brcm,function = <BCM2835_FSEL_GPIO_OUT>;

View File

@ -82,6 +82,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
/* I2S interface */

View File

@ -72,6 +72,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>;
};

View File

@ -95,6 +95,7 @@ &gpio {
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0>;
};
@ -109,6 +110,7 @@ &led_act {
};
&sdhci {
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>;
};

View File

@ -416,7 +416,7 @@ pwm: pwm@7e20c000 {
clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clock-rates = <10000000>;
#pwm-cells = <2>;
#pwm-cells = <3>;
status = "disabled";
};

View File

@ -19,7 +19,8 @@ chosen {
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>;
reg = <0x00000000 0x08000000>,
<0x88000000 0x08000000>;
};
gpio-keys {

View File

@ -0,0 +1,23 @@
// 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";
};

View File

@ -0,0 +1,163 @@
// 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";
};
};
};

View File

@ -1,102 +1,21 @@
// 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/;
#include "bcm47094.dtsi"
#include "bcm5301x-nand-cs0-bch8.dtsi"
#include "bcm47094-asus-rt-ac3100.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>;
};
model = "ASUS RT-AC88U";
nvram@1c080000 {
compatible = "brcm,nvram";
reg = <0x1c080000 0x00180000>;
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 {
compatible = "realtek,rtl8365mb";
/* 7 = MDIO (has input reads), 6 = MDC (clock, output only) */
@ -175,31 +94,9 @@ ethphy3: ethernet-phy@3 {
};
&srab {
compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
status = "okay";
dsa,member = <0 0>;
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 {
/delete-property/ethernet;
@ -212,19 +109,6 @@ fixed-link {
pause;
};
};
port@7 {
label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@8 {
label = "cpu";
};
};
};
@ -236,36 +120,3 @@ &gmac1 {
nvmem-cells = <&et1macaddr>;
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";
};
};
};

View File

@ -33,6 +33,7 @@ partitions {
#size-cells = <1>;
partition@0 {
compatible = "seama";
label = "firmware";
reg = <0x00000000 0x08000000>;
};

View File

@ -149,6 +149,7 @@ partitions {
* partitions: this device uses SEAMA.
*/
firmware@0 {
compatible = "seama";
label = "firmware";
reg = <0x00000000 0x08000000>;
};

View File

@ -279,7 +279,7 @@ partition@80000 {
reg = <0x080000 0x0100000>;
};
partition@180000{
partition@180000 {
label = "devinfo";
reg = <0x0180000 0x080000>;
};

View File

@ -64,6 +64,43 @@ &gmac0 {
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 {
status = "okay";
};

View File

@ -81,6 +81,42 @@ &gmac0 {
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 {
vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
};

View File

@ -55,7 +55,7 @@ partition@80000 {
reg = <0x0080000 0x0100000>;
};
partition@180000{
partition@180000 {
label = "phicomm";
reg = <0x0180000 0x0280000>;
read-only;

View File

@ -26,7 +26,6 @@ leds {
led-wlan {
label = "bcm53xx:blue:wlan";
gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
linux,default-trigger = "default-off";
};
led-system {
@ -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";
};

View File

@ -26,7 +26,6 @@ leds-0 {
led-5ghz {
label = "bcm53xx:blue:5ghz";
gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-off";
};
led-system {
@ -42,7 +41,6 @@ leds-1 {
led-2ghz {
label = "bcm53xx:blue:2ghz";
gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-off";
};
};
@ -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";
};

View File

@ -111,34 +111,27 @@ &switch {
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>;
port@8 {
label = "cpu";
ethernet = <&gmac0>;
};
};
};

View File

@ -127,6 +127,9 @@ uart0: serial@300 {
pcie0: pcie@2000 {
reg = <0x00002000 0x1000>;
#address-cells = <3>;
#size-cells = <2>;
};
usb2: usb2@4000 {
@ -156,8 +159,6 @@ ehci_port2: port@2 {
};
ohci: usb@d000 {
#usb-cells = <0>;
compatible = "generic-ohci";
reg = <0xd000 0x1000>;
interrupt-parent = <&gic>;
@ -180,6 +181,12 @@ ohci_port2: port@2 {
gmac0: ethernet@5000 {
reg = <0x5000 0x1000>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
mdio {
#address-cells = <1>;
@ -191,10 +198,44 @@ switch: switch@1e {
status = "disabled";
/* ports are defined in board DTS */
ports {
#address-cells = <1>;
#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 {
gmac1: ethernet@b000 {
reg = <0xb000 0x1000>;
phy-mode = "internal";
fixed-link {
speed = <1000>;
full-duplex;
};
};
pmu@12000 {

View File

@ -60,9 +60,9 @@ button-wps {
spi {
compatible = "spi-gpio";
num-chipselects = <1>;
gpio-sck = <&chipcommon 21 0>;
gpio-miso = <&chipcommon 22 0>;
gpio-mosi = <&chipcommon 23 0>;
sck-gpios = <&chipcommon 21 0>;
miso-gpios = <&chipcommon 22 0>;
mosi-gpios = <&chipcommon 23 0>;
cs-gpios = <&chipcommon 24 0>;
#address-cells = <1>;
#size-cells = <0>;