Use hardware controller instead of spi-gpio to control de 74hc serial LEDs Signed-off-by: Álvaro Fernández Rojas <nolt...@gmail.com> --- target/linux/brcm63xx/dts/bcm6318.dtsi | 10 ++ target/linux/brcm63xx/dts/bcm63268.dtsi | 10 ++ target/linux/brcm63xx/dts/bcm6328.dtsi | 10 ++ target/linux/brcm63xx/dts/bcm6358.dtsi | 10 ++ target/linux/brcm63xx/dts/bcm6362.dtsi | 10 ++ target/linux/brcm63xx/dts/bcm6368.dtsi | 10 ++ target/linux/brcm63xx/dts/ct-6373.dts | 61 +++++------- target/linux/brcm63xx/dts/homehub2a.dts | 162 +++++++++++++++---------------- target/linux/brcm63xx/dts/nb4-fxc-r1.dts | 61 +++++------- target/linux/brcm63xx/dts/nb4-ser-r0.dts | 61 +++++------- 10 files changed, 213 insertions(+), 192 deletions(-)
diff --git a/target/linux/brcm63xx/dts/bcm6318.dtsi b/target/linux/brcm63xx/dts/bcm6318.dtsi index f851a9c..4b70d53 100644 --- a/target/linux/brcm63xx/dts/bcm6318.dtsi +++ b/target/linux/brcm63xx/dts/bcm6318.dtsi @@ -6,6 +6,7 @@ aliases { gpio0 = &gpio0; gpio1 = &gpio1; + leds0 = &leds0; }; cpus { @@ -74,5 +75,14 @@ gpio-controller; #gpio-cells = <2>; }; + + leds0: led-controller@10000200 { + compatible = "brcm,bcm6328-leds"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10000200 0x24>; + + status = "disabled"; + }; }; }; diff --git a/target/linux/brcm63xx/dts/bcm63268.dtsi b/target/linux/brcm63xx/dts/bcm63268.dtsi index 0a1f8b1..a0e3472 100644 --- a/target/linux/brcm63xx/dts/bcm63268.dtsi +++ b/target/linux/brcm63xx/dts/bcm63268.dtsi @@ -6,6 +6,7 @@ aliases { gpio0 = &gpio0; gpio1 = &gpio1; + leds0 = &leds0; }; cpus { @@ -81,5 +82,14 @@ gpio-controller; #gpio-cells = <2>; }; + + leds0: led-controller@10001900 { + compatible = "brcm,bcm6328-leds"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10001900 0x24>; + + status = "disabled"; + }; }; }; diff --git a/target/linux/brcm63xx/dts/bcm6328.dtsi b/target/linux/brcm63xx/dts/bcm6328.dtsi index a0b1316..d570e06 100644 --- a/target/linux/brcm63xx/dts/bcm6328.dtsi +++ b/target/linux/brcm63xx/dts/bcm6328.dtsi @@ -5,6 +5,7 @@ aliases { gpio0 = &gpio0; + leds0 = &leds0; }; cpus { @@ -63,5 +64,14 @@ gpio-controller; #gpio-cells = <2>; }; + + leds0: led-controller@10000800 { + compatible = "brcm,bcm6328-leds"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10000800 0x24>; + + status = "disabled"; + }; }; }; diff --git a/target/linux/brcm63xx/dts/bcm6358.dtsi b/target/linux/brcm63xx/dts/bcm6358.dtsi index bc3784a..fee3285 100644 --- a/target/linux/brcm63xx/dts/bcm6358.dtsi +++ b/target/linux/brcm63xx/dts/bcm6358.dtsi @@ -7,6 +7,7 @@ pflash = &pflash; gpio0 = &gpio0; gpio1 = &gpio1; + leds0 = &leds0; }; cpus { @@ -103,5 +104,14 @@ gpio-controller; #gpio-cells = <2>; }; + + leds0: led-controller@fffe00d0 { + compatible = "brcm,bcm6358-leds"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfffe00d0 0x8>; + + status = "disabled"; + }; }; }; diff --git a/target/linux/brcm63xx/dts/bcm6362.dtsi b/target/linux/brcm63xx/dts/bcm6362.dtsi index 6604f5c..d58ae58 100644 --- a/target/linux/brcm63xx/dts/bcm6362.dtsi +++ b/target/linux/brcm63xx/dts/bcm6362.dtsi @@ -6,6 +6,7 @@ aliases { gpio0 = &gpio0; gpio1 = &gpio1; + leds0 = &leds0; }; cpus { @@ -81,5 +82,14 @@ gpio-controller; #gpio-cells = <2>; }; + + leds0: led-controller@10001904 { + compatible = "brcm,bcm6328-leds"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10001900 0x24>; + + status = "disabled"; + }; }; }; diff --git a/target/linux/brcm63xx/dts/bcm6368.dtsi b/target/linux/brcm63xx/dts/bcm6368.dtsi index 7dbe9ec..958ee48 100644 --- a/target/linux/brcm63xx/dts/bcm6368.dtsi +++ b/target/linux/brcm63xx/dts/bcm6368.dtsi @@ -7,6 +7,7 @@ pflash = &pflash; gpio0 = &gpio0; gpio1 = &gpio1; + leds0 = &leds0; }; cpus { @@ -93,6 +94,15 @@ gpio-controller; #gpio-cells = <2>; }; + + leds0: led-controller@100000d0 { + compatible = "brcm,bcm6358-leds"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x100000d0 0x8>; + + status = "disabled"; + }; }; pflash: nor@18000000 { diff --git a/target/linux/brcm63xx/dts/ct-6373.dts b/target/linux/brcm63xx/dts/ct-6373.dts index d6f0f8b..3aac3eb 100644 --- a/target/linux/brcm63xx/dts/ct-6373.dts +++ b/target/linux/brcm63xx/dts/ct-6373.dts @@ -8,26 +8,6 @@ model = "Comtrend CT-6373"; compatible = "comtrend,ct-6373", "brcm,bcm6358"; - spi-gpio { - #address-cells = <1>; - #size-cells = <1>; - compatible = "spi-gpio"; - - gpio-mosi = <&gpio0 7 0>; - gpio-sck = <&gpio0 6 0>; - num-chipselects = <0>; - - hc595: gpio-spi-controller@0 { - compatible = "fairchild,74hc595"; - reg = <0>; - registers-number = <1>; - spi-max-frequency = <100000>; - - gpio-controller; - #gpio-cells = <2>; - }; - }; - gpio-keys-polled { compatible = "gpio-keys-polled"; #address-cells = <1>; @@ -58,22 +38,31 @@ label = "CT6373-1:green:wlan"; gpios = <&gpio0 9 1>; }; - dsl_green { - label = "CT6373-1:green:adsl"; - gpios = <&hc595 0 1>; - }; - line_green { - label = "CT6373-1:green:line"; - gpios = <&hc595 1 1>; - }; - fxs1_green { - label = "CT6373-1:green:fxs1"; - gpios = <&hc595 2 1>; - }; - fxs2_green { - label = "CT6373-1:green:fxs2"; - gpios = <&hc595 3 1>; - }; + }; +}; + +&leds0 { + status = "ok"; + + dsl_green@0 { + reg = <0>; + active-low; + label = "CT6373-1:green:adsl"; + }; + line_green@1 { + reg = <1>; + active-low; + label = "CT6373-1:green:line"; + }; + fxs1_green@2 { + reg = <2>; + active-low; + label = "CT6373-1:green:fxs1"; + }; + fxs2_green@3 { + reg = <3>; + active-low; + label = "CT6373-1:green:fxs2"; }; }; diff --git a/target/linux/brcm63xx/dts/homehub2a.dts b/target/linux/brcm63xx/dts/homehub2a.dts index 9e7ce2f..9d1dfca 100644 --- a/target/linux/brcm63xx/dts/homehub2a.dts +++ b/target/linux/brcm63xx/dts/homehub2a.dts @@ -8,27 +8,6 @@ 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>; @@ -52,71 +31,86 @@ linux,code = <KEY_WPS_BUTTON>; }; }; +}; - gpio-leds { - compatible = "gpio-leds"; +&leds0 { + status = "ok"; - 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>; - }; + power_red@0 { + reg = <0>; + active-low; + label = "HOMEHUB2A:red:power"; + }; + power_green@1 { + reg = <1>; + active-low; + label = "HOMEHUB2A:green:power"; + default-state = "on"; + }; + power_blue@2 { + reg = <2>; + active-low; + label = "HOMEHUB2A:blue:power"; + }; + broadband_red@3 { + reg = <3>; + active-low; + label = "HOMEHUB2A:red:broadband"; + }; + broadband_green@4 { + reg = <4>; + active-low; + label = "HOMEHUB2A:green:broadband"; + }; + broadband_blue@5 { + reg = <5>; + active-low; + label = "HOMEHUB2A:blue:broadband"; + }; + wireless_red@6 { + reg = <6>; + active-low; + label = "HOMEHUB2A:red:wireless"; + }; + wireless_green@7 { + reg = <7>; + active-low; + label = "HOMEHUB2A:green:wireless"; + }; + wireless_blue@8 { + reg = <8>; + active-low; + label = "HOMEHUB2A:blue:wireless"; + }; + phone_red@9 { + reg = <9>; + active-low; + label = "HOMEHUB2A:red:phone"; + }; + phone_green@10 { + reg = <10>; + active-low; + label = "HOMEHUB2A:green:phone"; + }; + phone_blue@11 { + reg = <11>; + active-low; + label = "HOMEHUB2A:blue:phone"; + }; + upgrading_red@12 { + reg = <12>; + active-low; + label = "HOMEHUB2A:red:upgrading"; + }; + upgrading_green@13 { + reg = <13>; + active-low; + label = "HOMEHUB2A:green:upgrading"; + }; + upgrading_blue@14 { + reg = <14>; + active-low; + label = "HOMEHUB2A:blue:upgrading"; }; }; diff --git a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts index 65f26c7..0324b77 100644 --- a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts +++ b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts @@ -8,26 +8,6 @@ model = "SFR Neuf Box 4 (Foxconn)"; compatible = "sfr,nb4-fxc-r1", "brcm,bcm6358"; - spi-gpio { - #address-cells = <1>; - #size-cells = <1>; - compatible = "spi-gpio"; - - gpio-mosi = <&gpio0 7 0>; - gpio-sck = <&gpio0 6 0>; - num-chipselects = <0>; - - hc595: gpio-spi-controller@0 { - compatible = "fairchild,74hc595"; - reg = <0>; - registers-number = <1>; - spi-max-frequency = <100000>; - - gpio-controller; - #gpio-cells = <2>; - }; - }; - gpio-keys-polled { compatible = "gpio-keys-polled"; #address-cells = <1>; @@ -80,21 +60,30 @@ label = "NB4-FXC-r1:green:service"; gpios = <&gpio0 30 0>; }; - alarm_white { - label = "NB4-FXC-r1:white:alarm"; - gpios = <&hc595 0 1>; - }; - tv_white { - label = "NB4-FXC-r1:white:tv"; - gpios = <&hc595 2 1>; - }; - tel_white { - label = "NB4-FXC-r1:white:tel"; - gpios = <&hc595 3 1>; - }; - adsl_white { - label = "NB4-FXC-r0:white:adsl"; - gpios = <&hc595 4 1>; - }; + }; +}; + +&leds0 { + status = "ok"; + + alarm_white@0 { + reg = <0>; + active-low; + label = "NB4-FXC-r1:white:alarm"; + }; + tv_white@2 { + reg = <2>; + active-low; + label = "NB4-FXC-r1:white:tv"; + }; + tel_white@3 { + reg = <3>; + active-low; + label = "NB4-FXC-r1:white:tel"; + }; + adsl_white@4 { + reg = <4>; + active-low; + label = "NB4-FXC-r0:white:adsl"; }; }; diff --git a/target/linux/brcm63xx/dts/nb4-ser-r0.dts b/target/linux/brcm63xx/dts/nb4-ser-r0.dts index 1a48b72..57087d2 100644 --- a/target/linux/brcm63xx/dts/nb4-ser-r0.dts +++ b/target/linux/brcm63xx/dts/nb4-ser-r0.dts @@ -8,26 +8,6 @@ model = "SFR Neuf Box 4 (Sercomm)"; compatible = "sfr,nb4-ser-r0", "brcm,bcm6358"; - spi-gpio { - #address-cells = <1>; - #size-cells = <1>; - compatible = "spi-gpio"; - - gpio-mosi = <&gpio0 7 0>; - gpio-sck = <&gpio0 6 0>; - num-chipselects = <0>; - - hc595: gpio-spi-controller@0 { - compatible = "fairchild,74hc595"; - reg = <0>; - registers-number = <1>; - spi-max-frequency = <100000>; - - gpio-controller; - #gpio-cells = <2>; - }; - }; - gpio-keys-polled { compatible = "gpio-keys-polled"; #address-cells = <1>; @@ -80,21 +60,30 @@ label = "NB4-SER-r0:green:service"; gpios = <&gpio0 30 1>; }; - alarm_white { - label = "NB4-SER-r0:white:alarm"; - gpios = <&hc595 0 1>; - }; - tv_white { - label = "NB4-SER-r0:white:tv"; - gpios = <&hc595 2 1>; - }; - tel_white { - label = "NB4-SER-r0:white:tel"; - gpios = <&hc595 3 1>; - }; - adsl_white { - label = "NB4-SER-r0:white:adsl"; - gpios = <&hc595 4 1>; - }; + }; +}; + +&leds0 { + status = "ok"; + + alarm_white@0 { + reg = <0>; + active-low; + label = "NB4-SER-r0:white:alarm"; + }; + tv_white@2 { + reg = <2>; + active-low; + label = "NB4-SER-r0:white:tv"; + }; + tel_white@3 { + reg = <3>; + active-low; + label = "NB4-SER-r0:white:tel"; + }; + adsl_white@4 { + reg = <4>; + active-low; + label = "NB4-SER-r0:white:adsl"; }; }; -- 1.9.1 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel