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:r...@kernel.org] 
Sent: Monday, December 12, 2016 17:02
To: Luis Oliveira <luis.olive...@synopsys.com>
Cc: w...@the-dreams.de; mark.rutl...@arm.com; jarkko.nik...@linux.intel.com; 
andriy.shevche...@linux.intel.com; mika.westerb...@linux.intel.com; 
linux-...@vger.kernel.org; devicet...@vger.kernel.org; 
linux-kernel@vger.kernel.org; ramiro.olive...@synopsys.com; 
joao.pi...@synopsys.com; carlos.palmi...@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:
> - 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 <loli...@synopsys.com>
> ---
> 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.txt 
> b/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

Reply via email to