Re: [PATCHv7 1/3] dt-bindings: i2c: document bindings for i2c-slave-mqueue

2019-07-01 Thread Wolfram Sang
> > +===
> > +Device Tree for I2C slave message queue backend
> > +===
> > +
> > +Some protocols over I2C/SMBus are designed for bi-directional transferring
> > +messages by using I2C Master Write protocol. This requires that both sides
> > +of the communication have slave addresses.
> 
> So the address 0x10 in the example below is the address of the I2C 
> controller?

Yes.

> > +This I2C slave mqueue (message queue) is used to receive and queue
> > +messages from the remote i2c intelligent device; and it will add the target
> > +slave address (with R/W# bit is always 0) into the message at the first 
> > byte.
> > +
> > +Links
> > +
> > +`Intelligent Platform Management Bus
> > +Communications Protocol Specification
> > +`_
> > +
> > +`Management Component Transport Protocol (MCTP)
> > +SMBus/I2C Transport Binding Specification
> > +`_
> > +
> > +Required Properties:
> > +- compatible   : should be "i2c-slave-mqueue"
> 
> There is no mention of mqueue (or queue) in these specs. Where does that 
> come from? Perhaps something more closely matching the protocol would be 
> better name.
> 
> > +- reg  : slave address
> > +
> > +Example:
> > +
> > +i2c {
> 
> Would there be other slaves? 
> 
> The common binding states 'multi-master' property should be present. 
> 
> I need a more complete example.

Ack. Either that or a bit more explanation, e.g. if sending
packets is planned from userspace?



signature.asc
Description: PGP signature


Re: [PATCHv7 1/3] dt-bindings: i2c: document bindings for i2c-slave-mqueue

2019-07-01 Thread Wolfram Sang

> Looks like the slave reg missed the key value bit:
> 
> 
> https://elinux.org/images/f/f6/ELCE15-WolframSang-ShinyNewI2CSlaveFramework.pdf
> 
> Example: reg = <(I2C_OWN_SLAVE_ADDRESS | 0x42)>;

Yes.



signature.asc
Description: PGP signature


Re: [PATCHv7 1/3] dt-bindings: i2c: document bindings for i2c-slave-mqueue

2019-06-11 Thread Wang, Haiyue



在 2019-06-12 07:14, Rob Herring 写道:

On Wed, Jun 05, 2019 at 09:46:49AM -0700, Eduardo Valentin wrote:

Document the i2c-slave-mqueue binding by adding
descriptor, required properties, and example.

Cc: Rob Herring 
Cc: Mark Rutland 
Cc: Wolfram Sang 
Cc: linux-...@vger.kernel.org
Cc: devicet...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Eduardo Valentin 
---

Changes from V6 to V7:
- none

  .../bindings/i2c/i2c-slave-mqueue.txt | 34 +++
  1 file changed, 34 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/i2c/i2c-slave-mqueue.txt

diff --git a/Documentation/devicetree/bindings/i2c/i2c-slave-mqueue.txt 
b/Documentation/devicetree/bindings/i2c/i2c-slave-mqueue.txt
new file mode 100644
index ..eb1881a4fc0e
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-slave-mqueue.txt
@@ -0,0 +1,34 @@
+===
+Device Tree for I2C slave message queue backend
+===
+
+Some protocols over I2C/SMBus are designed for bi-directional transferring
+messages by using I2C Master Write protocol. This requires that both sides
+of the communication have slave addresses.

So the address 0x10 in the example below is the address of the I2C
controller?


+
+This I2C slave mqueue (message queue) is used to receive and queue

Hi Rob, This is mqueue comes from, not from specs directly.

+messages from the remote i2c intelligent device; and it will add the target
+slave address (with R/W# bit is always 0) into the message at the first byte.
+
+Links
+
+`Intelligent Platform Management Bus
+Communications Protocol Specification
+`_
+
+`Management Component Transport Protocol (MCTP)
+SMBus/I2C Transport Binding Specification
+`_
+
+Required Properties:
+- compatible   : should be "i2c-slave-mqueue"

There is no mention of mqueue (or queue) in these specs. Where does that
come from? Perhaps something more closely matching the protocol would be
better name.


+- reg  : slave address
+
+Example:
+
+i2c {

Would there be other slaves?

The common binding states 'multi-master' property should be present.

I need a more complete example.


+   slave_mqueue: i2c-slave-mqueue {
+   compatible = "i2c-slave-mqueue";
+   reg = <0x10>;


Hi Eduardo,

Looks like the slave reg missed the key value bit:


https://elinux.org/images/f/f6/ELCE15-WolframSang-ShinyNewI2CSlaveFramework.pdf

Example: reg = <(I2C_OWN_SLAVE_ADDRESS | 0x42)>;



+   };
+};
--
2.21.0



Re: [PATCHv7 1/3] dt-bindings: i2c: document bindings for i2c-slave-mqueue

2019-06-11 Thread Rob Herring
On Wed, Jun 05, 2019 at 09:46:49AM -0700, Eduardo Valentin wrote:
> Document the i2c-slave-mqueue binding by adding
> descriptor, required properties, and example.
> 
> Cc: Rob Herring 
> Cc: Mark Rutland 
> Cc: Wolfram Sang 
> Cc: linux-...@vger.kernel.org
> Cc: devicet...@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Eduardo Valentin 
> ---
> 
> Changes from V6 to V7:
> - none
> 
>  .../bindings/i2c/i2c-slave-mqueue.txt | 34 +++
>  1 file changed, 34 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/i2c/i2c-slave-mqueue.txt
> 
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-slave-mqueue.txt 
> b/Documentation/devicetree/bindings/i2c/i2c-slave-mqueue.txt
> new file mode 100644
> index ..eb1881a4fc0e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/i2c/i2c-slave-mqueue.txt
> @@ -0,0 +1,34 @@
> +===
> +Device Tree for I2C slave message queue backend
> +===
> +
> +Some protocols over I2C/SMBus are designed for bi-directional transferring
> +messages by using I2C Master Write protocol. This requires that both sides
> +of the communication have slave addresses.

So the address 0x10 in the example below is the address of the I2C 
controller?

> +
> +This I2C slave mqueue (message queue) is used to receive and queue
> +messages from the remote i2c intelligent device; and it will add the target
> +slave address (with R/W# bit is always 0) into the message at the first byte.
> +
> +Links
> +
> +`Intelligent Platform Management Bus
> +Communications Protocol Specification
> +`_
> +
> +`Management Component Transport Protocol (MCTP)
> +SMBus/I2C Transport Binding Specification
> +`_
> +
> +Required Properties:
> +- compatible : should be "i2c-slave-mqueue"

There is no mention of mqueue (or queue) in these specs. Where does that 
come from? Perhaps something more closely matching the protocol would be 
better name.

> +- reg: slave address
> +
> +Example:
> +
> +i2c {

Would there be other slaves? 

The common binding states 'multi-master' property should be present. 

I need a more complete example.

> + slave_mqueue: i2c-slave-mqueue {
> + compatible = "i2c-slave-mqueue";
> + reg = <0x10>;
> + };
> +};
> -- 
> 2.21.0
>