From: Álvaro Fernández Rojas Date: Tue, 2 Aug 2016 14:08:20 +0000 (+0200) Subject: brcm63xx: use bcm6328 and bcm6358 LED drivers X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fnoltari.git;a=commitdiff_plain;h=refs%2Fheads%2Fbrcm63xx-pinctrl-leds brcm63xx: use bcm6328 and bcm6358 LED drivers Signed-off-by: Álvaro Fernández Rojas --- diff --git a/target/linux/brcm63xx/dts/a4001n.dts b/target/linux/brcm63xx/dts/a4001n.dts index ea9d10ae82..c6b7c8e5d5 100644 --- a/target/linux/brcm63xx/dts/a4001n.dts +++ b/target/linux/brcm63xx/dts/a4001n.dts @@ -30,30 +30,46 @@ linux,code = ; }; }; +}; - gpio-leds { - compatible = "gpio-leds"; +&leds0 { + status = "ok"; - inet_red { - label = "A4001N:red:inet"; - gpios = <&pinctrl 1 0>; - }; - power_red { - label = "A4001N:red:power"; - gpios = <&pinctrl 4 0>; - }; - power_green { - label = "A4001N:green:power"; - gpios = <&pinctrl 8 0>; - default-state = "on"; - }; - usb_green { - label = "A4001N:green:usb"; - gpios = <&pinctrl 10 1>; - }; - dsl_green { - label = "A4001N:green:dsl"; - gpios = <&pinctrl 11 1>; - }; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + inet_red@1 { + reg = <1>; + label = "A4001N:red:inet"; + }; + power_red@4 { + reg = <4>; + label = "A4001N:red:power"; + }; + inet_green@7 { + reg = <7>; + label = "A4001N:green:inet"; + }; + power_green@8 { + reg = <8>; + label = "A4001N:green:power"; + default-state = "on"; + }; + usb_green@10 { + reg = <10>; + active-low; + label = "A4001N:green:usb"; + }; + dsl_green@11 { + reg = <11>; + active-low; + label = "A4001N:green:dsl"; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio1", "gpio4", "gpio7", "gpio8", "gpio10", "gpio11"; }; }; diff --git a/target/linux/brcm63xx/dts/a4001n1.dts b/target/linux/brcm63xx/dts/a4001n1.dts index 8b2b1f4b31..b5d510650a 100644 --- a/target/linux/brcm63xx/dts/a4001n1.dts +++ b/target/linux/brcm63xx/dts/a4001n1.dts @@ -34,54 +34,75 @@ gpio-leds { compatible = "gpio-leds"; - inet_red { - label = "A4001N1:red:inet"; - gpios = <&pinctrl 2 1>; - }; - ppp_green { - label = "A4001N1:green:ppp"; - gpios = <&pinctrl 3 1>; - }; - power_green { - label = "A4001N1:green:power"; - gpios = <&pinctrl 4 1>; - default-state = "on"; - }; - ppp_red { - label = "A4001N1:red:ppp"; - gpios = <&pinctrl 5 1>; - }; - usb_green { - label = "A4001N1:green:3g"; - gpios = <&pinctrl 6 1>; - }; - usb_red { - label = "A4001N1:red:3g"; - gpios = <&pinctrl 7 1>; - }; - power_red { - label = "A4001N1:red:power"; - gpios = <&pinctrl 8 1>; - }; - wlan_green { - label = "A4001N1:green:wlan"; - gpios = <&pinctrl 9 1>; - }; - wlan_red { - label = "A4001N1:red:wlan"; - gpios = <&pinctrl 10 1>; - }; - inet_green { - label = "A4001N1:green:inet"; - gpios = <&pinctrl 11 1>; - }; - eth_red { - label = "A4001N1:red:eth"; - gpios = <&pinctrl 20 1>; - }; eth_green { label = "A4001N1:green:eth"; gpios = <&pinctrl 31 1>; }; }; }; + +&leds0 { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + inet_red@2 { + reg = <2>; + active-low; + label = "A4001N1:red:inet"; + }; + ppp_green@3 { + reg = <3>; + active-low; + label = "A4001N1:green:ppp"; + }; + power_green@4 { + reg = <4>; + active-low; + label = "A4001N1:green:power"; + default-state = "on"; + }; + ppp_red@5 { + reg = <5>; + active-low; + label = "A4001N1:red:ppp"; + }; + usb_green@6 { + reg = <6>; + active-low; + label = "A4001N1:green:3g"; + }; + usb_red@7 { + reg = <7>; + active-low; + label = "A4001N1:red:3g"; + }; + wlan_green@8 { + reg = <8>; + active-low; + label = "A4001N1:green:wlan"; + }; + wlan_red@10 { + reg = <10>; + active-low; + label = "A4001N1:red:wlan"; + }; + inet_green@11 { + reg = <11>; + active-low; + label = "A4001N1:green:inet"; + }; + eth_red@20 { + reg = <20>; + active-low; + label = "A4001N1:red:eth"; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7", "gpio8", "gpio10", "gpio11", "gpio20"; + }; +}; diff --git a/target/linux/brcm63xx/dts/ar-5381u.dts b/target/linux/brcm63xx/dts/ar-5381u.dts index d44773053f..eb1ce9d2e6 100644 --- a/target/linux/brcm63xx/dts/ar-5381u.dts +++ b/target/linux/brcm63xx/dts/ar-5381u.dts @@ -25,22 +25,35 @@ linux,code = ; }; }; +}; - gpio-leds { - compatible = "gpio-leds"; +&leds0 { + status = "ok"; - alarm_red { - label = "AR-5381u:red:alarm"; - gpios = <&pinctrl 2 1>; - }; - inet_green { - label = "AR-5381u:green:inet"; - gpios = <&pinctrl 3 1>; - }; - power_green { - label = "AR-5381u:green:power"; - gpios = <&pinctrl 4 1>; - default-state = "on"; - }; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + alarm_red@2 { + reg = <2>; + active-low; + label = "AR-5381u:red:alarm"; + }; + inet_green@3 { + reg = <3>; + active-low; + label = "AR-5381u:green:inet"; + }; + power_green@4 { + reg = <4>; + active-low; + label = "AR-5381u:green:power"; + default-state = "on"; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio2", "gpio3", "gpio4"; }; }; diff --git a/target/linux/brcm63xx/dts/ar-5387un.dts b/target/linux/brcm63xx/dts/ar-5387un.dts index 309017c534..ed0583b2b3 100644 --- a/target/linux/brcm63xx/dts/ar-5387un.dts +++ b/target/linux/brcm63xx/dts/ar-5387un.dts @@ -25,30 +25,41 @@ linux,code = ; }; }; +}; - gpio-leds { - compatible = "gpio-leds"; +&leds0 { + status = "ok"; - inet_red { - label = "AR-5387un:red:inet"; - gpios = <&pinctrl 1 0>; - }; - power_red { - label = "AR-5387un:red:power"; - gpios = <&pinctrl 4 0>; - }; - inet_green { - label = "AR-5387un:green:inet"; - gpios = <&pinctrl 7 0>; - }; - power_green { - label = "AR-5387un:green:power"; - gpios = <&pinctrl 8 0>; - default-state = "on"; - }; - dsl_green { - label = "AR-5387un:green:dsl"; - gpios = <&pinctrl 11 1>; - }; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + inet_red@1 { + reg = <1>; + label = "AR-5387un:red:inet"; + }; + power_red@4 { + reg = <4>; + label = "AR-5387un:red:power"; + }; + inet_green@7 { + reg = <7>; + label = "AR-5387un:green:inet"; + }; + power_green@8 { + reg = <8>; + label = "AR-5387un:green:power"; + default-state = "on"; + }; + dsl_green@11 { + reg = <11>; + active-low; + label = "AR-5387un:green:dsl"; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio1", "gpio4", "gpio7", "gpio8", "gpio11"; }; }; diff --git a/target/linux/brcm63xx/dts/bcm6318.dtsi b/target/linux/brcm63xx/dts/bcm6318.dtsi index 4e88e59315..c621a327ae 100644 --- a/target/linux/brcm63xx/dts/bcm6318.dtsi +++ b/target/linux/brcm63xx/dts/bcm6318.dtsi @@ -160,5 +160,14 @@ pins = "gpio40"; }; }; + + 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 003920c039..3b011c7428 100644 --- a/target/linux/brcm63xx/dts/bcm63268.dtsi +++ b/target/linux/brcm63xx/dts/bcm63268.dtsi @@ -202,5 +202,14 @@ group = "dsl_gpio9"; }; }; + + 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 6ca162dfea..18a3ab005d 100644 --- a/target/linux/brcm63xx/dts/bcm6328.dtsi +++ b/target/linux/brcm63xx/dts/bcm6328.dtsi @@ -144,5 +144,14 @@ pins = "usb_port1"; }; }; + + 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 e41bc4092f..5cc655b121 100644 --- a/target/linux/brcm63xx/dts/bcm6358.dtsi +++ b/target/linux/brcm63xx/dts/bcm6358.dtsi @@ -155,5 +155,17 @@ groups = "enet1_mii_clk"; }; }; + + leds0: led-controller@fffe00d0 { + compatible = "brcm,bcm6358-leds"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfffe00d0 0x8>; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_serial_led>; + + status = "disabled"; + }; }; }; diff --git a/target/linux/brcm63xx/dts/bcm6362.dtsi b/target/linux/brcm63xx/dts/bcm6362.dtsi index 14e319a321..ad0c33a7a8 100644 --- a/target/linux/brcm63xx/dts/bcm6362.dtsi +++ b/target/linux/brcm63xx/dts/bcm6362.dtsi @@ -229,5 +229,14 @@ group = "nand_grp"; }; }; + + 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 3464632fa1..044f3a0933 100644 --- a/target/linux/brcm63xx/dts/bcm6368.dtsi +++ b/target/linux/brcm63xx/dts/bcm6368.dtsi @@ -241,6 +241,18 @@ pins = "gpio31"; }; }; + + leds0: led-controller@100000d0 { + compatible = "brcm,bcm6358-leds"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x100000d0 0x8>; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_serial_led>; + + status = "disabled"; + }; }; pflash: nor@18000000 { diff --git a/target/linux/brcm63xx/dts/bcm963269bhr.dts b/target/linux/brcm63xx/dts/bcm963269bhr.dts index d8dda19eaf..9ef7a8b332 100644 --- a/target/linux/brcm63xx/dts/bcm963269bhr.dts +++ b/target/linux/brcm63xx/dts/bcm963269bhr.dts @@ -25,18 +25,29 @@ linux,code = ; }; }; +}; - gpio-leds { - compatible = "gpio-leds"; +&leds0 { + status = "ok"; - usb1 { - label = "963269BHR:green:usb1"; - gpios = <&pinctrl 9 1>; - }; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; - usb2 { - label = "963269BHR:green:usb2"; - gpios = <&pinctrl 10 1>; - }; + usb1@9 { + reg = <9>; + active-low; + label = "963269BHR:green:usb1"; + }; + usb2@10 { + reg = <10>; + active-low; + label = "963269BHR:green:usb2"; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio9", "gpio10"; }; }; diff --git a/target/linux/brcm63xx/dts/bcm963281TAN.dts b/target/linux/brcm63xx/dts/bcm963281TAN.dts index aa3c812b3b..78852fb3d0 100644 --- a/target/linux/brcm63xx/dts/bcm963281TAN.dts +++ b/target/linux/brcm63xx/dts/bcm963281TAN.dts @@ -11,34 +11,50 @@ chosen { bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; }; +}; + +&leds0 { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + inet@1 { + reg = <1>; + active-low; + label = "963281TAN::internet"; + }; + power@4 { + reg = <4>; + active-low; + label = "963281TAN::power"; + default-state = "on"; + }; + inet_fail@7 { + reg = <7>; + active-low; + label = "963281TAN::internet-fail"; + }; + power_fail@8 { + reg = <8>; + active-low; + label = "963281TAN::power-fail"; + }; + wps@9 { + reg = <9>; + active-low; + label = "963281TAN::wps"; + }; + dsl@11 { + reg = <11>; + active-low; + label = "963281TAN::dsl"; + }; +}; - gpio-leds { - compatible = "gpio-leds"; - - inet { - label = "963281TAN::internet"; - gpios = <&pinctrl 1 1>; - }; - power { - label = "963281TAN::power"; - gpios = <&pinctrl 4 1>; - default-state = "on"; - }; - inet_fail { - label = "963281TAN::internet-fail"; - gpios = <&pinctrl 7 1>; - }; - power_fail { - label = "963281TAN::power-fail"; - gpios = <&pinctrl 8 1>; - }; - wps { - label = "963281TAN::wps"; - gpios = <&pinctrl 9 1>; - }; - dsl { - label = "963281TAN::dsl"; - gpios = <&pinctrl 11 1>; - }; +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio1", "gpio4", "gpio7", "gpio8", "gpio9", "gpio11"; }; }; diff --git a/target/linux/brcm63xx/dts/bcm96328avng.dts b/target/linux/brcm63xx/dts/bcm96328avng.dts index 36823ddc08..75da3d60e6 100644 --- a/target/linux/brcm63xx/dts/bcm96328avng.dts +++ b/target/linux/brcm63xx/dts/bcm96328avng.dts @@ -11,39 +11,53 @@ chosen { bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; }; +}; + +&leds0 { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; - gpio-leds { - compatible = "gpio-leds"; - - inet_fail { - label = "96328avng::internet-fail"; - gpios = <&pinctrl 2 1>; - }; - dsl { - label = "96328avng::dsl"; - gpios = <&pinctrl 3 1>; - }; - power { - label = "96328avng::power"; - gpios = <&pinctrl 4 1>; - default-state = "on"; - }; - power_fail { - label = "96328avng::power-fail"; - gpios = <&pinctrl 8 1>; - }; - wps { - label = "96328avng::wps"; - gpios = <&pinctrl 9 1>; - }; - inet { - label = "96328avng::internet"; - gpios = <&pinctrl 11 1>; - }; + inet_fail@2 { + reg = <2>; + active-low; + label = "96328avng::internet-fail"; + }; + dsl@3 { + reg = <3>; + active-low; + label = "96328avng::dsl"; + }; + power@4 { + reg = <4>; + active-low; + label = "96328avng::power"; + default-state = "on"; + }; + power_fail@8 { + reg = <8>; + active-low; + label = "96328avng::power-fail"; + }; + wps@9 { + reg = <9>; + active-low; + label = "96328avng::wps"; + }; + inet@11 { + reg = <11>; + active-low; + label = "96328avng::internet"; }; }; &pinctrl { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb_port1_device>; + + pinctrl_leds: leds { + function = "led"; + pins = "gpio2", "gpio3", "gpio4", "gpio8", "gpio9", "gpio11"; + }; }; diff --git a/target/linux/brcm63xx/dts/ct-6373.dts b/target/linux/brcm63xx/dts/ct-6373.dts index 04b1a4fe38..cc4c8cfb7f 100644 --- a/target/linux/brcm63xx/dts/ct-6373.dts +++ b/target/linux/brcm63xx/dts/ct-6373.dts @@ -12,26 +12,6 @@ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; }; - spi-gpio { - #address-cells = <1>; - #size-cells = <1>; - compatible = "spi-gpio"; - - gpio-mosi = <&pinctrl 7 0>; - gpio-sck = <&pinctrl 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>; @@ -62,22 +42,31 @@ label = "CT6373-1:green:wlan"; gpios = <&pinctrl 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/dsl-274xb-f.dts b/target/linux/brcm63xx/dts/dsl-274xb-f.dts index 7b44d0e8b6..e21164e8e1 100644 --- a/target/linux/brcm63xx/dts/dsl-274xb-f.dts +++ b/target/linux/brcm63xx/dts/dsl-274xb-f.dts @@ -35,34 +35,50 @@ linux,code = ; }; }; +}; - gpio-leds { - compatible = "gpio-leds"; +&leds0 { + status = "ok"; - inet_red { - label = "dsl-274xb:red:internet"; - gpios = <&pinctrl 2 1>; - }; - dsl_green { - label = "dsl-274xb:green:dsl"; - gpios = <&pinctrl 3 1>; - }; - power_green { - label = "dsl-274xb:green:power"; - gpios = <&pinctrl 4 1>; - default-state = "on"; - }; - power_red { - label = "dsl-274xb:red:power"; - gpios = <&pinctrl 8 1>; - }; - wps_blue { - label = "dsl-274xb:blue:wps"; - gpios = <&pinctrl 9 1>; - }; - inet_green { - label = "dsl-274xb:green:internet"; - gpios = <&pinctrl 11 1>; - }; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + inet_red@2 { + reg = <2>; + active-low; + label = "dsl-274xb:red:internet"; + }; + dsl_green@3 { + reg = <3>; + active-low; + label = "dsl-274xb:green:dsl"; + }; + power_green@4 { + reg = <4>; + active-low; + label = "dsl-274xb:green:power"; + default-state = "on"; + }; + power_red@8 { + reg = <8>; + active-low; + label = "dsl-274xb:red:power"; + }; + wps_blue@9 { + reg = <9>; + active-low; + label = "dsl-274xb:blue:wps"; + }; + inet_green@11 { + reg = <11>; + active-low; + label = "dsl-274xb:green:internet"; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio2", "gpio3", "gpio4", "gpio8", "gpio9", "gpio11"; }; }; diff --git a/target/linux/brcm63xx/dts/fast2704v2.dts b/target/linux/brcm63xx/dts/fast2704v2.dts index 3e0cd709ed..e7c2725211 100644 --- a/target/linux/brcm63xx/dts/fast2704v2.dts +++ b/target/linux/brcm63xx/dts/fast2704v2.dts @@ -35,38 +35,55 @@ linux,code = ; }; }; +}; - gpio-leds { - compatible = "gpio-leds"; +&leds0 { + status = "ok"; - usb_green { - label = "F@ST2704V2:green:usb"; - gpios = <&pinctrl 1 1>; - }; - inet_red { - label = "F@ST2704V2:red:inet"; - gpios = <&pinctrl 2 1>; - }; - dsl_green { - label = "F@ST2704V2:green:dsl"; - gpios = <&pinctrl 3 1>; - }; - power_green { - label = "F@ST2704V2:green:power"; - gpios = <&pinctrl 4 1>; - default-state = "on"; - }; - power_red { - label = "F@ST2704V2:red:power"; - gpios = <&pinctrl 5 1>; - }; - wps_green { - label = "F@ST2704V2:green:wps"; - gpios = <&pinctrl 10 1>; - }; - inet_green { - label = "F@ST2704V2:green:inet"; - gpios = <&pinctrl 11 1>; - }; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + usb_green@1 { + reg = <1>; + active-low; + label = "F@ST2704V2:green:usb"; + }; + inet_red@2 { + reg = <2>; + active-low; + label = "F@ST2704V2:red:inet"; + }; + dsl_green@3 { + reg = <3>; + active-low; + label = "F@ST2704V2:green:dsl"; + }; + power_green@4 { + reg = <4>; + active-low; + label = "F@ST2704V2:green:power"; + default-state = "on"; + }; + power_red@5 { + reg = <5>; + active-low; + label = "F@ST2704V2:red:power"; + }; + wps_green@10 { + reg = <10>; + active-low; + label = "F@ST2704V2:green:wps"; + }; + inet_green@11 { + reg = <11>; + active-low; + label = "F@ST2704V2:green:inet"; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio10", "gpio11"; }; }; diff --git a/target/linux/brcm63xx/dts/hg655b.dts b/target/linux/brcm63xx/dts/hg655b.dts index 4ce6e5bcc6..941458bc50 100644 --- a/target/linux/brcm63xx/dts/hg655b.dts +++ b/target/linux/brcm63xx/dts/hg655b.dts @@ -47,22 +47,6 @@ label = "HW65x:green:internet"; gpios = <&pinctrl 5 1>; }; - lan1_green { - label = "HW65x:green:lan1"; - gpios = <&pinctrl 6 1>; - }; - lan2_green { - label = "HW65x:green:lan2"; - gpios = <&pinctrl 7 1>; - }; - lan3_green { - label = "HW65x:green:lan3"; - gpios = <&pinctrl 8 1>; - }; - lan4_green { - label = "HW65x:green:lan4"; - gpios = <&pinctrl 9 1>; - }; usb_green { label = "HW65x:green:usb"; gpios = <&pinctrl 14 1>; @@ -117,5 +101,5 @@ &pinctrl { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_pci>; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led &pinctrl_ephy2_led &pinctrl_ephy3_led>; }; diff --git a/target/linux/brcm63xx/dts/homehub2a.dts b/target/linux/brcm63xx/dts/homehub2a.dts index 59eff482f7..2e07a8cbf1 100644 --- a/target/linux/brcm63xx/dts/homehub2a.dts +++ b/target/linux/brcm63xx/dts/homehub2a.dts @@ -12,27 +12,6 @@ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; }; - spi-gpio { - #address-cells = <1>; - #size-cells = <1>; - compatible = "spi-gpio"; - - gpio-mosi = <&pinctrl 7 0>; - gpio-sck = <&pinctrl 6 0>; - cs-gpios = <&pinctrl 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>; @@ -56,72 +35,87 @@ linux,code = ; }; }; +}; - 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"; + }; }; &pflash { diff --git a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts index 78fcceefeb..3b8a15d2d6 100644 --- a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts +++ b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts @@ -12,26 +12,6 @@ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; }; - spi-gpio { - #address-cells = <1>; - #size-cells = <1>; - compatible = "spi-gpio"; - - gpio-mosi = <&pinctrl 7 0>; - gpio-sck = <&pinctrl 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>; @@ -84,25 +64,34 @@ label = "NB4-FXC-r1:green:service"; gpios = <&pinctrl 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"; + }; +}; + &pinctrl { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet1_mii_clk_inv>; diff --git a/target/linux/brcm63xx/dts/nb4-ser-r0.dts b/target/linux/brcm63xx/dts/nb4-ser-r0.dts index 94eabc5be4..96ea898b2d 100644 --- a/target/linux/brcm63xx/dts/nb4-ser-r0.dts +++ b/target/linux/brcm63xx/dts/nb4-ser-r0.dts @@ -12,26 +12,6 @@ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; }; - spi-gpio { - #address-cells = <1>; - #size-cells = <1>; - compatible = "spi-gpio"; - - gpio-mosi = <&pinctrl 7 0>; - gpio-sck = <&pinctrl 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>; @@ -84,25 +64,34 @@ label = "NB4-SER-r0:green:service"; gpios = <&pinctrl 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"; + }; +}; + &pinctrl { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet1_mii_clk_inv>; diff --git a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts index eea30219e0..204f58be59 100644 --- a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts +++ b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts @@ -82,5 +82,5 @@ &pinctrl { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_pci>; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led &pinctrl_ephy2_led &pinctrl_ephy3_led>; }; diff --git a/target/linux/brcm63xx/dts/r5010unv2.dts b/target/linux/brcm63xx/dts/r5010unv2.dts index c55404ca9e..2d1a45de32 100644 --- a/target/linux/brcm63xx/dts/r5010unv2.dts +++ b/target/linux/brcm63xx/dts/r5010unv2.dts @@ -31,39 +31,55 @@ linux,code = ; }; }; +}; - gpio-leds { - compatible = "gpio-leds"; +&leds0 { + status = "ok"; - inet_green { - label = "R5010UNv2:green:inet"; - gpios = <&pinctrl 1 1>; - }; - inet_fail_red { - label = "R5010UNv2:red:inet-fail"; - gpios = <&pinctrl 2 1>; - }; - dsl_red { - label = "R5010UNv2:green:dsl"; - gpios = <&pinctrl 3 1>; - }; - power_green { - label = "R5010UNv2:green:power"; - gpios = <&pinctrl 4 1>; - default-state = "on"; - }; - power_fail_red { - label = "R5010UNv2:red:power-fail"; - gpios = <&pinctrl 5 1>; - }; - wps_green { - label = "R5010UNv2:green:wps"; - gpios = <&pinctrl 10 1>; - }; - usb_green { - label = "R5010UNv2:green:usb"; - gpios = <&pinctrl 11 1>; - }; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + inet_green@1 { + reg = <1>; + active-low; + label = "R5010UNv2:green:inet"; + }; + inet_red@2 { + reg = <2>; + active-low; + label = "R5010UNv2:red:inet-fail"; + }; + dsl_green@3 { + reg = <3>; + active-low; + label = "R5010UNv2:green:dsl"; + }; + power_green@4 { + reg = <4>; + active-low; + label = "R5010UNv2:green:power"; + default-state = "on"; + }; + power_red@5 { + reg = <5>; + active-low; + label = "R5010UNv2:red:power-fail"; + }; + wps_green@10 { + reg = <10>; + active-low; + label = "R5010UNv2:green:wps"; + }; + usb_green@11 { + reg = <11>; + active-low; + label = "R5010UNv2:green:usb"; }; }; +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio10", "gpio11"; + }; +}; diff --git a/target/linux/brcm63xx/dts/vr-3025u.dts b/target/linux/brcm63xx/dts/vr-3025u.dts index 3db493e34e..c9c10c4b81 100644 --- a/target/linux/brcm63xx/dts/vr-3025u.dts +++ b/target/linux/brcm63xx/dts/vr-3025u.dts @@ -37,22 +37,6 @@ label = "VR-3025u:green:inet"; gpios = <&pinctrl 5 0>; }; - lan1_green { - label = "VR-3025u:green:lan1"; - gpios = <&pinctrl 6 1>; - }; - lan2_green { - label = "VR-3025u:green:lan2"; - gpios = <&pinctrl 7 1>; - }; - lan3_green { - label = "VR-3025u:green:lan3"; - gpios = <&pinctrl 8 1>; - }; - lan4_green { - label = "VR-3025u:green:lan4"; - gpios = <&pinctrl 9 1>; - }; power_green { label = "VR-3025u:green:power"; gpios = <&pinctrl 22 0>; @@ -93,5 +77,5 @@ &pinctrl { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_pci>; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led &pinctrl_ephy2_led &pinctrl_ephy3_led>; }; diff --git a/target/linux/brcm63xx/dts/vr-3025un.dts b/target/linux/brcm63xx/dts/vr-3025un.dts index 1044bbc201..47527584a6 100644 --- a/target/linux/brcm63xx/dts/vr-3025un.dts +++ b/target/linux/brcm63xx/dts/vr-3025un.dts @@ -37,22 +37,6 @@ label = "VR-3025un:green:inet"; gpios = <&pinctrl 5 0>; }; - lan1_green { - label = "VR-3025un:green:lan1"; - gpios = <&pinctrl 6 1>; - }; - lan2_green { - label = "VR-3025un:green:lan2"; - gpios = <&pinctrl 7 1>; - }; - lan3_green { - label = "VR-3025un:green:lan3"; - gpios = <&pinctrl 8 1>; - }; - iptv_green { - label = "VR-3025un:green:iptv"; - gpios = <&pinctrl 9 1>; - }; power_green { label = "VR-3025un:green:power"; gpios = <&pinctrl 22 0>; @@ -93,5 +77,5 @@ &pinctrl { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_pci>; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led &pinctrl_ephy2_led &pinctrl_ephy3_led>; }; diff --git a/target/linux/brcm63xx/dts/vr-3026e.dts b/target/linux/brcm63xx/dts/vr-3026e.dts index f425f71922..65590f5481 100644 --- a/target/linux/brcm63xx/dts/vr-3026e.dts +++ b/target/linux/brcm63xx/dts/vr-3026e.dts @@ -37,22 +37,6 @@ label = "VR-3026e:green:inet"; gpios = <&pinctrl 5 0>; }; - lan1_green { - label = "VR-3026e:green:lan1"; - gpios = <&pinctrl 6 1>; - }; - lan2_green { - label = "VR-3026e:green:lan2"; - gpios = <&pinctrl 7 1>; - }; - lan3_green { - label = "VR-3026e:green:lan3"; - gpios = <&pinctrl 8 1>; - }; - lan4_green { - label = "VR-3026e:green:lan4"; - gpios = <&pinctrl 9 1>; - }; power_green { label = "VR-3026e:green:power"; gpios = <&pinctrl 22 0>; @@ -93,5 +77,5 @@ &pinctrl { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_pci>; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led &pinctrl_ephy2_led &pinctrl_ephy3_led>; };