= NVMEM(Non Volatile Memory) Data Device Tree Bindings =

This binding is intended to represent the location of hardware
configuration data stored in NVMEMs like eeprom, efuses and so on.

On a significant proportion of boards, the manufacturer has stored
some data on NVMEM, for the OS to be able to retrieve these information
and act upon it. Obviously, the OS has to know about where to retrieve
these data from, and where they are stored on the storage device.

This document is here to document this.

= Data providers =
Contains bindings specific to provider drivers and data cells as children
of this node.

Optional properties:
 read-only: Mark the provider as read only.

= Data cells =
These are the child nodes of the provider which contain data cell
information like offset and size in nvmem provider.

Required properties:
reg:	specifies the offset in byte within the storage device.

Optional properties:

bits:	Is pair of bit location and number of bits, which specifies offset
	in bit and number of bits within the address range specified by reg property.
	Offset takes values from 0-7.

For example:

	/* Provider */
	qfprom: qfprom@00700000 {
		...

		/* Data cells */
		tsens_calibration: calib@404 {
			reg = <0x404 0x10>;
		};

		tsens_calibration_bckp: calib_bckp@504 {
			reg = <0x504 0x11>;
			bits = <6 128>
		};

		pvs_version: pvs-version@6 {
			reg = <0x6 0x2>
			bits = <7 2>
		};

		speed_bin: speed-bin@c{
			reg = <0xc 0x1>;
			bits = <2 3>;

		};
		...
	};

= Data consumers =
Are device nodes which consume nvmem data cells/providers.

Required-properties:
nvmem-cells: list of phandle to the nvmem data cells.
nvmem-cell-names: names for the each nvmem-cells specified. Required if
	nvmem-cells is used.

Optional-properties:
nvmem	: list of phandles to nvmem providers.
nvmem-names: names for the each nvmem provider. required if nvmem is used.

For example:

	tsens {
		...
		nvmem-cells = <&tsens_calibration>;
		nvmem-cell-names = "calibration";
	};
