[PATCH v10 05/15] dt-bindings: soc: amd: amd,pensando-elbasr: Add AMD Pensando SoC System Controller

Brad Larson blarson at amd.com
Mon Mar 6 18:16:43 PST 2023


On 06/03/2023 8:35, Krzysztof Kozlowski wrote:
> On 06/03/2023 05:07, Brad Larson wrote:
>> Support the AMD Pensando SoC Controller which is a SPI connected device
>> providing a miscellaneous set of essential board control/status registers.
>> This device is present in all Pensando SoC based designs.
>> 
>> Signed-off-by: Brad Larson <blarson at amd.com>
>> ---
>> 
>> v10 changes:
>> - Property renamed to amd,pensando-ctrl
>> - Driver is renamed and moved to soc/drivers/amd affecting binding
>> - Delete cs property, driver handles device node creation from parent num-cs
>>   fixing schema reg error in a different way
>> 
>> v9 changes:
>> - Instead of four nodes, one per chip-select, a single
>>   node is used with reset-cells in the parent.
>> - No MFD API is used anymore in the driver so it made
>>   sense to move this to drivers/spi.
>> - This driver is common for all Pensando SoC based designs
>>   so changed the name to pensando-sr.c to not make it Elba
>>   SoC specific.
>> - Added property cs for the chip-select number which is used
>>   by the driver to create /dev/pensr0.<cs>
>> 
>> ---
>>  .../bindings/soc/amd/amd,pensando-ctrl.yaml   | 60 +++++++++++++++++++
>>  1 file changed, 60 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/soc/amd/amd,pensando-ctrl.yaml
>> 
>> diff --git a/Documentation/devicetree/bindings/soc/amd/amd,pensando-ctrl.yaml b/Documentation/devicetree/bindings/soc/amd/amd,pensando-ctrl.yaml
>> new file mode 100644
>> index 000000000000..36694077b2e6
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soc/amd/amd,pensando-ctrl.yaml
>
> Your subject suggests this is pensando-elbasr but you write everywhere
> pensando-ctrl. Confusing. Pick one.

I'll fix the commit message.  This driver is common across multiple Pensando SoCs
and embedding elba in the name is misleading which is why I changed it to pensando
controller (pensando-ctrl).  Sorry for the churn.

>> @@ -0,0 +1,60 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/soc/amd/amd,pensando-ctrl.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: AMD Pensando SoC Controller
>> +
>> +description: |
>
> No need for |

Removed |

>> +  The AMD Pensando SoC Controller is a SPI connected device with essential
>> +  control/status registers accessed on chip select 0.  This device is present
>> +  in all Pensando SoC based designs.
>> +
>> +maintainers:
>> +  - Brad Larson <blarson at amd.com>
>> +
>> +properties:
>> +  compatible:
>> +    contains:
>
> Drop 'contains'. That's not a correct syntax here.
>

Removed contains and looks like this now:

properties:
  compatible:
    enum:
      - amd,pensando-ctrl

>> +      enum:
>> +        - amd,pensando-ctrl
>> +
>> +  reg:
>> +    minItems: 1
>
> maxItems instead

Changed to maxItems: 1

>> +
>> +  '#reset-cells':
>> +    const: 1
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  spi-max-frequency: true
>
> Drop, not needed.
>

Removed spi-max-frequency and included alOff w/spi-peripheral-props.yaml

>> +
>> +required:
>> +  - compatible
>> +  - spi-max-frequency
>> +  - '#reset-cells'
>
> allOf with ref to spi-peripheral-props.yaml
>
>> +
>> +unevaluatedProperties: false
>
> This is not correct without allOf (should be additionalProperties if you
> are not using allOf), which leads you to the missing allOf.

Thanks for pointing out use of spi-peripheral-props.yaml, looks like this now

+required:
+  - compatible
+  - reg
+  - '#reset-cells'
+
+allOf:
+  - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+unevaluatedProperties: false


>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
>> +
>> +    spi {
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +        num-cs = <4>;
>
> Drop num-cs, not important in this context.

Removed num-cs

>> +
>> +        system-controller at 0 {
>> +            compatible = "amd,pensando-ctrl";
>> +            reg = <0>;
>> +            spi-max-frequency = <12000000>;
>> +            interrupt-parent = <&porta>;
>> +            interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
>> +            #reset-cells = <1>;
>> +        };
>> +    };
>> +
>> +...

Regards,
Brad



More information about the linux-arm-kernel mailing list