From: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Some of the nvmem providers encode data for certain type of nvmem cell, example mac-address is stored in ascii or with delimiter or in reverse order. This is much specific to vendor, so having a cell-type would allow nvmem provider drivers to post-process this before using it. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Joakim Zhang <qiangqing.zhang@xxxxxxx> --- Documentation/devicetree/bindings/nvmem/nvmem.yaml | 11 +++++++++++ include/dt-bindings/nvmem/nvmem.h | 8 ++++++++ 2 files changed, 19 insertions(+) create mode 100644 include/dt-bindings/nvmem/nvmem.h diff --git a/Documentation/devicetree/bindings/nvmem/nvmem.yaml b/Documentation/devicetree/bindings/nvmem/nvmem.yaml index b8dc3d2b6e92..8cf6c7e72b0a 100644 --- a/Documentation/devicetree/bindings/nvmem/nvmem.yaml +++ b/Documentation/devicetree/bindings/nvmem/nvmem.yaml @@ -60,6 +60,11 @@ patternProperties: - minimum: 1 description: Size in bit within the address range specified by reg. + cell-type: + $ref: /schemas/types.yaml#/definitions/uint32 + maxItems: 1 + description: + Type of nvmem, Use defines in dt-bindings/nvmem/nvmem.h. required: - reg @@ -69,6 +74,7 @@ additionalProperties: true examples: - | #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/nvmem/nvmem.h> qfprom: eeprom@700000 { #address-cells = <1>; @@ -98,6 +104,11 @@ examples: reg = <0xc 0x1>; bits = <2 3>; }; + + mac_addr: mac-addr@90{ + reg = <0x90 0x6>; + cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>; + }; }; ... diff --git a/include/dt-bindings/nvmem/nvmem.h b/include/dt-bindings/nvmem/nvmem.h new file mode 100644 index 000000000000..eed0478f6bfd --- /dev/null +++ b/include/dt-bindings/nvmem/nvmem.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __DT_NVMMEM_H +#define __DT_NVMMEM_H + +#define NVMEM_CELL_TYPE_UNKNOWN 0 +#define NVMEM_CELL_TYPE_MAC_ADDRESS 1 + +#endif /* __DT_NVMMEM_H */ -- 2.17.1