aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bmips/dts
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2023-03-22 20:10:01 +0100
committerÁlvaro Fernández Rojas <noltari@gmail.com>2023-03-22 20:57:07 +0100
commit6df12200d903338d36008cb207a41bd456346b5d (patch)
tree79b12e64b5cb36414a1babaeabb40ff44af38811 /target/linux/bmips/dts
parentcc07d1d2fd3662611e2044c9fc514f7f756ebd6d (diff)
downloadupstream-6df12200d903338d36008cb207a41bd456346b5d.tar.gz
upstream-6df12200d903338d36008cb207a41bd456346b5d.tar.bz2
upstream-6df12200d903338d36008cb207a41bd456346b5d.zip
bmips: add support for Sercomm H-500s
Sercomm H-500s is a BCM63268 with 128M, internal and external (Quantenna) wifi and external BCM53134S switch. This device is already supported in bcm63xx target, so more information can be found in https://openwrt.org/toh/sercomm/h500-s. It's a perfect example of a device with internal and external switch coexistance since most devices only have ports on one of the switches but not both of them. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bmips/dts')
-rw-r--r--target/linux/bmips/dts/bcm63167-sercomm-h500-s-lowi.dts8
-rw-r--r--target/linux/bmips/dts/bcm63167-sercomm-h500-s-vfes.dts8
-rw-r--r--target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi298
3 files changed, 314 insertions, 0 deletions
diff --git a/target/linux/bmips/dts/bcm63167-sercomm-h500-s-lowi.dts b/target/linux/bmips/dts/bcm63167-sercomm-h500-s-lowi.dts
new file mode 100644
index 0000000000..c0ad03fa22
--- /dev/null
+++ b/target/linux/bmips/dts/bcm63167-sercomm-h500-s-lowi.dts
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "bcm63167-sercomm-h500-s.dtsi"
+
+/ {
+ model = "Sercomm H500-s lowi";
+ compatible = "sercomm,h500-s-lowi", "brcm,bcm63167", "brcm,bcm63268";
+};
diff --git a/target/linux/bmips/dts/bcm63167-sercomm-h500-s-vfes.dts b/target/linux/bmips/dts/bcm63167-sercomm-h500-s-vfes.dts
new file mode 100644
index 0000000000..830a5cba14
--- /dev/null
+++ b/target/linux/bmips/dts/bcm63167-sercomm-h500-s-vfes.dts
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "bcm63167-sercomm-h500-s.dtsi"
+
+/ {
+ model = "Sercomm H500-s vfes";
+ compatible = "sercomm,h500-s-vfes", "brcm,bcm63167", "brcm,bcm63268";
+};
diff --git a/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi b/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi
new file mode 100644
index 0000000000..c7edad8342
--- /dev/null
+++ b/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi
@@ -0,0 +1,298 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "bcm63268.dtsi"
+
+/ {
+ aliases {
+ led-boot = &led_power_green;
+ led-failsafe = &led_power_red;
+ led-running = &led_power_green;
+ led-upgrade = &led_power_green;
+
+ led-internet = &led_internet_green;
+ led-usb = &led_mobile_green;
+ led-wireless = &led_wireless_green;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <20>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ debounce-interval = <60>;
+ };
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ debounce-interval = <60>;
+ };
+ };
+};
+
+&ehci {
+ status = "okay";
+};
+
+&ethernet {
+ status = "okay";
+
+ nvmem-cells = <&macaddr_cferom_6a0>;
+ nvmem-cell-names = "mac-address";
+};
+
+&leds {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_leds>;
+
+ led@0 {
+ reg = <0>;
+ label = "red:mobile";
+ };
+
+ led_mobile_green: led@1 {
+ reg = <1>;
+ label = "green:mobile";
+ };
+
+ led_power_red: led@8 {
+ reg = <8>;
+ label = "red:power";
+ };
+
+ led_wireless_green: led@9 {
+ reg = <9>;
+ label = "green:wifi";
+ };
+
+ led@12 {
+ reg = <12>;
+ label = "red:phone";
+ };
+
+ led@13 {
+ reg = <13>;
+ label = "red:wifi";
+ };
+
+ led@14 {
+ reg = <14>;
+ label = "red:internet";
+ };
+
+ led_internet_green: led@15 {
+ reg = <15>;
+ label = "green:internet";
+ };
+
+ led@16 {
+ reg = <16>;
+ label = "green:phone";
+ };
+
+ led_power_green: led@17 {
+ reg = <17>;
+ label = "green:power";
+ };
+
+ led@23 {
+ reg = <23>;
+ label = "blue:mobile";
+ };
+};
+
+&mdio_int {
+ phy12: ethernet-phy@c {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <12>;
+ };
+};
+
+&mdio_ext {
+ switch@1e {
+ compatible = "brcm,bcm53134";
+ reg = <30>;
+
+ dsa,member = <1 0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ label = "lan3";
+ };
+
+ port@2 {
+ reg = <2>;
+ label = "lan2";
+ };
+
+ port@3 {
+ reg = <3>;
+ label = "lan1";
+ };
+
+ port@5 {
+ reg = <5>;
+ label = "wifi";
+
+ phy-mode = "rgmii";
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+
+ port@8 {
+ reg = <8>;
+
+ phy-mode = "rgmii";
+ ethernet = <&switch0port4>;
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
+};
+
+&nflash {
+ status = "okay";
+
+ nandcs@0 {
+ compatible = "brcm,nandcs";
+ reg = <0>;
+ nand-ecc-step-size = <512>;
+ nand-ecc-strength = <4>;
+ nand-on-flash-bbt;
+ brcm,nand-oob-sector-size = <64>;
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ cferom: partition@0 {
+ label = "cferom";
+ reg = <0x0000000 0x0020000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "part_map";
+ reg = <0x0020000 0x00a0000>;
+ read-only;
+ };
+
+ partition@c0000 {
+ label = "cferam1";
+ reg = <0x00c0000 0x0140000>;
+ read-only;
+ };
+
+ partition@200000 {
+ label = "cferam2";
+ reg = <0x0200000 0x0140000>;
+ read-only;
+ };
+
+ partition@6920000 {
+ label = "bootflag1";
+ reg = <0x6920000 0x0140000>;
+ };
+
+ partition@6a60000 {
+ label = "bootflag2";
+ reg = <0x6a60000 0x0140000>;
+ };
+
+ partition@520000 {
+ compatible = "sercomm,wfi";
+ label = "wfi";
+ reg = <0x0520000 0x6400000>;
+ };
+
+ partition@6ba0000 {
+ label = "xml_cfg";
+ reg = <0x6ba0000 0x0280000>;
+ read-only;
+ };
+
+ partition@6e20000 {
+ label = "app_data";
+ reg = <0x6e20000 0x0280000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&ohci {
+ status = "okay";
+};
+
+&switch0 {
+ dsa,member = <0 0>;
+
+ ports {
+ port@3 {
+ reg = <3>;
+ label = "wan";
+
+ phy-handle = <&phy12>;
+ };
+
+ switch0port4: port@4 {
+ reg = <4>;
+ label = "extsw";
+
+ phy-mode = "rgmii-txid";
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+};
+
+&pinctrl {
+ pinctrl_leds: leds {
+ function = "led";
+ pins = "gpio0", "gpio1", "gpio8", "gpio9",
+ "gpio12", "gpio13", "gpio14", "gpio15",
+ "gpio16", "gpio17", "gpio23";
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&usbh {
+ status = "okay";
+};
+
+&cferom {
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_cferom_6a0: macaddr@6a0 {
+ reg = <0x6a0 0x6>;
+ };
+};