mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
arm64: dts: broadcom: bcmbca: bcm4908: Add DT for Zyxel EX3510-B
Zyxel EX3510-B is a WiFi 6 capable home gateway (family) based on the
BCM4906 SoC, with 512MiB of RAM and 512MiB of NAND flash. WiFi support
consists of a BCM6710 and a BCM6715 attached to separate PCIe buses.
Add an initial devicetree for this system, with support for:
- Onboard UART (per base dtsi)
- USB (2.0 only; superspeed devices are treated as high-speed due to an
unknown cause)
- Both buttons (rear reset, front WPS)
- Almost all LEDs:
- Power (red/green)
- Internet (red/green)
- WAN (green)
- LAN (green; anode is connected to GPIO 13 so currently
nonfunctioning)
- USB (green)
- WPS button (red/green)
- Absent in DT: There are 2.4GHz/5.0GHz WiFi status LEDs connected to
the WiFi chips instead of the SoC.
- NAND flash
- Embedded Ethernet switch
- Factory-programmed Ethernet MAC address
WiFi cannot be enabled at this time due to Linux lacking drivers for
both the PCIe controllers and the PCIe WiFi peripherals.
Signed-off-by: Sam Edwards <CFSworks@gmail.com>
Link: https://lore.kernel.org/r/20241009215454.1449508-3-CFSworks@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
This commit is contained in:
parent
0828ed4d9b
commit
5c1ae7729e
|
|
@ -2,6 +2,7 @@
|
|||
dtb-$(CONFIG_ARCH_BCMBCA) += \
|
||||
bcm4906-netgear-r8000p.dtb \
|
||||
bcm4906-tplink-archer-c2300-v1.dtb \
|
||||
bcm4906-zyxel-ex3510b.dtb \
|
||||
bcm4908-asus-gt-ac5300.dtb \
|
||||
bcm4908-netgear-raxe500.dtb \
|
||||
bcm94908.dtb \
|
||||
|
|
|
|||
196
arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-zyxel-ex3510b.dts
Normal file
196
arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-zyxel-ex3510b.dts
Normal file
|
|
@ -0,0 +1,196 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
#include "bcm4906.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "zyxel,ex3510b", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
|
||||
model = "Zyxel EX3510-B";
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x20000000>;
|
||||
};
|
||||
|
||||
gpio-keys-polled {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <100>;
|
||||
|
||||
key-wps {
|
||||
label = "WPS";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
key-reset {
|
||||
label = "Reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&leds {
|
||||
pinctrl-0 = <&pins_led_0_a>, <&pins_led_2_a>, <&pins_led_3_a>,
|
||||
<&pins_led_4_a>, <&pins_led_10_a>, <&pins_led_12_a>,
|
||||
<&pins_led_14_a>, <&pins_led_15_a>, <&pins_led_21_a>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
led@0 {
|
||||
reg = <0x0>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <0x2>;
|
||||
function = LED_FUNCTION_WAN_ONLINE;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
};
|
||||
|
||||
led@3 {
|
||||
reg = <0x3>;
|
||||
function = LED_FUNCTION_WAN_ONLINE;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
|
||||
led@4 {
|
||||
reg = <0x4>;
|
||||
function = LED_FUNCTION_USB;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
trigger-sources = <&ohci_port1>, <&ohci_port2>,
|
||||
<&ehci_port1>, <&ehci_port2>,
|
||||
<&xhci_port1>, <&xhci_port2>;
|
||||
linux,default-trigger = "usbport";
|
||||
};
|
||||
|
||||
led@a {
|
||||
reg = <0xa>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
linux,default-trigger = "default-on";
|
||||
};
|
||||
|
||||
led@c {
|
||||
reg = <0xc>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
active-low;
|
||||
};
|
||||
|
||||
led@e {
|
||||
reg = <0xe>;
|
||||
function = LED_FUNCTION_WPS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
active-low;
|
||||
};
|
||||
|
||||
led@f {
|
||||
reg = <0xf>;
|
||||
function = LED_FUNCTION_WPS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
active-low;
|
||||
};
|
||||
|
||||
led@15 {
|
||||
reg = <0x15>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
active-low;
|
||||
};
|
||||
};
|
||||
|
||||
&enet {
|
||||
nvmem-cells = <&base_mac_addr>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&usb_phy {
|
||||
brcm,ioc = <1>;
|
||||
brcm,ipp = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&xhci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ports {
|
||||
port@0 {
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
port@3 {
|
||||
label = "lan4";
|
||||
};
|
||||
|
||||
port@7 {
|
||||
reg = <7>;
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy12>;
|
||||
label = "wan";
|
||||
};
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&nandcs {
|
||||
brcm,nand-oob-sector-size = <27>;
|
||||
nand-ecc-strength = <8>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-on-flash-bbt;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
partitions {
|
||||
compatible = "brcm,bcm4908-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
compatible = "nvmem-cells";
|
||||
label = "cferom";
|
||||
reg = <0x0 0x100000>;
|
||||
read-only;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
base_mac_addr: mac@106a0 {
|
||||
reg = <0x106a0 0x6>;
|
||||
};
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
compatible = "brcm,bcm4908-firmware";
|
||||
reg = <0x100000 0x5f80000>;
|
||||
};
|
||||
|
||||
partition@6080000 {
|
||||
compatible = "brcm,bcm4908-firmware";
|
||||
reg = <0x6080000 0x5f80000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user