Document binding for LEDs connected to and controlled by various chips (such as ethernet PHY chips). Signed-off-by: Marek Behún <marek.behun@xxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx --- .../leds/linux,hw-controlled-leds.yaml | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/linux,hw-controlled-leds.yaml diff --git a/Documentation/devicetree/bindings/leds/linux,hw-controlled-leds.yaml b/Documentation/devicetree/bindings/leds/linux,hw-controlled-leds.yaml new file mode 100644 index 0000000000000..eaf6e5d80c5f5 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/linux,hw-controlled-leds.yaml @@ -0,0 +1,99 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/linux,hw-controlled-leds.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: LEDs that can be controlled by hardware (eg. by an ethernet PHY chip) + +maintainers: + - Marek Behún <marek.behun@xxxxxx> + +description: + Many an ethernet PHY (and other chips) supports various HW control modes + for LEDs connected directly to them. With this binding such LEDs can be + described. + +properties: + compatible: + const: linux,hw-controlled-leds + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +patternProperties: + "^led@[0-9a-f]+$": + type: object + allOf: + - $ref: common.yaml# + description: + This node represents a LED device connected to a chip that can control + the LED in various HW controlled modes. + + properties: + reg: + maxItems: 1 + description: + This property identifies the LED to the chip the LED is connected to + (eg. an ethernet PHY chip can have multiple LEDs connected to it). + + enable-active-high: + description: + Polarity of LED is active high. If missing, assumed default is active + low. + type: boolean + + led-tristate: + description: + LED pin is tristate type. If missing, assumed false. + type: boolean + + linux,default-hw-mode: + description: + This parameter, if present, specifies the default HW triggering mode + of the LED when LED trigger is set to `dev-hw-mode`. + Available values are specific per device the LED is connected to and + per LED itself. + $ref: /schemas/types.yaml#definitions/string + + required: + - reg + +additionalProperties: false + +examples: + - | + + #include <dt-bindings/leds/common.h> + + ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <0>; + + leds { + compatible = "linux,hw-controlled-leds"; + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = <LED_COLOR_ID_GREEN>; + function = <LED_FUNCTION_STATUS>; + linux,default-trigger = "dev-hw-mode"; + linux,default-hw-mode = "1Gbps"; + }; + + led@1 { + reg = <1>; + color = <LED_COLOR_ID_YELLOW>; + function = <LED_FUNCTION_ACTIVITY>; + linux,default-trigger = "dev-hw-mode"; + linux,default-hw-mode = "activity"; + }; + }; + }; + +... -- 2.26.2