xref: /linux/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml (revision 06a130e42a5bfc84795464bff023bff4c16f58c5)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/nvmem/st,stm32-romem.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STMicroelectronics STM32 Factory-programmed data
8
9description: |
10  This represents STM32 Factory-programmed read only non-volatile area: locked
11  flash, OTP, read-only HW regs... This contains various information such as:
12  analog calibration data for temperature sensor (e.g. TS_CAL1, TS_CAL2),
13  internal vref (VREFIN_CAL), unique device ID...
14
15maintainers:
16  - Fabrice Gasnier <fabrice.gasnier@foss.st.com>
17
18allOf:
19  - $ref: nvmem.yaml#
20  - $ref: nvmem-deprecated-cells.yaml#
21
22properties:
23  compatible:
24    enum:
25      - st,stm32f4-otp
26      - st,stm32mp13-bsec
27      - st,stm32mp15-bsec
28      - st,stm32mp25-bsec
29
30  reg:
31    maxItems: 1
32
33patternProperties:
34  "^.*@[0-9a-f]+$":
35    type: object
36    $ref: layouts/fixed-cell.yaml
37    unevaluatedProperties: false
38
39    properties:
40      st,non-secure-otp:
41        description: |
42          This property explicits a factory programmed area that both secure
43          and non-secure worlds can access. It is needed when, by default, the
44          related area can only be reached by the secure world.
45        type: boolean
46
47required:
48  - "#address-cells"
49  - "#size-cells"
50  - compatible
51  - reg
52
53unevaluatedProperties: false
54
55examples:
56  - |
57    efuse@1fff7800 {
58      compatible = "st,stm32f4-otp";
59      reg = <0x1fff7800 0x400>;
60      #address-cells = <1>;
61      #size-cells = <1>;
62
63      calib@22c {
64        reg = <0x22c 0x2>;
65      };
66
67      mac_addr@e4 {
68        reg = <0xe4 0x8>;
69        st,non-secure-otp;
70      };
71    };
72
73...
74