On Thu, Mar 12, 2020 at 04:11:02PM -0500, Rob Herring wrote: > On Fri, Mar 06, 2020 at 04:03:38PM +0300, Sergey.Semin@xxxxxxxxxxxxxxxxxxxx wrote: > > From: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > > > In accordance with the syscon-driver (drivers/mfd/syscon.c) the syscon > > dts-nodes may accept endian properties of the boolean type: little-endian, > > big-endian, native-endian. Lets make sure that syscon bindings json-schema > > also supports them. > > > > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Alexey Malahov <Alexey.Malahov@xxxxxxxxxxxxxxxxxxxx> > > Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> > > Cc: Paul Burton <paulburton@xxxxxxxxxx> > > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > > --- > > Documentation/devicetree/bindings/mfd/syscon.yaml | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml > > index 39375e4313d2..9ee404991533 100644 > > --- a/Documentation/devicetree/bindings/mfd/syscon.yaml > > +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml > > @@ -61,6 +61,11 @@ properties: > > description: > > Reference to a phandle of a hardware spinlock provider node. > > > > +patternProperties: > > + "^(big|little|native)-endian$": > > + $ref: /schemas/types.yaml#/definitions/flag > > + description: Bytes order of the system controller memory space. > > Common properties should have a type definition in a common schema. For > this one, I'd like it in the core schema in dtschema. So what do you suggest then? Will you move this file to the dt-scheme/schemas in your repo? What shall I do with this patch, just drop? Or would you like me to fork your dt-schema repo, add dt-schemas/schemas/mfd/syscon.yaml file similar to this one with "*-endian" property supported, then pull-request or send a patch with the alteration back to your repo? > > I'd expect for any specific 'syscon', either none or only a subset of > these are valid, so I don't think this should be added here. AFAIU mfd/syscon.yaml describes a generic syscon compatible with generic driver drivers/mfd/syscon.c, which may have any of these properties declared in its dt-node. We can't predict which one because, well, it's generic. At the same time, yes, only a subset of these properties can be supported by a specific system controller, which one can be determined by the controller specific dt schema. So if we left the property here in the generic syscon.yaml, then the controller dt-schema would have had a pattern like: > > allOf: > - $ref: ../../mfd/syscon.yaml# > > properties: > little-endian: true > > additionalProperties: false > as I did for soc/baikal-t1/be,bt1-l2-ctl.yaml. See the patch: "dt-bindings: Add Baikal-T1 L2-cache Control Block dts bindings file" in the corresponding patchset in your email Inbox. Regards, -Sergey > > Rob