[PATCH 1/3] dt-bindings: nvmem: Add a binding for the RPi Firmware OTP register

Gregor Herburger
2026-04-08T08:00:30Z

The firmware running on the Raspberry Pi VideoCore can be used to access
OTP registers. There are two OTP regions (private and customer). Add a
binding for these.

Signed-off-by: Gregor Herburger <gregor.herburger@linutronix.de>
---
.../bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml
index 983ea80eaec9..975c8927d75b 100644
--- a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml
+++ b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml
@@ -137,6 +137,20 @@ required:
- compatible
- mboxes

+patternProperties:
+ "^otp-(customer|private)$":
+ type: object
+ additionalProperties: false
+
+ properties:
+ compatible:
+ enum:
+ - raspberrypi,firmware-otp-customer
+ - raspberrypi,firmware-otp-private
+
+ required:
+ - compatible
+
additionalProperties: false

examples:
@@ -156,6 +170,10 @@ examples:
#gpio-cells = <2>;
};

+ otp: otp-private {
+ compatible = "raspberrypi,firmware-otp-private";
+ };
+
reset: reset {
compatible = "raspberrypi,firmware-reset";
#reset-cells = <1>;

--
2.47.3