[PATCH v2 04/10] dt-bindings: pwm: Add bindings for PWM function in Netronix EC

Jonathan Neuschäfer
2020-09-05T13:40:20Z

The Netronix embedded controller as found in Kobo Aura and Tolino Shine
supports one PWM channel, which is used to control the frontlight
brightness on these devices.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
---

v2:
- Add plaintext binding to patch description, for comparison
- Fix pwm-cells property (should be 2, not 1)
- Add dummy regulator to example, because the pwm-backlight binding requires a
power supply

For reference, here is the binding in text form:

PWM functionality in Netronix Embedded Controller

Required properties:
- compatible: should be "netronix,ntxec-pwm"
- #pwm-cells: should be 2.

Available PWM channels:
- 0: The PWM channel controlled by registers 0xa1-0xa7

Example:

embedded-controller@43 {
compatible = "netronix,ntxec";
...

ec_pwm: pwm {
compatible = "netronix,ntxec-pwm";
#pwm-cells = <1>;
};
};

...

backlight {
compatible = "pwm-backlight";
pwms = <&ec_pwm 0 50000>;
};
---
.../bindings/mfd/netronix,ntxec.yaml | 19 +++++++++++
.../bindings/pwm/netronix,ntxec-pwm.yaml | 33 +++++++++++++++++++
2 files changed, 52 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pwm/netronix,ntxec-pwm.yaml

diff --git a/Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml b/Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml
index 596df460f98eb..73c873dda3e70 100644
--- a/Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml
+++ b/Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml
@@ -31,6 +31,9 @@ properties:
description:
The EC can signal interrupts via a GPIO line

+ pwm:
+ $ref: ../pwm/netronix,ntxec-pwm.yaml
+
required:
- compatible
- reg
@@ -53,5 +56,21 @@ examples:
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
interrupt-controller;
#interrupt-cells = <1>;
+
+ ec_pwm: pwm {
+ compatible = "netronix,ntxec-pwm";
+ #pwm-cells = <2>;
+ };
};
};
+
+ backlight {
+ compatible = "pwm-backlight";
+ pwms = <&ec_pwm 0 50000>;
+ power-supply = <&backlight_regulator>;
+ };
+
+ backlight_regulator: regulator-dummy {
+ compatible = "regulator-fixed";
+ regulator-name = "backlight";
+ };
diff --git a/Documentation/devicetree/bindings/pwm/netronix,ntxec-pwm.yaml b/Documentation/devicetree/bindings/pwm/netronix,ntxec-pwm.yaml
new file mode 100644
index 0000000000000..0c9d2801b8de1
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/netronix,ntxec-pwm.yaml
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/netronix,ntxec-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: PWM functionality in Netronix embedded controller
+
+maintainers:
+ - Jonathan Neuschäfer <j.neuschaefer@gmx.net>
+
+description: |
+ See also Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml
+
+ The Netronix EC contains PWM functionality, which is usually used to drive
+ the backlight LED.
+
+ The following PWM channels are supported:
+ - 0: The PWM channel controlled by registers 0xa1-0xa7
+
+allOf:
+ - $ref: pwm.yaml#
+
+properties:
+ compatible:
+ const: netronix,ntxec-pwm
+
+ "#pwm-cells":
+ const: 2
+
+required:
+ - compatible
+ - "#pwm-cells"
--
2.28.0