/dts-v1/;
-/include/ "vr9.dtsi"
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
/ {
model = "BTHOMEHUBV5A - BT Home Hub 5A";
chosen {
- bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_blue;
+
+ led-internet = &broadband_blue;
+ led-wifi = &wireless_blue;
};
memory@0 {
compatible = "gen_nand", "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
- reg = <0 0x0 0x2000000>;
+ reg = <0x1 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
+ nand-on-flash-bbt;
+ nand-ecc-strength = <3>;
+ nand-ecc-step-size = <256>;
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x40000>;
- read-only;
- };
- partition@40000 {
- label = "uboot-env";
- reg = <0x40000 0x40000>;
- };
- caldata: partition@80000 {
- label = "caldata";
- reg = <0x80000 0x20000>;
- read-only;
- };
- partition@a0000 {
- label = "kernel";
- reg = <0xa0000 0x200000>;
- };
- partition@2a0000 {
- label = "ubi";
- reg = <0x2a0000 0x7d60000>;
+ 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
+ */
};
};
};
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
- interrupt-parent = <&icu0>;
- interrupts = <166 135 66 40 41 42 38>;
-
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
};
};
- eth@E108000 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "lantiq,xrx200-net";
- reg = < 0xE108000 0x3000 /* switch */
- 0xE10B100 0x70 /* mdio */
- 0xE10B1D8 0x30 /* mii */
- 0xE10B308 0x30 >; /* pmac */
- interrupt-parent = <&icu0>;
- interrupts = <73 72>;
-
- lan: interface@0 {
- compatible = "lantiq,xrx200-pdi";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0>;
- mtd-mac-address = <&caldata 0x110c>;
- 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>;
- };
- };
-
- wan: interface@1 {
- compatible = "lantiq,xrx200-pdi";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <1>;
- mtd-mac-address = <&caldata 0x110c>;
- mtd-mac-address-increment = <4>;
- lantiq,wan;
-
- ethernet@5 {
- compatible = "lantiq,xrx200-pdi-port";
- reg = <5>;
- phy-mode = "rgmii";
- phy-handle = <&phy5>;
- };
- };
-
- mdio@0 {
- #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";
- };
- };
- };
-
ifxhcd@E101000 {
status = "okay";
- gpios = <&gpio 33 0>;
- };
-
- pci@E105400 {
- status = "okay";
- lantiq,bus-clock = <33333333>;
- interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
- interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
- gpio-reset = <&gpio 21 0>;
+ gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
};
};
phys = [ 00 01 ];
};
- ath9k_eep {
- compatible = "ath9k,eeprom";
- ath,eep-flash = <&caldata 0x1000>;
- ath,mac-offset = <0x110c>;
- ath,mac-increment = <2>;
- ath,pci-slot = <0xe>; /* 14 */
- };
-
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
reset {
label = "reset";
- gpios = <&gpio 2 1>;
- linux,code = <0x198>;
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
- gpios = <&gpio 25 1>;
- linux,code = <0x211>;
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
};
restart {
label = "restart";
- gpios = <&gpio 39 1>;
- linux,code = <0x198>;
+ gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_POWER>;
};
};
gpio-leds {
compatible = "gpio-leds";
+ /* broadband-* is a single RGB led */
broadband-red {
- label = "soc:red:broadband";
- gpios = <&gpio 0 1>;
+ label = "bthomehubv5a:red:broadband";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
broadband-green {
- label = "soc:green:broadband";
- gpios = <&gpio 3 1>;
+ label = "bthomehubv5a:green:broadband";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
- broadband-blue {
- label = "soc:blue:broadband";
- gpios = <&gpio 8 1>;
+ broadband_blue: broadband-blue {
+ label = "bthomehubv5a:blue:broadband";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
+ /* wireless-* is a single RGB led */
wireless-red {
- label = "soc:red:wireless";
- gpios = <&gpio 9 1>;
+ label = "bthomehubv5a:red:wireless";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
wireless-green {
- label = "soc:green:wireless";
- gpios = <&gpio 10 1>;
+ label = "bthomehubv5a:green:wireless";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
};
- wireless-blue {
- label = "soc:blue:wireless";
- gpios = <&gpio 11 1>;
+ wireless_blue: wireless-blue {
+ label = "bthomehubv5a:blue:wireless";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
- power-red {
- label = "soc:red:power";
- gpios = <&gpio 12 1>;
+ /* power-* is a single RGB led */
+ power_red: power-red {
+ label = "bthomehubv5a:red:power";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
- power-green {
- label = "soc:green:power";
- gpios = <&gpio 14 1>;
+ power_green: power-green {
+ label = "bthomehubv5a:green:power";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
};
- power-blue {
- label = "soc:blue:power";
- gpios = <&gpio 15 1>;
+ power_blue: power-blue {
+ label = "bthomehubv5a:blue:power";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
dimmed {
label = "dimmed";
- gpios = <&gpio 19 0>;
+ gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&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;
+ };
+};
+
+ð0 {
+ 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@0 {
+ #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";
};
};
};