Message ID | 20200508082937.14171-3-rogerq@ti.com |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | arm64: ti: k3-j721e: Add SERDES PHY and USB3.0 support | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success | |
robh/dt-meta-schema | success |
Hi Rob, On 08/05/2020 11:29, Roger Quadros wrote: > Add DT binding schema for J721e system controller. > > Signed-off-by: Roger Quadros <rogerq@ti.com> If this can get your Ack it would be great. Thanks! cheers, -roger > --- > .../bindings/mfd/ti,j721e-syscon.yaml | 69 +++++++++++++++++++ > 1 file changed, 69 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml > new file mode 100644 > index 000000000000..e832fb43f884 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml > @@ -0,0 +1,69 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/ti,j721e-syscon.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI J721e System Controller Registers R/W Device Tree Bindings > + > +description: | > + This represents the Control Module registers (CTRL_MMR0) on the SoC. > + System controller node represents a register region containing a set > + of miscellaneous registers. The registers are not cohesive enough to > + represent as any specific type of device. The typical use-case is > + for some other node's driver, or platform-specific code, to acquire > + a reference to the syscon node (e.g. by phandle, node path, or > + search using a specific compatible value), interrogate the node (or > + associated OS driver) to determine the location of the registers, > + and access the registers directly. > + > +maintainers: > + - Kishon Vijay Abraham I <kishon@ti.com> > + - Roger Quadros <rogerq@ti.com > + > +allOf: > + - $ref: "syscon.yaml#" > + > +properties: > + compatible: > + anyOf: > + - items: > + - enum: > + - ti,j721e-system-controller > + > + - const: syscon > + > + - contains: > + const: syscon > + additionalItems: true > + > +# Optional children > + > + "^serdes-ln-ctrl@[0-9a-f]+$": > + type: object > + description: | > + This is the SERDES lane control mux. It should follow the bindings > + specified in > + Documentation/devicetree/bindings/mux/reg-mux.txt > + > +required: > + - compatible > + - reg > + > +unevaluatedProperties: false > + > +examples: > + - | > + scm_conf: scm-conf@100000 { > + compatible = "ti,j721e-system-controller", "syscon", "simple-mfd"; > + reg = <0x00100000 0x1c000>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + serdes_ln_ctrl: serdes-ln-ctrl@4080 { > + compatible = "mmio-mux"; > + reg = <0x00004080 0x50>; > + }; > + }; > +... >
On Fri, May 08, 2020 at 11:29:32AM +0300, Roger Quadros wrote: > Add DT binding schema for J721e system controller. > > Signed-off-by: Roger Quadros <rogerq@ti.com> > --- > .../bindings/mfd/ti,j721e-syscon.yaml | 69 +++++++++++++++++++ > 1 file changed, 69 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml Use the compatible string for filename. > > diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml > new file mode 100644 > index 000000000000..e832fb43f884 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml > @@ -0,0 +1,69 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/ti,j721e-syscon.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI J721e System Controller Registers R/W Device Tree Bindings > + > +description: | > + This represents the Control Module registers (CTRL_MMR0) on the SoC. > + System controller node represents a register region containing a set > + of miscellaneous registers. The registers are not cohesive enough to > + represent as any specific type of device. The typical use-case is > + for some other node's driver, or platform-specific code, to acquire > + a reference to the syscon node (e.g. by phandle, node path, or > + search using a specific compatible value), interrogate the node (or > + associated OS driver) to determine the location of the registers, > + and access the registers directly. > + > +maintainers: > + - Kishon Vijay Abraham I <kishon@ti.com> > + - Roger Quadros <rogerq@ti.com > + > +allOf: > + - $ref: "syscon.yaml#" Drop this as it is not needed. > + > +properties: > + compatible: > + anyOf: > + - items: > + - enum: > + - ti,j721e-system-controller > + > + - const: syscon What about simple-mfd? > + > + - contains: > + const: syscon > + additionalItems: true Should be dropped. You are going to need a 'select' entry or this will match on any syscon or simple-mfd node: select: properties: compatible: contains: const: ti,j721e-system-controller required: - compatible > + > +# Optional children > + > + "^serdes-ln-ctrl@[0-9a-f]+$": > + type: object > + description: | > + This is the SERDES lane control mux. It should follow the bindings > + specified in > + Documentation/devicetree/bindings/mux/reg-mux.txt Really this should reference a 'reg-mux' schema, but fine for now. Bonus points if you do convert reg-mux.txt though. > + > +required: > + - compatible > + - reg > + > +unevaluatedProperties: false > + > +examples: > + - | > + scm_conf: scm-conf@100000 { > + compatible = "ti,j721e-system-controller", "syscon", "simple-mfd"; > + reg = <0x00100000 0x1c000>; > + #address-cells = <1>; > + #size-cells = <1>; These aren't documented and you need 'ranges' for the child address to be translatable. > + > + serdes_ln_ctrl: serdes-ln-ctrl@4080 { > + compatible = "mmio-mux"; > + reg = <0x00004080 0x50>; > + }; > + }; > +... > -- > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. > Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki >
On Mon, May 18, 2020 at 8:51 AM Rob Herring <robh@kernel.org> wrote: > > On Fri, May 08, 2020 at 11:29:32AM +0300, Roger Quadros wrote: > > Add DT binding schema for J721e system controller. > > > > Signed-off-by: Roger Quadros <rogerq@ti.com> > > --- > > .../bindings/mfd/ti,j721e-syscon.yaml | 69 +++++++++++++++++++ > > 1 file changed, 69 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml > > Use the compatible string for filename. > > > > > diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml > > new file mode 100644 > > index 000000000000..e832fb43f884 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml > > @@ -0,0 +1,69 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/mfd/ti,j721e-syscon.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: TI J721e System Controller Registers R/W Device Tree Bindings > > + > > +description: | > > + This represents the Control Module registers (CTRL_MMR0) on the SoC. > > + System controller node represents a register region containing a set > > + of miscellaneous registers. The registers are not cohesive enough to > > + represent as any specific type of device. The typical use-case is > > + for some other node's driver, or platform-specific code, to acquire > > + a reference to the syscon node (e.g. by phandle, node path, or > > + search using a specific compatible value), interrogate the node (or > > + associated OS driver) to determine the location of the registers, > > + and access the registers directly. > > + > > +maintainers: > > + - Kishon Vijay Abraham I <kishon@ti.com> > > + - Roger Quadros <rogerq@ti.com > > + > > +allOf: > > + - $ref: "syscon.yaml#" > > Drop this as it is not needed. > > > + > > +properties: > > + compatible: > > + anyOf: > > + - items: > > + - enum: > > + - ti,j721e-system-controller > > + > > + - const: syscon > > What about simple-mfd? > > > + > > + - contains: > > + const: syscon > > + additionalItems: true > > Should be dropped. > > You are going to need a 'select' entry or this will match on any syscon > or simple-mfd node: > > select: > properties: > compatible: > contains: > const: ti,j721e-system-controller > required: > - compatible Sorry, forget the 'select' part (still should drop the 2nd clause). I'd found a bug in what handles this automatically, but it's only when you have 'simple-mfd' and not 'syscon'. Rob
Add DT binding schema for J721e system controller.
Signed-off-by: Roger Quadros <rogerq@ti.com>
---
Changelog:
v4
-address comments.
.../mfd/ti,j721e-system-controller.yaml | 76 +++++++++++++++++++
1 file changed, 76 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
new file mode 100644
index 000000000000..cb28dc480c4c
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
@@ -0,0 +1,76 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/ti,j721e-system-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI J721e System Controller Registers R/W Device Tree Bindings
+
+description: |
+ This represents the Control Module registers (CTRL_MMR0) on the SoC.
+ System controller node represents a register region containing a set
+ of miscellaneous registers. The registers are not cohesive enough to
+ represent as any specific type of device. The typical use-case is
+ for some other node's driver, or platform-specific code, to acquire
+ a reference to the syscon node (e.g. by phandle, node path, or
+ search using a specific compatible value), interrogate the node (or
+ associated OS driver) to determine the location of the registers,
+ and access the registers directly.
+
+maintainers:
+ - Kishon Vijay Abraham I <kishon@ti.com>
+ - Roger Quadros <rogerq@ti.com
+
+properties:
+ compatible:
+ anyOf:
+ - items:
+ - enum:
+ - ti,j721e-system-controller
+ - const: syscon
+ - const: simple-mfd
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 1
+
+ ranges:
+ description:
+ Should translate from local addresses to bus addresses.
+
+# Optional children
+
+ "^serdes-ln-ctrl@[0-9a-f]+$":
+ type: object
+ description: |
+ This is the SERDES lane control mux. It should follow the bindings
+ specified in
+ Documentation/devicetree/bindings/mux/reg-mux.txt
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
+ - ranges
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ scm_conf: scm-conf@100000 {
+ compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
+ reg = <0x00100000 0x1c000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ serdes_ln_ctrl: serdes-ln-ctrl@4080 {
+ compatible = "mmio-mux";
+ reg = <0x00004080 0x50>;
+ };
+ };
+...
Hi Rob, On 19/05/2020 16:51, Roger Quadros wrote: > Add DT binding schema for J721e system controller. > > Signed-off-by: Roger Quadros <rogerq@ti.com> > --- > Changelog: > v4 > -address comments. Hope this patch is OK now? cheers, -roger > > .../mfd/ti,j721e-system-controller.yaml | 76 +++++++++++++++++++ > 1 file changed, 76 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml > new file mode 100644 > index 000000000000..cb28dc480c4c > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml > @@ -0,0 +1,76 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/ti,j721e-system-controller.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI J721e System Controller Registers R/W Device Tree Bindings > + > +description: | > + This represents the Control Module registers (CTRL_MMR0) on the SoC. > + System controller node represents a register region containing a set > + of miscellaneous registers. The registers are not cohesive enough to > + represent as any specific type of device. The typical use-case is > + for some other node's driver, or platform-specific code, to acquire > + a reference to the syscon node (e.g. by phandle, node path, or > + search using a specific compatible value), interrogate the node (or > + associated OS driver) to determine the location of the registers, > + and access the registers directly. > + > +maintainers: > + - Kishon Vijay Abraham I <kishon@ti.com> > + - Roger Quadros <rogerq@ti.com > + > +properties: > + compatible: > + anyOf: > + - items: > + - enum: > + - ti,j721e-system-controller > + - const: syscon > + - const: simple-mfd > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 1 > + > + ranges: > + description: > + Should translate from local addresses to bus addresses. > + > +# Optional children > + > + "^serdes-ln-ctrl@[0-9a-f]+$": > + type: object > + description: | > + This is the SERDES lane control mux. It should follow the bindings > + specified in > + Documentation/devicetree/bindings/mux/reg-mux.txt > + > +required: > + - compatible > + - reg > + - "#address-cells" > + - "#size-cells" > + - ranges > + > +unevaluatedProperties: false > + > +examples: > + - | > + scm_conf: scm-conf@100000 { > + compatible = "ti,j721e-system-controller", "syscon", "simple-mfd"; > + reg = <0x00100000 0x1c000>; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + serdes_ln_ctrl: serdes-ln-ctrl@4080 { > + compatible = "mmio-mux"; > + reg = <0x00004080 0x50>; > + }; > + }; > +...
diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml new file mode 100644 index 000000000000..e832fb43f884 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/ti,j721e-syscon.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TI J721e System Controller Registers R/W Device Tree Bindings + +description: | + This represents the Control Module registers (CTRL_MMR0) on the SoC. + System controller node represents a register region containing a set + of miscellaneous registers. The registers are not cohesive enough to + represent as any specific type of device. The typical use-case is + for some other node's driver, or platform-specific code, to acquire + a reference to the syscon node (e.g. by phandle, node path, or + search using a specific compatible value), interrogate the node (or + associated OS driver) to determine the location of the registers, + and access the registers directly. + +maintainers: + - Kishon Vijay Abraham I <kishon@ti.com> + - Roger Quadros <rogerq@ti.com + +allOf: + - $ref: "syscon.yaml#" + +properties: + compatible: + anyOf: + - items: + - enum: + - ti,j721e-system-controller + + - const: syscon + + - contains: + const: syscon + additionalItems: true + +# Optional children + + "^serdes-ln-ctrl@[0-9a-f]+$": + type: object + description: | + This is the SERDES lane control mux. It should follow the bindings + specified in + Documentation/devicetree/bindings/mux/reg-mux.txt + +required: + - compatible + - reg + +unevaluatedProperties: false + +examples: + - | + scm_conf: scm-conf@100000 { + compatible = "ti,j721e-system-controller", "syscon", "simple-mfd"; + reg = <0x00100000 0x1c000>; + #address-cells = <1>; + #size-cells = <1>; + + serdes_ln_ctrl: serdes-ln-ctrl@4080 { + compatible = "mmio-mux"; + reg = <0x00004080 0x50>; + }; + }; +...
Add DT binding schema for J721e system controller. Signed-off-by: Roger Quadros <rogerq@ti.com> --- .../bindings/mfd/ti,j721e-syscon.yaml | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/ti,j721e-syscon.yaml