Message ID | 20230724083849.8277-2-quic_kbajaj@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | nvmem: sec-qfprom: Add Qualcomm secure QFPROM support | expand |
On Mon, Jul 24, 2023 at 02:08:48PM +0530, Komal Bajaj wrote: > This patch adds bindings for secure qfprom found in QCOM SOCs. > Secure QFPROM driver is based on simple nvmem framework. > > Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com> > --- > .../bindings/nvmem/qcom,sec-qfprom.yaml | 58 +++++++++++++++++++ > 1 file changed, 58 insertions(+) > create mode 100644 Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml > > diff --git a/Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml > new file mode 100644 > index 000000000000..1425ced36fdf > --- /dev/null > +++ b/Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml > @@ -0,0 +1,58 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/nvmem/qcom,sec-qfprom.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Technologies Inc, Secure QFPROM Efuse > + > +maintainers: > + - Komal Bajaj <quic_kbajaj@quicinc.com> > + > +description: | Don't need '|' > + For some of the Qualcomm SoC's, it is possible that > + the qfprom region is protected from non-secure access. > + In such situations, linux will have to use secure calls s/linux/the OS/ > + to read the region. Wrap lines at 80 The wording for this is strange. Only sometimes for this binding do secure calls have to be used? If you are using secure calls, does that mean the 'reg' address is not directly accessible. > + > +allOf: > + - $ref: nvmem.yaml# > + > +properties: > + compatible: > + items: > + - enum: > + - qcom,qdu1000-sec-qfprom > + - const: qcom,sec-qfprom > + > + reg: > + items: > + - description: The secure qfprom corrected region. > + > +required: > + - compatible > + - reg > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/qcom,gcc-sc7180.h> > + > + soc { > + #address-cells = <2>; > + #size-cells = <2>; > + > + efuse@221c8000 { > + compatible = "qcom,qdu1000-sec-qfprom", "qcom,sec-qfprom"; > + reg = <0 0x221c8000 0 0x1000>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + multi_chan_ddr: multi-chan-ddr@12b { > + reg = <0x12b 0x1>; > + bits = <0 2>; > + }; > + }; > + }; > + > -- > 2.40.1 >
On Mon, Jul 24, 2023 at 02:08:48PM +0530, Komal Bajaj wrote: > This patch adds bindings for secure qfprom found in QCOM SOCs. > Secure QFPROM driver is based on simple nvmem framework. > > Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com> > --- > .../bindings/nvmem/qcom,sec-qfprom.yaml | 58 +++++++++++++++++++ > 1 file changed, 58 insertions(+) > create mode 100644 Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml > [...] > +$id: http://devicetree.org/schemas/nvmem/qcom,sec-qfprom.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Technologies Inc, Secure QFPROM Efuse > + > +maintainers: > + - Komal Bajaj <quic_kbajaj@quicinc.com> > + > +description: | > + For some of the Qualcomm SoC's, it is possible that > + the qfprom region is protected from non-secure access. > + In such situations, linux will have to use secure calls > + to read the region. > + > +allOf: > + - $ref: nvmem.yaml# > + > +properties: > + compatible: > + items: > + - enum: > + - qcom,qdu1000-sec-qfprom > + - const: qcom,sec-qfprom > + > + reg: > + items: > + - description: The secure qfprom corrected region. > + > +required: > + - compatible > + - reg > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/qcom,gcc-sc7180.h> > + minor nitpick: Since this device does not have any clocks, the above header inclusion can be dropped. > + soc { > + #address-cells = <2>; > + #size-cells = <2>; > + > + efuse@221c8000 { > + compatible = "qcom,qdu1000-sec-qfprom", "qcom,sec-qfprom"; > + reg = <0 0x221c8000 0 0x1000>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + multi_chan_ddr: multi-chan-ddr@12b { > + reg = <0x12b 0x1>; > + bits = <0 2>; > + }; > + }; > + }; > + Thanks, Pavan
On 7/26/2023 10:10 PM, Rob Herring wrote: > On Mon, Jul 24, 2023 at 02:08:48PM +0530, Komal Bajaj wrote: >> This patch adds bindings for secure qfprom found in QCOM SOCs. >> Secure QFPROM driver is based on simple nvmem framework. >> >> Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com> >> --- >> .../bindings/nvmem/qcom,sec-qfprom.yaml | 58 +++++++++++++++++++ >> 1 file changed, 58 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml >> >> diff --git a/Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml >> new file mode 100644 >> index 000000000000..1425ced36fdf >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml >> @@ -0,0 +1,58 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/nvmem/qcom,sec-qfprom.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm Technologies Inc, Secure QFPROM Efuse >> + >> +maintainers: >> + - Komal Bajaj <quic_kbajaj@quicinc.com> >> + >> +description: | > Don't need '|' Okay, will drop this. Just a doubt here, when do we use this '|' symbol, I thought we will use this when we have multi-line description/value. > >> + For some of the Qualcomm SoC's, it is possible that >> + the qfprom region is protected from non-secure access. >> + In such situations, linux will have to use secure calls > s/linux/the OS/ Will do it. > >> + to read the region. > Wrap lines at 80 > > The wording for this is strange. Only sometimes for this binding do > secure calls have to be used? If you are using secure calls, does that > mean the 'reg' address is not directly accessible. For this binding, we will always use secure calls because the 'reg' address is not directly accessible to the OS. Thanks Komal > >> + >> +allOf: >> + - $ref: nvmem.yaml# >> + >> +properties: >> + compatible: >> + items: >> + - enum: >> + - qcom,qdu1000-sec-qfprom >> + - const: qcom,sec-qfprom >> + >> + reg: >> + items: >> + - description: The secure qfprom corrected region. >> + >> +required: >> + - compatible >> + - reg >> + >> +unevaluatedProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/clock/qcom,gcc-sc7180.h> >> + >> + soc { >> + #address-cells = <2>; >> + #size-cells = <2>; >> + >> + efuse@221c8000 { >> + compatible = "qcom,qdu1000-sec-qfprom", "qcom,sec-qfprom"; >> + reg = <0 0x221c8000 0 0x1000>; >> + #address-cells = <1>; >> + #size-cells = <1>; >> + >> + multi_chan_ddr: multi-chan-ddr@12b { >> + reg = <0x12b 0x1>; >> + bits = <0 2>; >> + }; >> + }; >> + }; >> + >> -- >> 2.40.1 >>
On 7/27/2023 2:39 PM, Pavan Kondeti wrote: > On Mon, Jul 24, 2023 at 02:08:48PM +0530, Komal Bajaj wrote: >> This patch adds bindings for secure qfprom found in QCOM SOCs. >> Secure QFPROM driver is based on simple nvmem framework. >> >> Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com> >> --- >> .../bindings/nvmem/qcom,sec-qfprom.yaml | 58 +++++++++++++++++++ >> 1 file changed, 58 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml >> > [...] > >> +$id: http://devicetree.org/schemas/nvmem/qcom,sec-qfprom.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm Technologies Inc, Secure QFPROM Efuse >> + >> +maintainers: >> + - Komal Bajaj <quic_kbajaj@quicinc.com> >> + >> +description: | >> + For some of the Qualcomm SoC's, it is possible that >> + the qfprom region is protected from non-secure access. >> + In such situations, linux will have to use secure calls >> + to read the region. >> + >> +allOf: >> + - $ref: nvmem.yaml# >> + >> +properties: >> + compatible: >> + items: >> + - enum: >> + - qcom,qdu1000-sec-qfprom >> + - const: qcom,sec-qfprom >> + >> + reg: >> + items: >> + - description: The secure qfprom corrected region. >> + >> +required: >> + - compatible >> + - reg >> + >> +unevaluatedProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/clock/qcom,gcc-sc7180.h> >> + > minor nitpick: > > Since this device does not have any clocks, the above header inclusion > can be dropped. Yes, it is not needed, will drop it. Thanks Komal > >> + soc { >> + #address-cells = <2>; >> + #size-cells = <2>; >> + >> + efuse@221c8000 { >> + compatible = "qcom,qdu1000-sec-qfprom", "qcom,sec-qfprom"; >> + reg = <0 0x221c8000 0 0x1000>; >> + #address-cells = <1>; >> + #size-cells = <1>; >> + >> + multi_chan_ddr: multi-chan-ddr@12b { >> + reg = <0x12b 0x1>; >> + bits = <0 2>; >> + }; >> + }; >> + }; >> + > Thanks, > Pavan
diff --git a/Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml new file mode 100644 index 000000000000..1425ced36fdf --- /dev/null +++ b/Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/nvmem/qcom,sec-qfprom.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies Inc, Secure QFPROM Efuse + +maintainers: + - Komal Bajaj <quic_kbajaj@quicinc.com> + +description: | + For some of the Qualcomm SoC's, it is possible that + the qfprom region is protected from non-secure access. + In such situations, linux will have to use secure calls + to read the region. + +allOf: + - $ref: nvmem.yaml# + +properties: + compatible: + items: + - enum: + - qcom,qdu1000-sec-qfprom + - const: qcom,sec-qfprom + + reg: + items: + - description: The secure qfprom corrected region. + +required: + - compatible + - reg + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/clock/qcom,gcc-sc7180.h> + + soc { + #address-cells = <2>; + #size-cells = <2>; + + efuse@221c8000 { + compatible = "qcom,qdu1000-sec-qfprom", "qcom,sec-qfprom"; + reg = <0 0x221c8000 0 0x1000>; + #address-cells = <1>; + #size-cells = <1>; + + multi_chan_ddr: multi-chan-ddr@12b { + reg = <0x12b 0x1>; + bits = <0 2>; + }; + }; + }; +
This patch adds bindings for secure qfprom found in QCOM SOCs. Secure QFPROM driver is based on simple nvmem framework. Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com> --- .../bindings/nvmem/qcom,sec-qfprom.yaml | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Documentation/devicetree/bindings/nvmem/qcom,sec-qfprom.yaml -- 2.40.1