This adds device tree binding documentation for the Broadcom BCM6328 LED controller. Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx> Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> --- v2: Introduce changes suggested by Florian and Jonas. - Change compatible string to "brcm,bcm6328-leds-ctrl". - Make valid LEDs statement more strict. - Remove compatible strings from LED subnodes. - Clarify that LEDs are active high by default. - Add a better description for brcm,link-signal-sources and brcm,activity-signal-sources. .../devicetree/bindings/leds/leds-bcm6328.txt | 162 +++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/leds-bcm6328.txt diff --git a/Documentation/devicetree/bindings/leds/leds-bcm6328.txt b/Documentation/devicetree/bindings/leds/leds-bcm6328.txt new file mode 100644 index 0000000..6e4f5563a --- /dev/null +++ b/Documentation/devicetree/bindings/leds/leds-bcm6328.txt @@ -0,0 +1,162 @@ +LEDs connected to Broadcom BCM6328 controller + +Required properties: +- compatible: should be : "brcm,bcm6328-leds-ctrl". +- #address-cells: must be 1 +- #size-cells: must be 0 +- reg: BCM6328 LED controller address and size. + +Optional properties: +- brcm,serial-leds: boolean which enables Serial LEDs. + +Each LED is represented as a sub-node of the brcm,bcm6328-leds device. + +LED sub-node properties: +- reg: LED pin number (only LEDs 0 to 23 are valid). + +Normal LED: +LEDs are active high by default. +- label (optional): see Documentation/devicetree/bindings/leds/common.txt +- active-low (optional): boolean that makes LED active low. +- default-state (optional): see + Documentation/devicetree/bindings/leds/leds-gpio.txt +- linux,default-trigger (optional): see + Documentation/devicetree/bindings/leds/common.txt + +Hardware controlled LED: +- brcm,hardware-controlled (optional): boolean that makes this LED hardware + controlled. +- brcm,link-signal-sources (optional): An array of hardware link + signal sources. Up to four link hardware signals can get muxed into + these LEDs. Only valid for LEDs 0 to 7, where LED signals 0 to 3 may + be muxed to LEDs 0 to 3, and signals 4 to 7 may be muxed to LEDs + 4 to 7. A signal can be muxed to more than one LED, and one LED can + have more than one source signal. +- brcm,activity-signal-sources (optional): An array of hardware activity + signal sources. Up to four activity hardware signals can get muxed into + these LEDs. Only valid for LEDs 0 to 7, where LED signals 0 to 3 may + be muxed to LEDs 0 to 3, and signals 4 to 7 may be muxed to LEDs + 4 to 7. A signal can be muxed to more than one LED, and one LED can + have more than one source signal. + +example 1) BCM6328 + +leds0: led-controller@10000800 { + compatible = "brcm,bcm6328-leds-ctrl"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10000800 0x24>; + + alarm_red@2 { + reg = <2>; + active-low; + label = "red:alarm"; + }; + inet_green@3 { + reg = <3>; + active-low; + label = "green:inet"; + }; + power_green@4 { + reg = <4>; + active-low; + label = "green:power"; + default-state = "on"; + }; + ephy0_spd@17 { + reg = <17>; + brcm,hardware-controlled; + }; + ephy1_spd@18 { + reg = <18>; + brcm,hardware-controlled; + }; + ephy2_spd@19 { + reg = <19>; + brcm,hardware-controlled; + }; + ephy3_spd@20 { + reg = <20>; + brcm,hardware-controlled; + }; +}; + +example 2) BCM63268 + +leds0: led-controller@10001900 { + compatible = "brcm,bcm6328-leds-ctrl"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10001900 0x24>; + brcm,serial-leds; + + gphy0_spd0@0 { + reg = <0>; + brcm,hardware-controlled; + brcm,link-signal-sources = <0>; + }; + gphy0_spd1@1 { + reg = <1>; + brcm,hardware-controlled; + brcm,link-signal-sources = <1>; + }; + inet_red@2 { + reg = <2>; + active-low; + label = "red:inet"; + }; + dsl_green@3 { + reg = <3>; + active-low; + label = "green:dsl"; + }; + usb_green@4 { + reg = <4>; + active-low; + label = "green:usb"; + }; + wps_green@7 { + reg = <7>; + active-low; + label = "green:wps"; + }; + inet_green@8 { + reg = <8>; + active-low; + label = "green:inet"; + }; + ephy0_act@9 { + reg = <9>; + brcm,hardware-controlled; + }; + ephy1_act@10 { + reg = <10>; + brcm,hardware-controlled; + }; + ephy2_act@11 { + reg = <11>; + brcm,hardware-controlled; + }; + gphy0_act@12 { + reg = <12>; + brcm,hardware-controlled; + }; + ephy0_spd@13 { + reg = <13>; + brcm,hardware-controlled; + }; + ephy1_spd@14 { + reg = <14>; + brcm,hardware-controlled; + }; + ephy2_spd@15 { + reg = <15>; + brcm,hardware-controlled; + }; + power_green@20 { + reg = <20>; + active-low; + label = "green:power"; + default-state = "on"; + }; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-leds" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html