Linux 6.11-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / nvmem / st,stm32-romem.yaml
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
7 title: STMicroelectronics STM32 Factory-programmed data
8
9 description: |
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
15 maintainers:
16   - Fabrice Gasnier <fabrice.gasnier@foss.st.com>
17
18 allOf:
19   - $ref: nvmem.yaml#
20
21 properties:
22   compatible:
23     enum:
24       - st,stm32f4-otp
25       - st,stm32mp13-bsec
26       - st,stm32mp15-bsec
27       - st,stm32mp25-bsec
28
29   reg:
30     maxItems: 1
31
32 patternProperties:
33   "^.*@[0-9a-f]+$":
34     type: object
35
36     properties:
37       st,non-secure-otp:
38         description: |
39           This property explicits a factory programmed area that both secure
40           and non-secure worlds can access. It is needed when, by default, the
41           related area can only be reached by the secure world.
42         type: boolean
43
44 required:
45   - "#address-cells"
46   - "#size-cells"
47   - compatible
48   - reg
49
50 unevaluatedProperties: false
51
52 examples:
53   - |
54     efuse@1fff7800 {
55       compatible = "st,stm32f4-otp";
56       reg = <0x1fff7800 0x400>;
57       #address-cells = <1>;
58       #size-cells = <1>;
59
60       calib@22c {
61         reg = <0x22c 0x2>;
62       };
63
64       mac_addr@e4 {
65         reg = <0xe4 0x8>;
66         st,non-secure-otp;
67       };
68     };
69
70 ...