Documentation / devicetree / bindings / nvmem / st,stm32-romem.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/nvmem/st,stm32-romem.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics STM32 Factory-programmed data

description: |
  This represents STM32 Factory-programmed read only non-volatile area: locked
  flash, OTP, read-only HW regs... This contains various information such as:
  analog calibration data for temperature sensor (e.g. TS_CAL1, TS_CAL2),
  internal vref (VREFIN_CAL), unique device ID...

maintainers:
  - Fabrice Gasnier <fabrice.gasnier@foss.st.com>

allOf:
  - $ref: nvmem.yaml#

properties:
  compatible:
    enum:
      - st,stm32f4-otp
      - st,stm32mp13-bsec
      - st,stm32mp15-bsec
      - st,stm32mp25-bsec

  reg:
    maxItems: 1

patternProperties:
  "^.*@[0-9a-f]+$":
    type: object

    properties:
      st,non-secure-otp:
        description: |
          This property explicits a factory programmed area that both secure
          and non-secure worlds can access. It is needed when, by default, the
          related area can only be reached by the secure world.
        type: boolean

required:
  - "#address-cells"
  - "#size-cells"
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    efuse@1fff7800 {
      compatible = "st,stm32f4-otp";
      reg = <0x1fff7800 0x400>;
      #address-cells = <1>;
      #size-cells = <1>;
 
      calib@22c {
        reg = <0x22c 0x2>;
      };
 
      mac_addr@e4 {
        reg = <0xe4 0x8>;
        st,non-secure-otp;
      };
    };

...