[PATCH v2 1/5] dt-bindings: arm: uniphier: Add system controller bindings

Kunihiko Hayashi hayashi.kunihiko at socionext.com
Tue Nov 8 06:30:06 PST 2022


Hi Krzysztof,

On 2022/11/08 20:09, Krzysztof Kozlowski wrote:
> On 07/11/2022 11:34, Kunihiko Hayashi wrote:
>> Add DT binding schema for system controller implemented in UniPhier SoCs.
>> This describes that the nodes defined here are treated as "syscon".
>>
>> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko at socionext.com>
>> ---
>>   .../socionext/socionext,uniphier-sysctrl.yaml | 92 +++++++++++++++++++
>>   1 file changed, 92 insertions(+)
>>   create mode 100644
>> Documentation/devicetree/bindings/arm/socionext/socionext,uniphier-sysctrl.yaml
>>
>> diff --git
>> a/Documentation/devicetree/bindings/arm/socionext/socionext,uniphier-sysctrl.yaml
>> b/Documentation/devicetree/bindings/arm/socionext/socionext,uniphier-sysctrl.yaml
>> new file mode 100644
>> index 000000000000..be7cf72c232e
>> --- /dev/null
>> +++
>> b/Documentation/devicetree/bindings/arm/socionext/socionext,uniphier-sysctrl.yaml
> 
> arm is only for top-level stuff. System controllers go to soc.

Okay. I wondered if I should put it here.
I'll make vendor's directory on "soc" and move it.


>> @@ -0,0 +1,92 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id:
>> http://devicetree.org/schemas/arm/socionext/socionext,uniphier-sysctrl.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Socionext UniPhier system controller
>> +
>> +maintainers:
>> +  - Kunihiko Hayashi <hayashi.kunihiko at socionext.com>
>> +
>> +description: |+
>> +  This describes the devicetree bindings for system controller
>> +  implemented on Socionext UniPhier SoCs.
> 
> Drop "This describes the devicetree bindings for" and instead describe
> the hardware.

Surely I think the system controller's description itself is insufficient.
This description contains multiple controllers, so add descriptions for each.


>> +
>> +properties:
>> +  compatible:
>> +    oneOf:
> 
> You do not have more than one entry, so no need for oneOf.

Got it.

>> +      - items:
>> +          - enum:
>> +              # sysctrl
>> +              - socionext,uniphier-ld4-sysctrl
>> +              - socionext,uniphier-pro4-sysctrl
>> +              - socionext,uniphier-pro5-sysctrl
>> +              - socionext,uniphier-pxs2-sysctrl
>> +              - socionext,uniphier-ld6b-sysctrl
>> +              - socionext,uniphier-sld8-sysctrl
>> +              - socionext,uniphier-ld11-sysctrl
>> +              - socionext,uniphier-ld20-sysctrl
>> +              - socionext,uniphier-pxs3-sysctrl
>> +              - socionext,uniphier-nx1-sysctrl
>> +              - socionext,uniphier-sysctrl
>> +              # soc-glue
>> +              - socionext,uniphier-ld4-soc-glue
>> +              - socionext,uniphier-pro4-soc-glue
>> +              - socionext,uniphier-pro5-soc-glue
>> +              - socionext,uniphier-pxs2-soc-glue
>> +              - socionext,uniphier-ld6b-soc-glue
>> +              - socionext,uniphier-sld8-soc-glue
>> +              - socionext,uniphier-ld11-soc-glue
>> +              - socionext,uniphier-ld20-soc-glue
>> +              - socionext,uniphier-pxs3-soc-glue
>> +              - socionext,uniphier-nx1-soc-glue
>> +              - socionext,uniphier-soc-glue
>> +              # perictrl
>> +              - socionext,uniphier-ld4-perictrl
>> +              - socionext,uniphier-pro4-perictrl
>> +              - socionext,uniphier-pro5-perictrl
>> +              - socionext,uniphier-pxs2-perictrl
>> +              - socionext,uniphier-ld6b-perictrl
>> +              - socionext,uniphier-sld8-perictrl
>> +              - socionext,uniphier-ld11-perictrl
>> +              - socionext,uniphier-ld20-perictrl
>> +              - socionext,uniphier-pxs3-perictrl
>> +              - socionext,uniphier-nx1-perictrl
>> +              - socionext,uniphier-perictrl
>> +              # sdctrl
>> +              - socionext,uniphier-ld4-sdctrl
>> +              - socionext,uniphier-pro4-sdctrl
>> +              - socionext,uniphier-pro5-sdctrl
>> +              - socionext,uniphier-pxs2-sdctrl
>> +              - socionext,uniphier-ld6b-sdctrl
>> +              - socionext,uniphier-sld8-sdctrl
>> +              - socionext,uniphier-ld11-sdctrl
>> +              - socionext,uniphier-ld20-sdctrl
>> +              - socionext,uniphier-pxs3-sdctrl
>> +              - socionext,uniphier-nx1-sdctrl
>> +              - socionext,uniphier-sdctrl
>> +              # mioctrl
>> +              - socionext,uniphier-ld4-mioctrl
>> +              - socionext,uniphier-pro4-mioctrl
>> +              - socionext,uniphier-sld8-mioctrl
>> +              - socionext,uniphier-ld11-mioctrl
>> +              - socionext,uniphier-mioctrl
>> +              # adamv
>> +              - socionext,uniphier-ld11-adamv
>> +              - socionext,uniphier-ld20-adamv
>> +              - socionext,uniphier-adamv
>> +          - const: simple-mfd
>> +          - const: syscon
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +
>> +additionalProperties:
>> +  type: object
> 
> No, instead you should describe the children. This must me
> additionalProperties: false

Each controller has different children, so need to define children
for each controller using "if".

> You also miss example.
> 
> Start from example-schema as your template or guidance.

I see. I'll add example.

Thank you,

---
Best Regards
Kunihiko Hayashi



More information about the linux-arm-kernel mailing list