xref: /freebsd/sys/contrib/device-tree/Bindings/nvmem/qcom,qfprom.yaml (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
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
7c66ec88fSEmmanuel Vadottitle: Qualcomm Technologies Inc, QFPROM Efuse bindings
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel VadotallOf:
13c66ec88fSEmmanuel Vadot  - $ref: "nvmem.yaml#"
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadotproperties:
16c66ec88fSEmmanuel Vadot  compatible:
175def4c47SEmmanuel Vadot    items:
185def4c47SEmmanuel Vadot      - enum:
195def4c47SEmmanuel Vadot          - qcom,apq8064-qfprom
205def4c47SEmmanuel Vadot          - qcom,apq8084-qfprom
215def4c47SEmmanuel Vadot          - qcom,msm8974-qfprom
225def4c47SEmmanuel Vadot          - qcom,msm8916-qfprom
235def4c47SEmmanuel Vadot          - qcom,msm8996-qfprom
245def4c47SEmmanuel Vadot          - qcom,msm8998-qfprom
255def4c47SEmmanuel Vadot          - qcom,qcs404-qfprom
265def4c47SEmmanuel Vadot          - qcom,sc7180-qfprom
27*2eb4d8dcSEmmanuel Vadot          - qcom,sc7280-qfprom
285def4c47SEmmanuel Vadot          - qcom,sdm845-qfprom
295def4c47SEmmanuel Vadot      - const: qcom,qfprom
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot  reg:
32c66ec88fSEmmanuel Vadot    # If the QFPROM is read-only OS image then only the corrected region
33c66ec88fSEmmanuel Vadot    # needs to be provided.  If the QFPROM is writable then all 4 regions
34c66ec88fSEmmanuel Vadot    # must be provided.
35c66ec88fSEmmanuel Vadot    oneOf:
36c66ec88fSEmmanuel Vadot      - items:
37c66ec88fSEmmanuel Vadot          - description: The corrected region.
38c66ec88fSEmmanuel Vadot      - items:
39c66ec88fSEmmanuel Vadot          - description: The corrected region.
40c66ec88fSEmmanuel Vadot          - description: The raw region.
41c66ec88fSEmmanuel Vadot          - description: The config region.
42c66ec88fSEmmanuel Vadot          - description: The security control region.
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot  # Clock must be provided if QFPROM is writable from the OS image.
45c66ec88fSEmmanuel Vadot  clocks:
46c66ec88fSEmmanuel Vadot    maxItems: 1
47c66ec88fSEmmanuel Vadot  clock-names:
48c66ec88fSEmmanuel Vadot    const: core
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot  # Supply reference must be provided if QFPROM is writable from the OS image.
51c66ec88fSEmmanuel Vadot  vcc-supply:
52c66ec88fSEmmanuel Vadot    description: Our power supply.
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot  # Needed if any child nodes are present.
55c66ec88fSEmmanuel Vadot  "#address-cells":
56c66ec88fSEmmanuel Vadot    const: 1
57c66ec88fSEmmanuel Vadot  "#size-cells":
58c66ec88fSEmmanuel Vadot    const: 1
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadotrequired:
61c66ec88fSEmmanuel Vadot  - compatible
62c66ec88fSEmmanuel Vadot  - reg
63c66ec88fSEmmanuel Vadot
646be33864SEmmanuel VadotunevaluatedProperties: false
656be33864SEmmanuel Vadot
66c66ec88fSEmmanuel Vadotexamples:
67c66ec88fSEmmanuel Vadot  - |
68c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-sc7180.h>
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot    soc {
71c66ec88fSEmmanuel Vadot      #address-cells = <2>;
72c66ec88fSEmmanuel Vadot      #size-cells = <2>;
73c66ec88fSEmmanuel Vadot
74c66ec88fSEmmanuel Vadot      efuse@784000 {
755def4c47SEmmanuel Vadot        compatible = "qcom,sc7180-qfprom", "qcom,qfprom";
76c66ec88fSEmmanuel Vadot        reg = <0 0x00784000 0 0x8ff>,
77c66ec88fSEmmanuel Vadot              <0 0x00780000 0 0x7a0>,
78c66ec88fSEmmanuel Vadot              <0 0x00782000 0 0x100>,
79c66ec88fSEmmanuel Vadot              <0 0x00786000 0 0x1fff>;
80c66ec88fSEmmanuel Vadot        clocks = <&gcc GCC_SEC_CTRL_CLK_SRC>;
81c66ec88fSEmmanuel Vadot        clock-names = "core";
82c66ec88fSEmmanuel Vadot        #address-cells = <1>;
83c66ec88fSEmmanuel Vadot        #size-cells = <1>;
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot        vcc-supply = <&vreg_l11a_1p8>;
86c66ec88fSEmmanuel Vadot
87c66ec88fSEmmanuel Vadot        hstx-trim-primary@25b {
88c66ec88fSEmmanuel Vadot          reg = <0x25b 0x1>;
89c66ec88fSEmmanuel Vadot          bits = <1 3>;
90c66ec88fSEmmanuel Vadot        };
91c66ec88fSEmmanuel Vadot      };
92c66ec88fSEmmanuel Vadot    };
93c66ec88fSEmmanuel Vadot
94c66ec88fSEmmanuel Vadot  - |
95c66ec88fSEmmanuel Vadot    soc {
96c66ec88fSEmmanuel Vadot      #address-cells = <2>;
97c66ec88fSEmmanuel Vadot      #size-cells = <2>;
98c66ec88fSEmmanuel Vadot
99c66ec88fSEmmanuel Vadot      efuse@784000 {
1005def4c47SEmmanuel Vadot        compatible = "qcom,sdm845-qfprom", "qcom,qfprom";
101c66ec88fSEmmanuel Vadot        reg = <0 0x00784000 0 0x8ff>;
102c66ec88fSEmmanuel Vadot        #address-cells = <1>;
103c66ec88fSEmmanuel Vadot        #size-cells = <1>;
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot        hstx-trim-primary@1eb {
106c66ec88fSEmmanuel Vadot          reg = <0x1eb 0x1>;
107c66ec88fSEmmanuel Vadot          bits = <1 4>;
108c66ec88fSEmmanuel Vadot        };
109c66ec88fSEmmanuel Vadot      };
110c66ec88fSEmmanuel Vadot    };
111