Re: [PATCH v1 3/6] eeprom: Add bindings for simple eeprom framework

2015-03-05 Thread Srinivas Kandagatla

+
+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

2015-03-05 Thread Rob Herring
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

2015-03-05 Thread Srinivas Kandagatla
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

2015-03-05 Thread Rob Herring
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

2015-03-05 Thread Srinivas Kandagatla

+
+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

2015-03-05 Thread Srinivas Kandagatla
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/