]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: BCM5301X: Add support for Buffalo WXR-1750DHP
authorTaishi Shimizu <s.taishi14142@gmail.com>
Sun, 13 Jul 2025 07:18:25 +0000 (16:18 +0900)
committerFlorian Fainelli <florian.fainelli@broadcom.com>
Wed, 3 Sep 2025 20:47:46 +0000 (13:47 -0700)
Add initial device tree support for the Buffalo WXR-1750DHP, a consumer Wi-Fi
router based on the Broadcom BCM4708A0 SoC.

Hardware specifications:
* Processor: Broadcom BCM4708A0 dual-core @ 800 MHz
* RAM: DDR3 256 MB
* Ethernet Switch: Broadcom BCM53011 integrated via SRAB
* NAND Flash: 128 MB (8-bit ECC)
* SPI Flash: None
* Ports: 4 LAN Ports, 1 WAN Port
* USB: 1x USB 3.0 Type-A port

Signed-off-by: Taishi Shimizu <s.taishi14142@gmail.com>
Link: https://lore.kernel.org/r/20250713071826.726682-3-s.taishi14142@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
arch/arm/boot/dts/broadcom/Makefile
arch/arm/boot/dts/broadcom/bcm4708-buffalo-wxr-1750dhp.dts [new file with mode: 0644]

index 71062ff9adbe07ee043d00ac00e12b64f5c464d1..2552e11b5e3121b197f15bf5c8824c3f382c7593 100644 (file)
@@ -51,6 +51,7 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \
 dtb-$(CONFIG_ARCH_BCM_5301X) += \
        bcm4708-asus-rt-ac56u.dtb \
        bcm4708-asus-rt-ac68u.dtb \
+       bcm4708-buffalo-wxr-1750dhp.dtb \
        bcm4708-buffalo-wzr-1750dhp.dtb \
        bcm4708-buffalo-wzr-1166dhp.dtb \
        bcm4708-buffalo-wzr-1166dhp2.dtb \
diff --git a/arch/arm/boot/dts/broadcom/bcm4708-buffalo-wxr-1750dhp.dts b/arch/arm/boot/dts/broadcom/bcm4708-buffalo-wxr-1750dhp.dts
new file mode 100644 (file)
index 0000000..f5c95c9
--- /dev/null
@@ -0,0 +1,138 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Author: Taishi Shimizu <s.taishi14142@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "bcm4708.dtsi"
+#include "bcm5301x-nand-cs0-bch8.dtsi"
+#include <dt-bindings/leds/common.h>
+
+/ {
+       compatible = "buffalo,wxr-1750dhp", "brcm,bcm4708";
+       model = "Buffalo WXR-1750DHP";
+
+       memory@0 {
+               reg = <0x00000000 0x08000000>,
+                     <0x88000000 0x08000000>;
+               device_type = "memory";
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               button-aoss {
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+                       label = "AOSS";
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+
+               /* GPIO 3 is a switch button with AUTO / MANUAL. */
+               button-manual {
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_HIGH>;
+                       label = "MANUAL";
+                       linux,code = <BTN_0>;
+                       linux,input-type = <EV_SW>;
+               };
+
+               button-restart {
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+                       label = "Reset";
+                       linux,code = <KEY_RESTART>;
+               };
+
+               /* GPIO 8 and 9 are a tri-state switch button with
+                * ROUTER / AP / WB.
+                */
+               button-router {
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+                       label = "ROUTER";
+                       linux,code = <BTN_1>;
+                       linux,input-type = <EV_SW>;
+               };
+
+               button-wb {
+                       gpios = <&chipcommon 9 GPIO_ACTIVE_LOW>;
+                       label = "WB";
+                       linux,code = <BTN_2>;
+                       linux,input-type = <EV_SW>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led-internet {
+                       color = <LED_COLOR_ID_WHITE>;
+                       function = "internet";
+                       gpios = <&chipcommon 7 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-power0 {
+                       color = <LED_COLOR_ID_AMBER>;
+                       function = LED_FUNCTION_POWER;
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-power1 {
+                       color = <LED_COLOR_ID_WHITE>;
+                       function = LED_FUNCTION_POWER;
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-router0 {
+                       color = <LED_COLOR_ID_AMBER>;
+                       function = "router";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-router1 {
+                       color = <LED_COLOR_ID_WHITE>;
+                       function = "router";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-usb {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_USB;
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "usbport";
+                       trigger-sources = <&xhci_port1 &ehci_port1 &ohci_port1>;
+               };
+       };
+};
+
+&srab {
+       status = "okay";
+
+       ports {
+               port@0 {
+                       label = "wan";
+               };
+
+               port@1 {
+                       label = "lan4";
+               };
+
+               port@2 {
+                       label = "lan3";
+               };
+
+               port@3 {
+                       label = "lan2";
+               };
+
+               port@4 {
+                       label = "lan1";
+               };
+       };
+};
+
+&usb3 {
+       vcc-gpio = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+};
+
+&usb3_phy {
+       status = "okay";
+};