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

From: Rob Herring
Date: Mon Sep 14 2020 - 20:54:54 EST


On Sat, Sep 05, 2020 at 03:32:24PM +0200, Jonathan Neuschäfer wrote:
> 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@xxxxxxx>
> ---
>
> 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@xxxxxxx>
> +
> +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

Just move this to the parent and make the parent a pwm provider. There's
no need for child nodes for this or the rtc.

Rob