[PATCH net-next + leds v2 1/7] dt-bindings: leds: document binding for HW controlled LEDs

From: Marek Behún
Date: Wed Sep 09 2020 - 12:35:53 EST


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