Message ID | 20210723135239.388325-4-clement.leger@bootlin.com |
---|---|
State | New |
Headers | show |
Series | add SMC based regmap driver for secure syscon access | expand |
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
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 --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>; + }; + +...
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