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

Jerome Brunet jbrunet at baylibre.com
Wed Nov 8 09:10:56 PST 2023


On Wed 08 Nov 2023 at 11:06, Rob Herring <robh at kernel.org> 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 at baylibre.com>
>> ---
>>  .../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



More information about the linux-amlogic mailing list