diff mbox series

[v2,1/4] dt-bindings: hwlock: qcom: Migrate binding to YAML

Message ID 20200622075956.171058-2-bjorn.andersson@linaro.org
State Accepted
Commit a7541de9abed7cee7df0012214b1962e892885cc
Headers show
Series hwspinlock: qcom: Allow dropping the intermediate TCSR mutex syscon | expand

Commit Message

Bjorn Andersson June 22, 2020, 7:59 a.m. UTC
Migrate the Qualcomm TCSR mutex binding to YAML to allow validation.

Reviewed-by: Vinod Koul <vkoul@kernel.org>

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

---

Changes since v1:
- Actually remove the old binding doc

 .../bindings/hwlock/qcom-hwspinlock.txt       | 39 --------------
 .../bindings/hwlock/qcom-hwspinlock.yaml      | 51 +++++++++++++++++++
 2 files changed, 51 insertions(+), 39 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.txt
 create mode 100644 Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.yaml

-- 
2.26.2

Comments

Rob Herring July 22, 2020, 2:42 p.m. UTC | #1
On Tue, Jul 21, 2020 at 10:48 PM Bjorn Andersson
<bjorn.andersson@linaro.org> wrote:
>

> On Tue 21 Jul 08:13 PDT 2020, Rob Herring wrote:

>

> > On Mon, Jun 22, 2020 at 1:59 AM Bjorn Andersson

> > <bjorn.andersson@linaro.org> wrote:

> > >

> > > Migrate the Qualcomm TCSR mutex binding to YAML to allow validation.

> > >

> > > Reviewed-by: Vinod Koul <vkoul@kernel.org>

> > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

> > > ---

> > >

> > > Changes since v1:

> > > - Actually remove the old binding doc

> > >

> > >  .../bindings/hwlock/qcom-hwspinlock.txt       | 39 --------------

> > >  .../bindings/hwlock/qcom-hwspinlock.yaml      | 51 +++++++++++++++++++

> > >  2 files changed, 51 insertions(+), 39 deletions(-)

> > >  delete mode 100644 Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.txt

> > >  create mode 100644 Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.yaml

> >

> > [...]

> >

> > > diff --git a/Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.yaml b/Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.yaml

> > > new file mode 100644

> > > index 000000000000..71e63b52edd5

> > > --- /dev/null

> > > +++ b/Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.yaml

> > > @@ -0,0 +1,51 @@

> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> > > +%YAML 1.2

> > > +---

> > > +$id: http://devicetree.org/schemas/hwlock/qcom-hwspinlock.yaml#

> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#

> > > +

> > > +title: Qualcomm Hardware Mutex Block

> > > +

> > > +maintainers:

> > > +  - Bjorn Andersson <bjorn.andersson@linaro.org>

> > > +

> > > +description:

> > > +  The hardware block provides mutexes utilized between different processors on

> > > +  the SoC as part of the communication protocol used by these processors.

> > > +

> > > +properties:

> > > +  compatible:

> > > +    enum:

> > > +      - qcom,sfpb-mutex

> > > +      - qcom,tcsr-mutex

> > > +

> > > +  '#hwlock-cells':

> > > +    const: 1

> > > +

> > > +  syscon:

> > > +    $ref: "/schemas/types.yaml#/definitions/phandle-array"

> > > +    description:

> > > +      Should be a triple of phandle referencing the TCSR mutex syscon, offset

> > > +      of first mutex within the syscon and stride between each mutex.

> > > +

> > > +required:

> > > +  - compatible

> > > +  - '#hwlock-cells'

> > > +  - syscon

> > > +

> > > +additionalProperties: false

> > > +

> > > +examples:

> > > +  - |

> > > +        tcsr_mutex_block: syscon@fd484000 {

> > > +                compatible = "syscon";

> >

> > 'syscon' alone now generates warnings. Can you drop this node or add a

> > specific compatible.

> >

>

> In the binding examples or in the dts files as well?


Both, but only the examples need to be warning free at this point. So
just dropping the node in the example is enough and you can solve this
for dts files later if you wish.

> The hardware block here is named "TCSR_MUTEX", so the natural compatible

> to add here would be "qcom,tcsr-mutex", but that already has a meaning -

> and the syscon node here doesn't carry all required properties...


So you have 2 nodes pointing to the same h/w? Also a no-no...

> Should we perhaps just remove the split model (syscon and

> qcom,tcsr-mutex as different nodes) from the example and dts files?

> (While maintaining backwards compatibility in the binding and driver)

>

> For the platforms where we have other drivers that needs to poke in this

> syscon it seems to work fine to say:

>         compatible = "qcom,tcsr-mutex", "syscon";


Yes. 'syscon' just means automagically create a regmap.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.txt b/Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.txt
deleted file mode 100644
index 4563f524556b..000000000000
--- a/Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.txt
+++ /dev/null
@@ -1,39 +0,0 @@ 
-Qualcomm Hardware Mutex Block:
-
-The hardware block provides mutexes utilized between different processors on
-the SoC as part of the communication protocol used by these processors.
-
-- compatible:
-	Usage: required
-	Value type: <string>
-	Definition: must be one of:
-		    "qcom,sfpb-mutex",
-		    "qcom,tcsr-mutex"
-
-- syscon:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: one cell containing:
-		    syscon phandle
-		    offset of the hwmutex block within the syscon
-		    stride of the hwmutex registers
-
-- #hwlock-cells:
-	Usage: required
-	Value type: <u32>
-	Definition: must be 1, the specified cell represent the lock id
-		    (hwlock standard property, see hwlock.txt)
-
-Example:
-
-	tcsr_mutex_block: syscon@fd484000 {
-		compatible = "syscon";
-		reg = <0xfd484000 0x2000>;
-	};
-
-	hwlock@fd484000 {
-		compatible = "qcom,tcsr-mutex";
-		syscon = <&tcsr_mutex_block 0 0x80>;
-
-		#hwlock-cells = <1>;
-	};
diff --git a/Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.yaml b/Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.yaml
new file mode 100644
index 000000000000..71e63b52edd5
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.yaml
@@ -0,0 +1,51 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwlock/qcom-hwspinlock.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Hardware Mutex Block
+
+maintainers:
+  - Bjorn Andersson <bjorn.andersson@linaro.org>
+
+description:
+  The hardware block provides mutexes utilized between different processors on
+  the SoC as part of the communication protocol used by these processors.
+
+properties:
+  compatible:
+    enum:
+      - qcom,sfpb-mutex
+      - qcom,tcsr-mutex
+
+  '#hwlock-cells':
+    const: 1
+
+  syscon:
+    $ref: "/schemas/types.yaml#/definitions/phandle-array"
+    description:
+      Should be a triple of phandle referencing the TCSR mutex syscon, offset
+      of first mutex within the syscon and stride between each mutex.
+
+required:
+  - compatible
+  - '#hwlock-cells'
+  - syscon
+
+additionalProperties: false
+
+examples:
+  - |
+        tcsr_mutex_block: syscon@fd484000 {
+                compatible = "syscon";
+                reg = <0xfd484000 0x2000>;
+        };
+
+        hwlock {
+                compatible = "qcom,tcsr-mutex";
+                syscon = <&tcsr_mutex_block 0 0x80>;
+
+                #hwlock-cells = <1>;
+        };
+...