xref: /linux/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml (revision fbf5df34a4dbcd09d433dd4f0916bf9b2ddb16de)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/nvmem/qcom,qfprom.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Technologies Inc, QFPROM Efuse
8
9maintainers:
10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12allOf:
13  - $ref: nvmem.yaml#
14  - $ref: nvmem-deprecated-cells.yaml#
15
16properties:
17  compatible:
18    items:
19      - enum:
20          - qcom,apq8064-qfprom
21          - qcom,apq8084-qfprom
22          - qcom,ipq5018-qfprom
23          - qcom,ipq5332-qfprom
24          - qcom,ipq5424-qfprom
25          - qcom,ipq6018-qfprom
26          - qcom,ipq8064-qfprom
27          - qcom,ipq8074-qfprom
28          - qcom,ipq9574-qfprom
29          - qcom,kaanapali-qfprom
30          - qcom,msm8226-qfprom
31          - qcom,msm8916-qfprom
32          - qcom,msm8917-qfprom
33          - qcom,msm8937-qfprom
34          - qcom,msm8960-qfprom
35          - qcom,msm8974-qfprom
36          - qcom,msm8976-qfprom
37          - qcom,msm8996-qfprom
38          - qcom,msm8998-qfprom
39          - qcom,qcm2290-qfprom
40          - qcom,qcs404-qfprom
41          - qcom,qcs615-qfprom
42          - qcom,qcs8300-qfprom
43          - qcom,sa8775p-qfprom
44          - qcom,sar2130p-qfprom
45          - qcom,sc7180-qfprom
46          - qcom,sc7280-qfprom
47          - qcom,sc8280xp-qfprom
48          - qcom,sdm630-qfprom
49          - qcom,sdm670-qfprom
50          - qcom,sdm845-qfprom
51          - qcom,sm6115-qfprom
52          - qcom,sm6350-qfprom
53          - qcom,sm6375-qfprom
54          - qcom,sm8150-qfprom
55          - qcom,sm8250-qfprom
56          - qcom,sm8450-qfprom
57          - qcom,sm8550-qfprom
58          - qcom,sm8650-qfprom
59          - qcom,sm8750-qfprom
60          - qcom,x1e80100-qfprom
61      - const: qcom,qfprom
62
63  reg:
64    # If the QFPROM is read-only OS image then only the corrected region
65    # needs to be provided.  If the QFPROM is writable then all 4 regions
66    # must be provided.
67    oneOf:
68      - items:
69          - description: The corrected region.
70      - items:
71          - description: The corrected region.
72          - description: The raw region.
73          - description: The config region.
74          - description: The security control region.
75
76  # Clock must be provided if QFPROM is writable from the OS image.
77  clocks:
78    maxItems: 1
79  clock-names:
80    const: core
81
82  # Supply reference must be provided if QFPROM is writable from the OS image.
83  vcc-supply:
84    description: Our power supply.
85
86  power-domains:
87    maxItems: 1
88
89required:
90  - compatible
91  - reg
92
93unevaluatedProperties: false
94
95examples:
96  - |
97    #include <dt-bindings/clock/qcom,gcc-sc7180.h>
98
99    soc {
100      #address-cells = <2>;
101      #size-cells = <2>;
102
103      efuse@784000 {
104        compatible = "qcom,sc7180-qfprom", "qcom,qfprom";
105        reg = <0 0x00784000 0 0x8ff>,
106              <0 0x00780000 0 0x7a0>,
107              <0 0x00782000 0 0x100>,
108              <0 0x00786000 0 0x1fff>;
109        clocks = <&gcc GCC_SEC_CTRL_CLK_SRC>;
110        clock-names = "core";
111        #address-cells = <1>;
112        #size-cells = <1>;
113
114        vcc-supply = <&vreg_l11a_1p8>;
115
116        hstx-trim-primary@25b {
117          reg = <0x25b 0x1>;
118          bits = <1 3>;
119        };
120      };
121    };
122
123  - |
124    soc {
125      #address-cells = <2>;
126      #size-cells = <2>;
127
128      efuse@784000 {
129        compatible = "qcom,sdm845-qfprom", "qcom,qfprom";
130        reg = <0 0x00784000 0 0x8ff>;
131        #address-cells = <1>;
132        #size-cells = <1>;
133
134        hstx-trim-primary@1eb {
135          reg = <0x1eb 0x1>;
136          bits = <1 4>;
137        };
138      };
139    };
140