Skip to content

nvmem: Support efuse/OTP devices #98184

@pdgendt

Description

@pdgendt

Problem Description

The NVMEM subsystem currently only has support for EEPROM devices. In an effort to add support for efuse/One-Time-Programming (OTP) devices it has become clear that there are multiple solutions to tackle this.

This RFC gathers information from the different proposals.

Proposed Change (Summary)

There's a need to be able to describe NVMEM cells in the device tree, that are located in efuse/OTP devices, for example:

efuse: efuse {
	compatible = "vendor,efuse";

	nvmem-layout {
		compatible = "fixed-layout";
		#address-cells = <1>;
		#size-cells = <1>;

		cell0: cell@0 {
			reg = <0x0 0x1>;
			#nvmem-cell-cells = <0>;
			read-only;
		};
	};
};

And NVMEM consumers should be able to read from and optionally write to those devices.

Proposed Change (Detailed)

These are some of the current proposals that were brought up in different PR/comments (order does not indicate any preference):

Dependencies

Moving forward it should be possible for other subsystems to turn into NVMEM consumers and leverage the NVMEM providers for accessing efuse/OTP data.

Concerns and Unresolved Questions

Listing concerns raised from various places:

Alternatives Considered

No response

Metadata

Metadata

Assignees

Labels

RFCRequest For Comments: want input from the communityarea: NVMEM

Type

Projects

Status

No status

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions