RE: [PATCH v4 3/5] i2c: designware: Add slave definitions
From: Luis de Oliveira <hidden>
Date: 2016-12-12 18:35:54
Also in:
linux-i2c, lkml
Hi all, The slave address could be set by the I2C slave backend so I can't use it to setup the controller. A boolean property was my initial approach then Andy and Wolfram Sang suggested the use of compatible strings and later It was suggested to use a property to select mode but I can do it again if it's the best way. Can you please tell me where should it be documented? Luis -----Original Message----- From: Rob Herring [mailto:robh@kernel.org] Sent: Monday, December 12, 2016 17:02 To: Luis Oliveira <redacted> Cc: wsa@the-dreams.de; mark.rutland@arm.com; jarkko.nikula@linux.intel.com; andriy.shevchenko@linux.intel.com; mika.westerberg@linux.intel.com; linux-i2c@vger.kernel.org; devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Ramiro.Oliveira@synopsys.com; Joao.Pinto@synopsys.com; CARLOS.PALMINHA@synopsys.com Subject: Re: [PATCH v4 3/5] i2c: designware: Add slave definitions On Wed, Dec 07, 2016 at 05:55:50PM +0000, Luis Oliveira wrote:
quoted hunk ↗ jump to hunk
- Add slave definitions to i2c-designware-core - Changes in Kconfig to auto-enable I2C_SLAVE when compiling the modules - Add mode property to designware-core.txt that enable the "slave" selection: - "mode" is an optional property that could be "slave" or "master" - if "mode" is not set the block is considered master by default Signed-off-by: Luis Oliveira <redacted> --- Changes V3->V4: (Andy Shevchenko) - created a common property for modes - placed the generic dependency first .../devicetree/bindings/i2c/i2c-designware.txt | 4 ++++ drivers/i2c/busses/Kconfig | 1 + drivers/i2c/busses/i2c-designware-common.c | 6 +++++ drivers/i2c/busses/i2c-designware-core.h | 26 ++++++++++++++++++++++ 4 files changed, 37 insertions(+)diff --git a/Documentation/devicetree/bindings/i2c/i2c-designware.txtb/Documentation/devicetree/bindings/i2c/i2c-designware.txt index fee26dc3e858..8ed2b532cd54 100644--- a/Documentation/devicetree/bindings/i2c/i2c-designware.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-designware.txt@@ -20,6 +20,9 @@ Optional properties : - i2c-sda-falling-time-ns : should contain the SDA falling time in nanoseconds. This value which is by default 300ns is used to compute the tHIGH period. + - mode : should be either: + - "master" to setup the hardware block as a I2C master + - "slave" to setup the hardware block as a I2C slave
This should be documented in a common location. Can't it be a boolean to enable slave mode? Or don't you need to set the slave address? That could be enough to enable slave mode and there's already one example doing that. Rob