Commit | Line | Data |
---|---|---|
2af38ab5 SK |
1 | = NVMEM(Non Volatile Memory) Data Device Tree Bindings = |
2 | ||
3 | This binding is intended to represent the location of hardware | |
4 | configuration data stored in NVMEMs like eeprom, efuses and so on. | |
5 | ||
6 | On a significant proportion of boards, the manufacturer has stored | |
7 | some data on NVMEM, for the OS to be able to retrieve these information | |
8 | and act upon it. Obviously, the OS has to know about where to retrieve | |
9 | these data from, and where they are stored on the storage device. | |
10 | ||
11 | This document is here to document this. | |
12 | ||
13 | = Data providers = | |
14 | Contains bindings specific to provider drivers and data cells as children | |
15 | of this node. | |
16 | ||
17 | Optional properties: | |
18 | read-only: Mark the provider as read only. | |
19 | ||
20 | = Data cells = | |
21 | These are the child nodes of the provider which contain data cell | |
22 | information like offset and size in nvmem provider. | |
23 | ||
24 | Required properties: | |
25 | reg: specifies the offset in byte within the storage device. | |
26 | ||
27 | Optional properties: | |
28 | ||
29 | bits: Is pair of bit location and number of bits, which specifies offset | |
30 | in bit and number of bits within the address range specified by reg property. | |
31 | Offset takes values from 0-7. | |
32 | ||
33 | For example: | |
34 | ||
35 | /* Provider */ | |
36 | qfprom: qfprom@00700000 { | |
37 | ... | |
38 | ||
39 | /* Data cells */ | |
40 | tsens_calibration: calib@404 { | |
41 | reg = <0x404 0x10>; | |
42 | }; | |
43 | ||
44 | tsens_calibration_bckp: calib_bckp@504 { | |
45 | reg = <0x504 0x11>; | |
46 | bits = <6 128> | |
47 | }; | |
48 | ||
49 | pvs_version: pvs-version@6 { | |
50 | reg = <0x6 0x2> | |
51 | bits = <7 2> | |
52 | }; | |
53 | ||
54 | speed_bin: speed-bin@c{ | |
55 | reg = <0xc 0x1>; | |
56 | bits = <2 3>; | |
57 | ||
58 | }; | |
59 | ... | |
60 | }; | |
61 | ||
62 | = Data consumers = | |
63 | Are device nodes which consume nvmem data cells/providers. | |
64 | ||
65 | Required-properties: | |
66 | nvmem-cells: list of phandle to the nvmem data cells. | |
67 | nvmem-cell-names: names for the each nvmem-cells specified. Required if | |
68 | nvmem-cells is used. | |
69 | ||
70 | Optional-properties: | |
71 | nvmem : list of phandles to nvmem providers. | |
72 | nvmem-names: names for the each nvmem provider. required if nvmem is used. | |
73 | ||
74 | For example: | |
75 | ||
76 | tsens { | |
77 | ... | |
78 | nvmem-cells = <&tsens_calibration>; | |
79 | nvmem-cell-names = "calibration"; | |
80 | }; |