diff mbox series

[3/3] dt-bindings: mfd: add "syscon-smc" YAML description

Message ID 20210723135239.388325-4-clement.leger@bootlin.com
State New
Headers show
Series add SMC based regmap driver for secure syscon access | expand

Commit Message

Clément Léger July 23, 2021, 1:52 p.m. UTC
This patch adds documentation for the "syscon-smc" compatible which describes
a syscon using a SMC regmap instead of a MMIO one. This allows accessing system
controllers that are set as secure by using SMC handled by the secure monitor.

Signed-off-by: Clément Léger <clement.leger@bootlin.com>
---
 .../devicetree/bindings/mfd/syscon-smc.yaml   | 57 +++++++++++++++++++
 1 file changed, 57 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/syscon-smc.yaml

Comments

Rob Herring (Arm) July 29, 2021, 9:19 p.m. UTC | #1
On Fri, Jul 23, 2021 at 03:52:39PM +0200, Clément Léger wrote:
> This patch adds documentation for the "syscon-smc" compatible which describes

> a syscon using a SMC regmap instead of a MMIO one. This allows accessing system

> controllers that are set as secure by using SMC handled by the secure monitor.

> 

> Signed-off-by: Clément Léger <clement.leger@bootlin.com>

> ---

>  .../devicetree/bindings/mfd/syscon-smc.yaml   | 57 +++++++++++++++++++

>  1 file changed, 57 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/mfd/syscon-smc.yaml

> 

> diff --git a/Documentation/devicetree/bindings/mfd/syscon-smc.yaml b/Documentation/devicetree/bindings/mfd/syscon-smc.yaml

> new file mode 100644

> index 000000000000..6ce1392c5e7f

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/mfd/syscon-smc.yaml

> @@ -0,0 +1,57 @@

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

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/mfd/syscon-smc.yaml#

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

> +

> +title: System Controller Registers R/W via SMC Device Tree Bindings

> +

> +description: |

> +  System controller SMC node represents a register region containing a set

> +  of miscellaneous registers accessed through a secure monitor.

> +  The typical use-case is the same as the syscon one but when running with a

> +  secure monitor.

> +

> +maintainers:

> +  - Lee Jones <lee.jones@linaro.org>

> +

> +properties:

> +  compatible:

> +    anyOf:

> +      - items:

> +          - enum:

> +              - atmel,sama5d2-sfr

> +

> +          - const: syscon-smc


I regret having 'syscon' as a compatible, so nak on a 2nd flavor of it. 
It's only purpose is a hint to Linux to automagically create a regmap for 
you.

All you need is the specific compatible, atmel,sama5d2-sfr, and you can 
imply the rest of this from it. That's assuming the conclusion is a 
register read/write interface on SMC is a good idea, but I don't think 
it is.

Rob
Clément Léger July 30, 2021, 7:21 a.m. UTC | #2
Le Thu, 29 Jul 2021 15:19:19 -0600,
Rob Herring <robh@kernel.org> a écrit :

> On Fri, Jul 23, 2021 at 03:52:39PM +0200, Clément Léger wrote:

> > This patch adds documentation for the "syscon-smc" compatible which

> > describes a syscon using a SMC regmap instead of a MMIO one. This

> > allows accessing system controllers that are set as secure by using

> > SMC handled by the secure monitor.

> > 

> > Signed-off-by: Clément Léger <clement.leger@bootlin.com>

> > ---

> >  .../devicetree/bindings/mfd/syscon-smc.yaml   | 57

> > +++++++++++++++++++ 1 file changed, 57 insertions(+)

> >  create mode 100644

> > Documentation/devicetree/bindings/mfd/syscon-smc.yaml

> > 

> > diff --git a/Documentation/devicetree/bindings/mfd/syscon-smc.yaml

> > b/Documentation/devicetree/bindings/mfd/syscon-smc.yaml new file

> > mode 100644 index 000000000000..6ce1392c5e7f

> > --- /dev/null

> > +++ b/Documentation/devicetree/bindings/mfd/syscon-smc.yaml

> > @@ -0,0 +1,57 @@

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

> > +%YAML 1.2

> > +---

> > +$id: http://devicetree.org/schemas/mfd/syscon-smc.yaml#

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

> > +

> > +title: System Controller Registers R/W via SMC Device Tree Bindings

> > +

> > +description: |

> > +  System controller SMC node represents a register region

> > containing a set

> > +  of miscellaneous registers accessed through a secure monitor.

> > +  The typical use-case is the same as the syscon one but when

> > running with a

> > +  secure monitor.

> > +

> > +maintainers:

> > +  - Lee Jones <lee.jones@linaro.org>

> > +

> > +properties:

> > +  compatible:

> > +    anyOf:

> > +      - items:

> > +          - enum:

> > +              - atmel,sama5d2-sfr

> > +

> > +          - const: syscon-smc  

> 

> I regret having 'syscon' as a compatible, so nak on a 2nd flavor of

> it. It's only purpose is a hint to Linux to automagically create a

> regmap for you.


Indeed.

> 

> All you need is the specific compatible, atmel,sama5d2-sfr, and you

> can imply the rest of this from it. That's assuming the conclusion is

> a register read/write interface on SMC is a good idea, but I don't

> think it is.


Ok noted, I'll try to find something else to implement that.

Clément

> 

> Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mfd/syscon-smc.yaml b/Documentation/devicetree/bindings/mfd/syscon-smc.yaml
new file mode 100644
index 000000000000..6ce1392c5e7f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/syscon-smc.yaml
@@ -0,0 +1,57 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/syscon-smc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: System Controller Registers R/W via SMC Device Tree Bindings
+
+description: |
+  System controller SMC node represents a register region containing a set
+  of miscellaneous registers accessed through a secure monitor.
+  The typical use-case is the same as the syscon one but when running with a
+  secure monitor.
+
+maintainers:
+  - Lee Jones <lee.jones@linaro.org>
+
+properties:
+  compatible:
+    anyOf:
+      - items:
+          - enum:
+              - atmel,sama5d2-sfr
+
+          - const: syscon-smc
+
+      - contains:
+          const: syscon-smc
+        minItems: 2
+        maxItems: 4  # Should be enough
+
+  arm,smc-id:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: |
+      The ATF smc function id used by the firmware.
+
+  reg-io-width:
+    description: |
+      The size (in bytes) of the IO accesses that should be performed
+      on the device.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [1, 2, 4, 8]
+
+required:
+  - compatible
+  - arm,smc-id
+
+additionalProperties: false
+
+examples:
+  - |
+    sfr {
+        compatible = "atmel,sama5d2-sfr", "syscon-smc";
+        arm,smc-id = <0x02000300>;
+    };
+
+...