xref: /freebsd/sys/contrib/device-tree/Bindings/nvmem/qcom,qfprom.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/nvmem/qcom,qfprom.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Qualcomm Technologies Inc, QFPROM Efuse
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel VadotallOf:
13fac71e4eSEmmanuel Vadot  - $ref: nvmem.yaml#
1484943d6fSEmmanuel Vadot  - $ref: nvmem-deprecated-cells.yaml#
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel Vadotproperties:
17c66ec88fSEmmanuel Vadot  compatible:
185def4c47SEmmanuel Vadot    items:
195def4c47SEmmanuel Vadot      - enum:
205def4c47SEmmanuel Vadot          - qcom,apq8064-qfprom
215def4c47SEmmanuel Vadot          - qcom,apq8084-qfprom
22f126890aSEmmanuel Vadot          - qcom,ipq5332-qfprom
23f126890aSEmmanuel Vadot          - qcom,ipq6018-qfprom
247ef62cebSEmmanuel Vadot          - qcom,ipq8064-qfprom
25cb7aa33aSEmmanuel Vadot          - qcom,ipq8074-qfprom
26f126890aSEmmanuel Vadot          - qcom,ipq9574-qfprom
27aa1a8ff2SEmmanuel Vadot          - qcom,msm8226-qfprom
285def4c47SEmmanuel Vadot          - qcom,msm8916-qfprom
29cb7aa33aSEmmanuel Vadot          - qcom,msm8974-qfprom
30cb7aa33aSEmmanuel Vadot          - qcom,msm8976-qfprom
315def4c47SEmmanuel Vadot          - qcom,msm8996-qfprom
325def4c47SEmmanuel Vadot          - qcom,msm8998-qfprom
33aa1a8ff2SEmmanuel Vadot          - qcom,qcm2290-qfprom
345def4c47SEmmanuel Vadot          - qcom,qcs404-qfprom
355def4c47SEmmanuel Vadot          - qcom,sc7180-qfprom
362eb4d8dcSEmmanuel Vadot          - qcom,sc7280-qfprom
37*7d0873ebSEmmanuel Vadot          - qcom,sc8280xp-qfprom
387ef62cebSEmmanuel Vadot          - qcom,sdm630-qfprom
39cb7aa33aSEmmanuel Vadot          - qcom,sdm670-qfprom
405def4c47SEmmanuel Vadot          - qcom,sdm845-qfprom
417ef62cebSEmmanuel Vadot          - qcom,sm6115-qfprom
42fac71e4eSEmmanuel Vadot          - qcom,sm6350-qfprom
43fac71e4eSEmmanuel Vadot          - qcom,sm6375-qfprom
44cb7aa33aSEmmanuel Vadot          - qcom,sm8150-qfprom
45cb7aa33aSEmmanuel Vadot          - qcom,sm8250-qfprom
46*7d0873ebSEmmanuel Vadot          - qcom,sm8450-qfprom
47*7d0873ebSEmmanuel Vadot          - qcom,sm8550-qfprom
48*7d0873ebSEmmanuel Vadot          - qcom,sm8650-qfprom
495def4c47SEmmanuel Vadot      - const: qcom,qfprom
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot  reg:
52c66ec88fSEmmanuel Vadot    # If the QFPROM is read-only OS image then only the corrected region
53c66ec88fSEmmanuel Vadot    # needs to be provided.  If the QFPROM is writable then all 4 regions
54c66ec88fSEmmanuel Vadot    # must be provided.
55c66ec88fSEmmanuel Vadot    oneOf:
56c66ec88fSEmmanuel Vadot      - items:
57c66ec88fSEmmanuel Vadot          - description: The corrected region.
58c66ec88fSEmmanuel Vadot      - items:
59c66ec88fSEmmanuel Vadot          - description: The corrected region.
60c66ec88fSEmmanuel Vadot          - description: The raw region.
61c66ec88fSEmmanuel Vadot          - description: The config region.
62c66ec88fSEmmanuel Vadot          - description: The security control region.
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadot  # Clock must be provided if QFPROM is writable from the OS image.
65c66ec88fSEmmanuel Vadot  clocks:
66c66ec88fSEmmanuel Vadot    maxItems: 1
67c66ec88fSEmmanuel Vadot  clock-names:
68c66ec88fSEmmanuel Vadot    const: core
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot  # Supply reference must be provided if QFPROM is writable from the OS image.
71c66ec88fSEmmanuel Vadot  vcc-supply:
72c66ec88fSEmmanuel Vadot    description: Our power supply.
73c66ec88fSEmmanuel Vadot
74354d7675SEmmanuel Vadot  power-domains:
75354d7675SEmmanuel Vadot    maxItems: 1
76354d7675SEmmanuel Vadot
77c66ec88fSEmmanuel Vadotrequired:
78c66ec88fSEmmanuel Vadot  - compatible
79c66ec88fSEmmanuel Vadot  - reg
80c66ec88fSEmmanuel Vadot
816be33864SEmmanuel VadotunevaluatedProperties: false
826be33864SEmmanuel Vadot
83c66ec88fSEmmanuel Vadotexamples:
84c66ec88fSEmmanuel Vadot  - |
85c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-sc7180.h>
86c66ec88fSEmmanuel Vadot
87c66ec88fSEmmanuel Vadot    soc {
88c66ec88fSEmmanuel Vadot      #address-cells = <2>;
89c66ec88fSEmmanuel Vadot      #size-cells = <2>;
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel Vadot      efuse@784000 {
925def4c47SEmmanuel Vadot        compatible = "qcom,sc7180-qfprom", "qcom,qfprom";
93c66ec88fSEmmanuel Vadot        reg = <0 0x00784000 0 0x8ff>,
94c66ec88fSEmmanuel Vadot              <0 0x00780000 0 0x7a0>,
95c66ec88fSEmmanuel Vadot              <0 0x00782000 0 0x100>,
96c66ec88fSEmmanuel Vadot              <0 0x00786000 0 0x1fff>;
97c66ec88fSEmmanuel Vadot        clocks = <&gcc GCC_SEC_CTRL_CLK_SRC>;
98c66ec88fSEmmanuel Vadot        clock-names = "core";
99c66ec88fSEmmanuel Vadot        #address-cells = <1>;
100c66ec88fSEmmanuel Vadot        #size-cells = <1>;
101c66ec88fSEmmanuel Vadot
102c66ec88fSEmmanuel Vadot        vcc-supply = <&vreg_l11a_1p8>;
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot        hstx-trim-primary@25b {
105c66ec88fSEmmanuel Vadot          reg = <0x25b 0x1>;
106c66ec88fSEmmanuel Vadot          bits = <1 3>;
107c66ec88fSEmmanuel Vadot        };
108c66ec88fSEmmanuel Vadot      };
109c66ec88fSEmmanuel Vadot    };
110c66ec88fSEmmanuel Vadot
111c66ec88fSEmmanuel Vadot  - |
112c66ec88fSEmmanuel Vadot    soc {
113c66ec88fSEmmanuel Vadot      #address-cells = <2>;
114c66ec88fSEmmanuel Vadot      #size-cells = <2>;
115c66ec88fSEmmanuel Vadot
116c66ec88fSEmmanuel Vadot      efuse@784000 {
1175def4c47SEmmanuel Vadot        compatible = "qcom,sdm845-qfprom", "qcom,qfprom";
118c66ec88fSEmmanuel Vadot        reg = <0 0x00784000 0 0x8ff>;
119c66ec88fSEmmanuel Vadot        #address-cells = <1>;
120c66ec88fSEmmanuel Vadot        #size-cells = <1>;
121c66ec88fSEmmanuel Vadot
122c66ec88fSEmmanuel Vadot        hstx-trim-primary@1eb {
123c66ec88fSEmmanuel Vadot          reg = <0x1eb 0x1>;
124c66ec88fSEmmanuel Vadot          bits = <1 4>;
125c66ec88fSEmmanuel Vadot        };
126c66ec88fSEmmanuel Vadot      };
127c66ec88fSEmmanuel Vadot    };
128