| .. | .. |
|---|
| 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@700000 { |
|---|
| 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 | | - }; |
|---|
| 1 | +This file has been moved to nvmem.yaml and nvmem-consumer.yaml. |
|---|