aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts')
-rw-r--r--target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts283
1 files changed, 283 insertions, 0 deletions
diff --git a/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts b/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts
new file mode 100644
index 0000000000..f6a2d9f6a7
--- /dev/null
+++ b/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts
@@ -0,0 +1,283 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "bt,homehub-v5a", "lantiq,xway", "lantiq,vr9";
+ model = "BT Home Hub 5A";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+ led-upgrade = &power_blue;
+
+ led-dsl = &broadband_blue;
+ led-wifi = &wireless_blue;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ restart {
+ label = "restart";
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER2>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ /* broadband-* is a single RGB led */
+ broadband-red {
+ label = "bthomehubv5a:red:broadband";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ };
+ broadband-green {
+ label = "bthomehubv5a:green:broadband";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ };
+ broadband_blue: broadband-blue {
+ label = "bthomehubv5a:blue:broadband";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+
+ /* wireless-* is a single RGB led */
+ wireless-red {
+ label = "bthomehubv5a:red:wireless";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+ wireless-green {
+ label = "bthomehubv5a:green:wireless";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+ };
+ wireless_blue: wireless-blue {
+ label = "bthomehubv5a:blue:wireless";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ };
+
+ /* power-* is a single RGB led */
+ power_red: power-red {
+ label = "bthomehubv5a:red:power";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ };
+ power_green: power-green {
+ label = "bthomehubv5a:green:power";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ power_blue: power-blue {
+ label = "bthomehubv5a:blue:power";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+
+ dimmed {
+ label = "dimmed";
+ gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ usb_vbus: regulator-usb-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&eth0 {
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ lantiq,switch;
+
+ ethernet@0 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <0>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ };
+ ethernet@1 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <1>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy1>;
+ };
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "gmii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "gmii";
+ phy-handle = <&phy13>;
+ };
+ ethernet@5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ phy-mode = "rgmii";
+ phy-handle = <&phy5>;
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0x0>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy1: ethernet-phy@1 {
+ reg = <0x1>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy5: ethernet-phy@5 {
+ reg = <0x5>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+};
+
+&gphy0 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+ lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ pcie_rst {
+ lantiq,pins = "io38";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ usb_vbus {
+ lantiq,pins = "io33";
+ lantiq,pull = <0>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ };
+};
+
+&localbus {
+ flash@1 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs = <1>;
+ bank-width = <2>;
+ reg = <0x1 0x0 0x2000000>;
+
+ pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
+ pinctrl-names = "default";
+
+ nand-on-flash-bbt;
+ nand-ecc-strength = <3>;
+ nand-ecc-step-size = <256>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0xa0000>;
+ read-only;
+ };
+ partition@a0000 {
+ label = "uboot-env";
+ reg = <0xa0000 0x20000>;
+ read-only;
+ };
+ partition@c0000 {
+ label = "unused";
+ reg = <0xc0000 0x40000>;
+ };
+ partition@100000 {
+ label = "ubi";
+ reg = <0x100000 0x7e80000>;
+ };
+ /*
+ * last 512 KiB are for the bad block table, not writable
+ */
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
+ wifi@168c,002d {
+ compatible = "pci168c,002d";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ qca,disable-5ghz;
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <&usb_vbus>;
+};