[PATCH v3 0/4] nvmem: Add Raspberry Pi OTP nvmem driver

From: Gregor Herburger

Date: Wed May 06 2026 - 08:29:38 EST


Hi,

This series adds support for the Raspberry Pis OTP registers. The
Raspberry Pi has one or more OTP regions. These registers are accessible
through the firmware. Add a driver for it and add updates the devicetree
for the Raspberry Pi 5.

---
Changes in v3:
- dts: add "raspberrypi,bcm2835-firmware" as fallback and fix dt-bindings
- Fix Kconfig depends
- Changed firmware data fields to __le32
- Add MODULE_ALIAS
- Link to v2: https://patch.msgid.link/20260505-rpi-otp-driver-v2-0-e9176ec72837@xxxxxxxxxxxxx

Changes in v2:
- register nvmem driver from firmware driver and drop firmware sub nodes
- Use struct_size and __counted_by for dynamic array
- Drop unneeded comment in Kconfig
- Use NVMEM_DEVID_NONE
- Use kzalloc
- Update module description
- Link to v1: https://patch.msgid.link/20260408-rpi-otp-driver-v1-0-e02d1dbe6008@xxxxxxxxxxxxx

---
Gregor Herburger (4):
dt-bindings: raspberrypi,bcm2835-firmware: Add bcm2712-firmware compatible
nvmem: Add the Raspberry Pi OTP driver
firmware: raspberrypi: register nvmem driver
arm64: dts: broadcom: bcm2712: add raspberrypi,bcm2712-firmware compatible

.../arm/bcm/raspberrypi,bcm2835-firmware.yaml | 13 ++-
.../boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi | 4 +-
drivers/firmware/raspberrypi.c | 59 +++++++++-
drivers/nvmem/Kconfig | 10 ++
drivers/nvmem/Makefile | 1 +
drivers/nvmem/raspberrypi-otp.c | 120 +++++++++++++++++++++
include/soc/bcm2835/raspberrypi-firmware.h | 14 +++
7 files changed, 216 insertions(+), 5 deletions(-)
---
base-commit: f3e6330d7fe42b204af05a2dbc68b379e0ad179e
change-id: 20260408-rpi-otp-driver-75fce1dcff7d

Best regards,
--
Gregor Herburger <gregor.herburger@xxxxxxxxxxxxx>