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

From: Jerome Brunet
Date: Wed Nov 08 2023 - 12:11:30 EST



On Wed 08 Nov 2023 at 11:06, Rob Herring <robh@xxxxxxxxxx> wrote:

> 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?

yes, same thing