[PATCH 1/2] dt-bindings: nvmem: rockchip-efuse: add rockchip,efuse-write-enable property
Heiko Stübner
heiko at sntech.de
Wed Jul 15 04:42:56 PDT 2026
Am Mittwoch, 15. Juli 2026, 13:01:06 Mitteleuropäische Sommerzeit schrieb Hrushiraj Gandhi:
> Add an optional boolean property to explicitly opt in to write (OTP
> programming) support. eFuse bits are one-time-programmable and
> permanently set once written; write support must therefore not be
> enabled by default on arbitrary boards.
>
> Boards that intend to use software-initiated eFuse programming (e.g.
> factory key provisioning) must declare this property and must ensure
> the required VQPS programming supply (1.8V to 1.98V per RK3399 TRM)
> is present and correctly sequenced during writes.
>
> Signed-off-by: Hrushiraj Gandhi <hrushirajg23 at gmail.com>
> ---
> .../devicetree/bindings/nvmem/rockchip-efuse.yaml | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/nvmem/rockchip-efuse.yaml b/Documentation/devicetree/bindings/nvmem/rockchip-efuse.yaml
> index b80fd8d1ae5b..8a7195245c84 100644
> --- a/Documentation/devicetree/bindings/nvmem/rockchip-efuse.yaml
> +++ b/Documentation/devicetree/bindings/nvmem/rockchip-efuse.yaml
> @@ -46,6 +46,17 @@ properties:
> this property is defined.
> $ref: /schemas/types.yaml#/definitions/uint32
>
> + rockchip,efuse-write-enable:
> + type: boolean
> + description:
> + Enable write (programming) support for this eFuse block. eFuse bits
> + are one-time-programmable; setting a bit is permanent and cannot be
> + undone. This property must only be set on boards where irreversible
> + OTP programming from software is an intended use case (e.g. factory
> + provisioning), and where the required VQPS programming voltage
> + (1.8V to 1.98V per RK3399 TRM) is guaranteed to be present and
> + correctly sequenced by the board's power design during writes.
Devicetree is not a configuration space, and I think this really does count
as configuration - as the efuse will be writeable on every board.
You mention the VQPS voltage. If I'm reading schematics and application
notes correctly, this is a separate input used solely for writing efuses
and _needs_ to be 0V (off?) during reads.
You mention "needs to be present and correctly sequenced", who is supposed
to turn on/off that regulator?
So you very likely need to define that regulator and can even use its
absence as an indicator to disable writes.
Heiko
More information about the Linux-rockchip
mailing list