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 v5: - Move alignment check to nvmem core - Use IS_REACHABLE to simplify Kconfig - use root_only for private driver - Add driver as module to arch64 defconfig - Use MODULE_DEVICE_TABLE - Remove some unused attributes, fix typos, minor fixups - Link to v4: https://patch.msgid.link/[email protected] Changes in v4: - Additional patch to drop unnecessary select schema - fix dt-bindings - use __counted_by_le - additional alignment check in read/write callbacks - Link to v3: https://patch.msgid.link/[email protected] 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/[email protected] 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/[email protected] --- Gregor Herburger (8): soc: bcm2835: Use IS_REACHABLE for function declaration nvmem: core: Enforce stride and alignment checks for nvmem_device functions 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 dt-bindings: raspberrypi,bcm2835-firmware: Drop unnecessary select arm64: defconfig: Enable the raspberrypi otp driver as module .../arm/bcm/raspberrypi,bcm2835-firmware.yaml | 20 ++-- .../boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi | 4 +- arch/arm64/configs/defconfig | 1 + drivers/firmware/raspberrypi.c | 59 +++++++++- drivers/nvmem/Kconfig | 11 ++ drivers/nvmem/Makefile | 1 + drivers/nvmem/core.c | 12 ++ drivers/nvmem/raspberrypi-otp.c | 130 +++++++++++++++++++++ include/soc/bcm2835/raspberrypi-firmware.h | 17 ++- 9 files changed, 240 insertions(+), 15 deletions(-) --- base-commit: f3e6330d7fe42b204af05a2dbc68b379e0ad179e change-id: 20260408-rpi-otp-driver-75fce1dcff7d Best regards, -- Gregor Herburger <[email protected]>

