Message ID | 20221107103410.3443-2-hayashi.kunihiko@socionext.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add UniPhier boards support | expand |
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
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 @@ -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 + +...
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