summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/dts
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2015-03-25 15:35:12 +0000
committerJonas Gorski <jogo@openwrt.org>2015-03-25 15:35:12 +0000
commit2d3371cd0fa1bd3631633ad9c2ddd1d232d8397f (patch)
tree0d96527eccb0e68a4bddf9cf90cc07c5a057f4b4 /target/linux/brcm63xx/dts
parent065d6e9047d235ffa916dcf0ce330bfc124e2fd0 (diff)
downloadmaster-31e0f0ae-2d3371cd0fa1bd3631633ad9c2ddd1d232d8397f.tar.gz
master-31e0f0ae-2d3371cd0fa1bd3631633ad9c2ddd1d232d8397f.tar.bz2
master-31e0f0ae-2d3371cd0fa1bd3631633ad9c2ddd1d232d8397f.zip
brcm63xx: Add BT Home Hub 2A support.
Support for the BT HomeHub 2.0 Type A. This router was manufactured by Thomson, and it's BCM6358 based. The leds are controled by two chained HC594, all working ok. The BCM5325 switch has the RESET# pin wired to the GPIO15, but currently there is no way to tell the b53 driver how to get this gpio number in brcm63xx, therefore swconfig won't use it when performing a switch reset. The patch was tested with several firmwares, and all except unsupported stuff (i.e xDSL) works pretty well. Tested-by: Tahir <tahir00ali@gmail.com> Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com> SVN-Revision: 44985
Diffstat (limited to 'target/linux/brcm63xx/dts')
-rw-r--r--target/linux/brcm63xx/dts/homehub2a.dts140
1 files changed, 140 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/dts/homehub2a.dts b/target/linux/brcm63xx/dts/homehub2a.dts
new file mode 100644
index 0000000000..28de52871c
--- /dev/null
+++ b/target/linux/brcm63xx/dts/homehub2a.dts
@@ -0,0 +1,140 @@
+/dts-v1/;
+
+/include/ "bcm6358.dtsi"
+
+/ {
+ model = "BT Home Hub 2.0 Type A";
+ compatible = "thomson,homehub2a", "brcm,bcm6358";
+
+ spi-gpio {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "spi-gpio";
+
+ gpio-mosi = <&gpio0 7 0>;
+ gpio-sck = <&gpio0 6 0>;
+ cs-gpios = <&gpio0 5 0>;
+ num-chipselects = <1>;
+
+ hc595: gpio-spi-controller@0 {
+ compatible = "fairchild,74hc595";
+ reg = <0>;
+ registers-number = <2>;
+ spi-max-frequency = <100000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ phone {
+ label = "phone";
+ gpios = <&gpio0 1 1>;
+ linux,code = <169>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio0 9 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio0 11 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_red {
+ label = "HOMEHUB2A:red:power";
+ gpios = <&hc595 0 1>;
+ };
+ power_green {
+ label = "HOMEHUB2A:green:power";
+ gpios = <&hc595 1 1>;
+ default-state = "on";
+ };
+ power_blue {
+ label = "HOMEHUB2A:blue:power";
+ gpios = <&hc595 2 1>;
+ };
+ broadband_red {
+ label = "HOMEHUB2A:red:broadband";
+ gpios = <&hc595 3 1>;
+ };
+ broadband_green {
+ label = "HOMEHUB2A:green:broadband";
+ gpios = <&hc595 4 1>;
+ };
+ broadband_blue {
+ label = "HOMEHUB2A:blue:broadband";
+ gpios = <&hc595 5 1>;
+ };
+ wireless_red {
+ label = "HOMEHUB2A:red:wireless";
+ gpios = <&hc595 6 1>;
+ };
+ wireless_green {
+ label = "HOMEHUB2A:green:wireless";
+ gpios = <&hc595 7 1>;
+ };
+ wireless_blue {
+ label = "HOMEHUB2A:blue:wireless";
+ gpios = <&hc595 8 1>;
+ };
+ phone_red {
+ label = "HOMEHUB2A:red:phone";
+ gpios = <&hc595 9 1>;
+ };
+ phone_green {
+ label = "HOMEHUB2A:green:phone";
+ gpios = <&hc595 10 1>;
+ };
+ phone_blue {
+ label = "HOMEHUB2A:blue:phone";
+ gpios = <&hc595 11 1>;
+ };
+ upgrading_red {
+ label = "HOMEHUB2A:red:upgrading";
+ gpios = <&hc595 12 1>;
+ };
+ upgrading_green {
+ label = "HOMEHUB2A:green:upgrading";
+ gpios = <&hc595 13 1>;
+ };
+ upgrading_blue {
+ label = "HOMEHUB2A:blue:upgrading";
+ gpios = <&hc595 14 1>;
+ };
+ };
+};
+
+&pflash {
+ status = "ok";
+
+ linux,part-probe = "bcm63xxpart";
+
+ cfe@0 {
+ label = "CFE";
+ reg = <0x000000 0x020000>;
+ };
+
+ linux@20000 {
+ label = "linux";
+ reg = <0x020000 0xfc0000>;
+ };
+
+ nvram@fe0000 {
+ label = "nvram";
+ reg = <0xfe0000 0x020000>;
+ };
+};