[v2,1/5] dt-bindings: arm: uniphier: Add system controller bindings
Commit Message
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@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
Comments
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@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.
> @@ -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@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.
> +
> +properties:
> + compatible:
> + oneOf:
You do not have more than one entry, so no need for oneOf.
> + - 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
You also miss example.
Start from example-schema as your template or guidance.
Best regards,
Krzysztof
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@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@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
On 08/11/2022 15:30, Kunihiko Hayashi wrote:
>>> +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".
Then you should have different binding documents. Bindings should be
specific.
Best regards,
Krzysztof
On 2022/11/09 0:08, Krzysztof Kozlowski wrote:
> On 08/11/2022 15:30, Kunihiko Hayashi wrote:
>>>> +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".
>
> Then you should have different binding documents. Bindings should be
> specific.
I see. I'll separate this document into the specific documents.
Thank you,
---
Best Regards
Kunihiko Hayashi
new file mode 100644
@@ -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@socionext.com>
+
+description: |+
+ This describes the devicetree bindings for system controller
+ implemented on Socionext UniPhier SoCs.
+
+properties:
+ compatible:
+ oneOf:
+ - 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
+
+...