From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Wang, Haiyue" Subject: Re: [PATCHv7 1/3] dt-bindings: i2c: document bindings for i2c-slave-mqueue Date: Wed, 12 Jun 2019 10:46:43 +0800 Message-ID: References: <20190605164651.15991-1-eduval@amazon.com> <20190605164651.15991-2-eduval@amazon.com> <20190611231425.GA29500@bogus> Mime-Version: 1.0 Content-Type: text/plain; charset=gbk; format=flowed Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20190611231425.GA29500@bogus> Sender: linux-kernel-owner@vger.kernel.org To: Rob Herring , Eduardo Valentin Cc: Wolfram Sang , jarkko.nikula@linux.intel.com, andriy.shevchenko@intel.com, brendanhiggins@google.com, Mark Rutland , linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-i2c@vger.kernel.org ÔÚ 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-i2c@vger.kernel.org >> Cc: devicetree@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 000000000000..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 >>