[Linux-stm32] [PATCH v5 0/8] Add STM32 TAMP nvram driver support
Patrice Chotard
patrice.chotard at foss.st.com
Thu Nov 5 13:02:58 CET 2026
Propose bindings and driver to enable TAMP nvram driver
support for STM32MP SoC's family.
It allows to expose TAMP backup registers as nvmem cells.
Signed-off-by: Patrice Chotard <patrice.chotard at foss.st.com>
---
Changes in v5:
- include DTS patches previously submitted separately in https://patchwork.kernel.org/series/1176665/
- Link to v4: https://patch.msgid.link/20261104-upstream_nvram_reworked-v4-0-144024496a44@foss.st.com
Changes in v4:
- Make usage of of_device_get_match_data() wrapper.
- Rework ioremap of syscon's memory region to avoid overlapping
between parent and child node. This allows to remove
bkpregs_regmap_cfg declaration for both STM32MP1 and STM32MP2.
_ Add select MFD_SYSCON in Kconfig.
- Link to v3: https://patch.msgid.link/20261016-upstream_nvram_reworked-v3-0-f65908490cf7@foss.st.com
Changes in v3:
- Fix issue found by sashiko-bot:
- rely on the already resolved priv->data->nb_zones instead of
of_device_is_compatible() to set priv->bkpreg_access
- Fix max_register of stm32mp1_tamp_nvram_regmap_cfg and
stm32mp2_tamp_nvram_regmap_cfg
- Update zones_end type to int*
- Replace both memcpy by put_unaligned_le32 and get_unaligned_le32
- Link to v2: https://patch.msgid.link/20260930-upstream_nvram_reworked-v2-0-cfda749ee0b7@foss.st.com
Changes in v2:
- Update commit title of nvmem dt-bindings's patch.
- Add required compatible for patternProperties in stm32/st,stm32-syscon.yaml.
- Fix issue found by sashiko-bot:
- Add freeing compartment_owner.
- Replace regmap_read/regmap_write by regmap_update_bits in stm32_tamp_nvram_write_byte().
- Update error return in stm32_tamp_nvram_read_byte(), stm32_tamp_nvram_write_byte(),
stm32_tamp_nvram_read() and stm32_tamp_nvram_write() to return the actual regmap_read() /
regmap_write() error instead of -EIO.
- Add freeing field and update error return values for stm32_tamp_nvram_get_backup_zones().
- Update error return for stm32_tamp_nvram_probe().
- Link to v1: https://patch.msgid.link/20260910-upstream_nvram_reworked-v1-0-521c16175cef@foss.st.com
To: Simeon Marijon <simeon.marijon at foss.st.com>
To: Patrice Chotard <patrice.chotard at foss.st.com>
To: Srinivas Kandagatla <srini at kernel.org>
To: Rob Herring <robh at kernel.org>
To: Krzysztof Kozlowski <krzk+dt at kernel.org>
To: Conor Dooley <conor+dt at kernel.org>
To: Maxime Coquelin <mcoquelin.stm32 at gmail.com>
To: Alexandre Torgue <alexandre.torgue at foss.st.com>
To: Christophe Roullier <christophe.roullier at foss.st.com>
Cc: linux-stm32 at st-md-mailman.stormreply.com
Cc: devicetree at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
---
Patrice Chotard (3):
dt-bindings: arm: stm32: allow TAMP nvram child node for syscon
arm64: dts: st: add TAMP backup register in stm32mp211.dtsi
arm64: dts: st: add TAMP backup register in stm32mp231.dtsi
Simeon Marijon (5):
dt-bindings: nvmem: add STM32MPX TAMP backup registers
nvmem: stm32: add TAMP nvmem driver
ARM: dts: stm32: add TAMP backup register in stm32mp131.dtsi
ARM: dts: stm32: add TAMP backup register in stm32mp151.dtsi
arm64: dts: st: add TAMP backup register in stm32mp251.dtsi
.../bindings/arm/stm32/st,stm32-syscon.yaml | 38 +-
.../bindings/nvmem/st,stm32-tamp-nvram.yaml | 57 ++
MAINTAINERS | 8 +
arch/arm/boot/dts/st/stm32mp131.dtsi | 34 ++
arch/arm/boot/dts/st/stm32mp151.dtsi | 83 +++
arch/arm64/boot/dts/st/stm32mp211.dtsi | 31 +
arch/arm64/boot/dts/st/stm32mp231.dtsi | 31 +
arch/arm64/boot/dts/st/stm32mp251.dtsi | 31 +
drivers/nvmem/Kconfig | 11 +
drivers/nvmem/Makefile | 2 +
drivers/nvmem/stm32-tamp-nvram.c | 680 +++++++++++++++++++++
11 files changed, 1003 insertions(+), 3 deletions(-)
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20260909-upstream_nvram_reworked-f84a4b37817c
Best regards,
--
Patrice Chotard <patrice.chotard at foss.st.com>
More information about the Linux-stm32
mailing list