Re: [PATCH v1 3/6] eeprom: Add bindings for simple eeprom framework
+ +For example: + + /* Provider */ + qfprom: qfprom@0070 { + compatible = "qcom,qfprom"; + reg = <0x0070 0x1000>; + ... + + /* Data cells */ + tsens_calibration: calib@404 { + reg = <0x404 0x10>; + }; + + serial_number: sn { + reg = <0x104 0x4>, <0x204 0x4>, <0x30c 0x4>; + + }; + ... + }; + += Data consumers = +Are drivers which consume eeprom data cells. s/drivers/device nodes/ Thats true, "device nodes" makes sense. + +Required properties: + +eeproms: List of phandle and data cell the device might be interested in. + +Optional properties: + +eeprom-names: List of data cell name strings sorted in the same order + as the resets property. Consumers drivers will use resets? Opps.. I remember fixing this, I will take care of it in next version. + eeprom-names to differentiate between multiple cells, + and hence being able to know what these cells are for. Is this still needed? The sub-node name defines the name. Or you can use reg-names with-in the sub-node. Yes, eeprom-names is needed in the consumer nodes, where there are multiple eeproms cells, its easy to lookup by name rather than index,which depends on the order of the entries. reg-names inside the "data cells" is ok, but I can't think of its use immediately. May be useful for debug? --srini > Rob + +For example: + + tsens { + ... + eeproms = <_calibration>; + eeprom-names = "calibration"; + }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v1 3/6] eeprom: Add bindings for simple eeprom framework
On Thu, Mar 5, 2015 at 3:46 AM, Srinivas Kandagatla wrote: > This patch adds bindings for simple eeprom framework which allows eeprom > consumers to talk to eeprom providers to get access to eeprom cell data. > > Signed-off-by: Maxime Ripard > [Maxime Ripard: intial version of eeprom framework] > Signed-off-by: Srinivas Kandagatla > --- > .../devicetree/bindings/eeprom/eeprom.txt | 70 > ++ > 1 file changed, 70 insertions(+) > create mode 100644 Documentation/devicetree/bindings/eeprom/eeprom.txt > > diff --git a/Documentation/devicetree/bindings/eeprom/eeprom.txt > b/Documentation/devicetree/bindings/eeprom/eeprom.txt > new file mode 100644 > index 000..dbfb95c > --- /dev/null > +++ b/Documentation/devicetree/bindings/eeprom/eeprom.txt > @@ -0,0 +1,70 @@ > += EEPROM Data Device Tree Bindings = > + > +This binding is intended to represent the location of hardware > +configuration data stored in EEPROMs. > + > +On a significant proportion of boards, the manufacturer has stored > +some data on an EEPROM-like device, 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 > +to this node. > + > += Data cells = > +These are the child nodes of the provider which contain data cell > +information like offset and size in eeprom provider. > + > +Required properties: > +reg: specifies the offset in byte within that storage device, and the > length > + in bytes of the data we care about. > + There could be more then one offset-length pairs in this property. > + > +Optional properties: > +As required by specific data parsers/interpreters. > + > +For example: > + > + /* Provider */ > + qfprom: qfprom@0070 { > + compatible = "qcom,qfprom"; > + reg = <0x0070 0x1000>; > + ... > + > + /* Data cells */ > + tsens_calibration: calib@404 { > + reg = <0x404 0x10>; > + }; > + > + serial_number: sn { > + reg = <0x104 0x4>, <0x204 0x4>, <0x30c 0x4>; > + > + }; > + ... > + }; > + > += Data consumers = > +Are drivers which consume eeprom data cells. s/drivers/device nodes/ > + > +Required properties: > + > +eeproms: List of phandle and data cell the device might be interested in. > + > +Optional properties: > + > +eeprom-names: List of data cell name strings sorted in the same order > + as the resets property. Consumers drivers will use resets? > + eeprom-names to differentiate between multiple cells, > + and hence being able to know what these cells are for. Is this still needed? The sub-node name defines the name. Or you can use reg-names with-in the sub-node. Rob > + > +For example: > + > + tsens { > + ... > + eeproms = <_calibration>; > + eeprom-names = "calibration"; > + }; > -- > 1.9.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH v1 3/6] eeprom: Add bindings for simple eeprom framework
This patch adds bindings for simple eeprom framework which allows eeprom consumers to talk to eeprom providers to get access to eeprom cell data. Signed-off-by: Maxime Ripard [Maxime Ripard: intial version of eeprom framework] Signed-off-by: Srinivas Kandagatla --- .../devicetree/bindings/eeprom/eeprom.txt | 70 ++ 1 file changed, 70 insertions(+) create mode 100644 Documentation/devicetree/bindings/eeprom/eeprom.txt diff --git a/Documentation/devicetree/bindings/eeprom/eeprom.txt b/Documentation/devicetree/bindings/eeprom/eeprom.txt new file mode 100644 index 000..dbfb95c --- /dev/null +++ b/Documentation/devicetree/bindings/eeprom/eeprom.txt @@ -0,0 +1,70 @@ += EEPROM Data Device Tree Bindings = + +This binding is intended to represent the location of hardware +configuration data stored in EEPROMs. + +On a significant proportion of boards, the manufacturer has stored +some data on an EEPROM-like device, 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 +to this node. + += Data cells = +These are the child nodes of the provider which contain data cell +information like offset and size in eeprom provider. + +Required properties: +reg: specifies the offset in byte within that storage device, and the length + in bytes of the data we care about. + There could be more then one offset-length pairs in this property. + +Optional properties: +As required by specific data parsers/interpreters. + +For example: + + /* Provider */ + qfprom: qfprom@0070 { + compatible = "qcom,qfprom"; + reg = <0x0070 0x1000>; + ... + + /* Data cells */ + tsens_calibration: calib@404 { + reg = <0x404 0x10>; + }; + + serial_number: sn { + reg = <0x104 0x4>, <0x204 0x4>, <0x30c 0x4>; + + }; + ... + }; + += Data consumers = +Are drivers which consume eeprom data cells. + +Required properties: + +eeproms: List of phandle and data cell the device might be interested in. + +Optional properties: + +eeprom-names: List of data cell name strings sorted in the same order + as the resets property. Consumers drivers will use + eeprom-names to differentiate between multiple cells, + and hence being able to know what these cells are for. + +For example: + + tsens { + ... + eeproms = <_calibration>; + eeprom-names = "calibration"; + }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v1 3/6] eeprom: Add bindings for simple eeprom framework
On Thu, Mar 5, 2015 at 3:46 AM, Srinivas Kandagatla srinivas.kandaga...@linaro.org wrote: This patch adds bindings for simple eeprom framework which allows eeprom consumers to talk to eeprom providers to get access to eeprom cell data. Signed-off-by: Maxime Ripard maxime.rip...@free-electrons.com [Maxime Ripard: intial version of eeprom framework] Signed-off-by: Srinivas Kandagatla srinivas.kandaga...@linaro.org --- .../devicetree/bindings/eeprom/eeprom.txt | 70 ++ 1 file changed, 70 insertions(+) create mode 100644 Documentation/devicetree/bindings/eeprom/eeprom.txt diff --git a/Documentation/devicetree/bindings/eeprom/eeprom.txt b/Documentation/devicetree/bindings/eeprom/eeprom.txt new file mode 100644 index 000..dbfb95c --- /dev/null +++ b/Documentation/devicetree/bindings/eeprom/eeprom.txt @@ -0,0 +1,70 @@ += EEPROM Data Device Tree Bindings = + +This binding is intended to represent the location of hardware +configuration data stored in EEPROMs. + +On a significant proportion of boards, the manufacturer has stored +some data on an EEPROM-like device, 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 +to this node. + += Data cells = +These are the child nodes of the provider which contain data cell +information like offset and size in eeprom provider. + +Required properties: +reg: specifies the offset in byte within that storage device, and the length + in bytes of the data we care about. + There could be more then one offset-length pairs in this property. + +Optional properties: +As required by specific data parsers/interpreters. + +For example: + + /* Provider */ + qfprom: qfprom@0070 { + compatible = qcom,qfprom; + reg = 0x0070 0x1000; + ... + + /* Data cells */ + tsens_calibration: calib@404 { + reg = 0x404 0x10; + }; + + serial_number: sn { + reg = 0x104 0x4, 0x204 0x4, 0x30c 0x4; + + }; + ... + }; + += Data consumers = +Are drivers which consume eeprom data cells. s/drivers/device nodes/ + +Required properties: + +eeproms: List of phandle and data cell the device might be interested in. + +Optional properties: + +eeprom-names: List of data cell name strings sorted in the same order + as the resets property. Consumers drivers will use resets? + eeprom-names to differentiate between multiple cells, + and hence being able to know what these cells are for. Is this still needed? The sub-node name defines the name. Or you can use reg-names with-in the sub-node. Rob + +For example: + + tsens { + ... + eeproms = tsens_calibration; + eeprom-names = calibration; + }; -- 1.9.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v1 3/6] eeprom: Add bindings for simple eeprom framework
+ +For example: + + /* Provider */ + qfprom: qfprom@0070 { + compatible = qcom,qfprom; + reg = 0x0070 0x1000; + ... + + /* Data cells */ + tsens_calibration: calib@404 { + reg = 0x404 0x10; + }; + + serial_number: sn { + reg = 0x104 0x4, 0x204 0x4, 0x30c 0x4; + + }; + ... + }; + += Data consumers = +Are drivers which consume eeprom data cells. s/drivers/device nodes/ Thats true, device nodes makes sense. + +Required properties: + +eeproms: List of phandle and data cell the device might be interested in. + +Optional properties: + +eeprom-names: List of data cell name strings sorted in the same order + as the resets property. Consumers drivers will use resets? Opps.. I remember fixing this, I will take care of it in next version. + eeprom-names to differentiate between multiple cells, + and hence being able to know what these cells are for. Is this still needed? The sub-node name defines the name. Or you can use reg-names with-in the sub-node. Yes, eeprom-names is needed in the consumer nodes, where there are multiple eeproms cells, its easy to lookup by name rather than index,which depends on the order of the entries. reg-names inside the data cells is ok, but I can't think of its use immediately. May be useful for debug? --srini Rob + +For example: + + tsens { + ... + eeproms = tsens_calibration; + eeprom-names = calibration; + }; -- 1.9.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH v1 3/6] eeprom: Add bindings for simple eeprom framework
This patch adds bindings for simple eeprom framework which allows eeprom consumers to talk to eeprom providers to get access to eeprom cell data. Signed-off-by: Maxime Ripard maxime.rip...@free-electrons.com [Maxime Ripard: intial version of eeprom framework] Signed-off-by: Srinivas Kandagatla srinivas.kandaga...@linaro.org --- .../devicetree/bindings/eeprom/eeprom.txt | 70 ++ 1 file changed, 70 insertions(+) create mode 100644 Documentation/devicetree/bindings/eeprom/eeprom.txt diff --git a/Documentation/devicetree/bindings/eeprom/eeprom.txt b/Documentation/devicetree/bindings/eeprom/eeprom.txt new file mode 100644 index 000..dbfb95c --- /dev/null +++ b/Documentation/devicetree/bindings/eeprom/eeprom.txt @@ -0,0 +1,70 @@ += EEPROM Data Device Tree Bindings = + +This binding is intended to represent the location of hardware +configuration data stored in EEPROMs. + +On a significant proportion of boards, the manufacturer has stored +some data on an EEPROM-like device, 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 +to this node. + += Data cells = +These are the child nodes of the provider which contain data cell +information like offset and size in eeprom provider. + +Required properties: +reg: specifies the offset in byte within that storage device, and the length + in bytes of the data we care about. + There could be more then one offset-length pairs in this property. + +Optional properties: +As required by specific data parsers/interpreters. + +For example: + + /* Provider */ + qfprom: qfprom@0070 { + compatible = qcom,qfprom; + reg = 0x0070 0x1000; + ... + + /* Data cells */ + tsens_calibration: calib@404 { + reg = 0x404 0x10; + }; + + serial_number: sn { + reg = 0x104 0x4, 0x204 0x4, 0x30c 0x4; + + }; + ... + }; + += Data consumers = +Are drivers which consume eeprom data cells. + +Required properties: + +eeproms: List of phandle and data cell the device might be interested in. + +Optional properties: + +eeprom-names: List of data cell name strings sorted in the same order + as the resets property. Consumers drivers will use + eeprom-names to differentiate between multiple cells, + and hence being able to know what these cells are for. + +For example: + + tsens { + ... + eeproms = tsens_calibration; + eeprom-names = calibration; + }; -- 1.9.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/