Re: [PATCH 2/6] dt-bindings: pwm: amlogic: add new compatible for meson8 pwm type

From: Rob Herring
Date: Wed Nov 08 2023 - 12:06:27 EST


On Mon, Nov 06, 2023 at 11:32:49AM +0100, Jerome Brunet wrote:
> Add a new compatible for the pwm found in the meson8 to sm1 Amlogic SoCs.
>
> The previous clock bindings for these SoCs described the driver and not the
> HW itself. The clock provided was used to set the parent of the input clock
> mux among the possible parents hard-coded in the driver.
>
> The new bindings allows to describe the actual clock inputs of the PWM in
> DT, like most bindings do, instead of relying of hard-coded data.
>
> The new bindings make the old one deprecated.
>
> There is enough experience on this HW to know that the PWM is exactly the
> same all the supported SoCs. There is no need for a per-SoC compatible.
>
> Signed-off-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx>
> ---
> .../devicetree/bindings/pwm/pwm-amlogic.yaml | 35 +++++++++++++++++--
> 1 file changed, 33 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/pwm/pwm-amlogic.yaml b/Documentation/devicetree/bindings/pwm/pwm-amlogic.yaml
> index 754b70fc2db0..3aa522c4cae4 100644
> --- a/Documentation/devicetree/bindings/pwm/pwm-amlogic.yaml
> +++ b/Documentation/devicetree/bindings/pwm/pwm-amlogic.yaml
> @@ -22,6 +22,7 @@ properties:
> - amlogic,meson-g12a-ao-pwm-ab
> - amlogic,meson-g12a-ao-pwm-cd
> - amlogic,meson-s4-pwm
> + - amlogic,meson8-pwm-v2
> - items:
> - const: amlogic,meson-gx-pwm
> - const: amlogic,meson-gxbb-pwm
> @@ -37,7 +38,7 @@ properties:
>
> clocks:
> minItems: 1
> - maxItems: 2
> + maxItems: 4
>
> clock-names:
> minItems: 1
> @@ -70,11 +71,14 @@ allOf:
> - amlogic,meson-gx-pwm
> - amlogic,meson-gx-ao-pwm
> then:
> - # Historic bindings tied to the driver implementation
> + # Obsolete historic bindings tied to the driver implementation
> # The clocks provided here are meant to be matched with the input
> # known (hard-coded) in the driver and used to select pwm clock
> # source. Currently, the linux driver ignores this.
> + deprecated: true
> properties:
> + clocks:
> + maxItems: 2
> clock-names:
> oneOf:
> - items:
> @@ -83,6 +87,26 @@ allOf:
> - const: clkin0
> - const: clkin1
>
> + # Newer binding where clock describe the actual clock inputs of the pwm
> + # block. These are necessary but some inputs may be grounded.
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - amlogic,meson8b-pwm-v2
> + then:
> + properties:
> + clocks:
> + minItems: 1
> + items:
> + - description: input clock 0 of the pwm block
> + - description: input clock 1 of the pwm block
> + - description: input clock 2 of the pwm block
> + - description: input clock 3 of the pwm block
> + required:
> + - clocks

Again, clock-names?