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@xxxxxxxxxxx>
---
.../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@xxxxxxxxxxx>
+
+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