All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>, Lee Jones <lee.jones@linaro.org>
Cc: florian.vaussard@epfl.ch, linux-kernel@vger.kernel.org,
	linux-omap@vger.kernel.org, Samuel Ortiz <sameo@linux.intel.com>
Subject: Re: [PATCH 1/3] mfd: twl6040: Select i2c fast mode as default with regmap patch
Date: Thu, 27 Feb 2014 08:24:04 -0600	[thread overview]
Message-ID: <530F4A84.9070906@ti.com> (raw)
In-Reply-To: <1393509410-1640-2-git-send-email-peter.ujfalusi@ti.com>

On 02/27/2014 07:56 AM, Peter Ujfalusi wrote:
> All boards using twl6040 configures the i2c bus to 400KHz. While twl6040's
> defaults to normal mode (100KHz). So far twl6040 has no problem with i2c
> communication in this configuration it is safer to select fast i2c mode.
> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> ---
>  drivers/mfd/twl6040.c       | 9 +++++++--
>  include/linux/mfd/twl6040.h | 1 +
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mfd/twl6040.c b/drivers/mfd/twl6040.c
> index 6e88f25832fb..2c308750f40f 100644
> --- a/drivers/mfd/twl6040.c
> +++ b/drivers/mfd/twl6040.c
> @@ -87,8 +87,13 @@ static struct reg_default twl6040_defaults[] = {
>  };
>  
>  static struct reg_default twl6040_patch[] = {
> -	/* Select I2C bus access to dual access registers */
> -	{ TWL6040_REG_ACCCTL, 0x09 },
> +	/*
> +	 * Select I2C bus access to dual access registers
> +	 * Interrupt register is cleared on read
> +	 * Select fast mode for i2c (400KHz)
> +	 */
> +	{ TWL6040_REG_ACCCTL,
> +		TWL6040_I2CSEL | TWL6040_INTCLRMODE | TWL6040_I2CMODE(1) },
>  };
>  
>  
> diff --git a/include/linux/mfd/twl6040.h b/include/linux/mfd/twl6040.h
> index 81f639bc1ae6..a69d16b30c18 100644
> --- a/include/linux/mfd/twl6040.h
> +++ b/include/linux/mfd/twl6040.h
> @@ -157,6 +157,7 @@
>  #define TWL6040_I2CSEL			0x01
>  #define TWL6040_RESETSPLIT		0x04
>  #define TWL6040_INTCLRMODE		0x08
> +#define TWL6040_I2CMODE(x)		((x & 0x3) << 4)
>  
>  /* STATUS (0x2E) fields */
>  
> 

we should ideally have been using highspeed for i2c bus.

is'nt it better if i2c_check_functionality (and adding required flags
for func) be used to check the adapter speed and decide this in the
driver instead of hardcoding the bus speed within TWL6040 -
considering that 6040 can infact do max high speed as well?

-- 
Regards,
Nishanth Menon

WARNING: multiple messages have this Message-ID (diff)
From: Nishanth Menon <nm@ti.com>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>, Lee Jones <lee.jones@linaro.org>
Cc: <florian.vaussard@epfl.ch>, <linux-kernel@vger.kernel.org>,
	<linux-omap@vger.kernel.org>,
	Samuel Ortiz <sameo@linux.intel.com>
Subject: Re: [PATCH 1/3] mfd: twl6040: Select i2c fast mode as default with regmap patch
Date: Thu, 27 Feb 2014 08:24:04 -0600	[thread overview]
Message-ID: <530F4A84.9070906@ti.com> (raw)
In-Reply-To: <1393509410-1640-2-git-send-email-peter.ujfalusi@ti.com>

On 02/27/2014 07:56 AM, Peter Ujfalusi wrote:
> All boards using twl6040 configures the i2c bus to 400KHz. While twl6040's
> defaults to normal mode (100KHz). So far twl6040 has no problem with i2c
> communication in this configuration it is safer to select fast i2c mode.
> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> ---
>  drivers/mfd/twl6040.c       | 9 +++++++--
>  include/linux/mfd/twl6040.h | 1 +
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mfd/twl6040.c b/drivers/mfd/twl6040.c
> index 6e88f25832fb..2c308750f40f 100644
> --- a/drivers/mfd/twl6040.c
> +++ b/drivers/mfd/twl6040.c
> @@ -87,8 +87,13 @@ static struct reg_default twl6040_defaults[] = {
>  };
>  
>  static struct reg_default twl6040_patch[] = {
> -	/* Select I2C bus access to dual access registers */
> -	{ TWL6040_REG_ACCCTL, 0x09 },
> +	/*
> +	 * Select I2C bus access to dual access registers
> +	 * Interrupt register is cleared on read
> +	 * Select fast mode for i2c (400KHz)
> +	 */
> +	{ TWL6040_REG_ACCCTL,
> +		TWL6040_I2CSEL | TWL6040_INTCLRMODE | TWL6040_I2CMODE(1) },
>  };
>  
>  
> diff --git a/include/linux/mfd/twl6040.h b/include/linux/mfd/twl6040.h
> index 81f639bc1ae6..a69d16b30c18 100644
> --- a/include/linux/mfd/twl6040.h
> +++ b/include/linux/mfd/twl6040.h
> @@ -157,6 +157,7 @@
>  #define TWL6040_I2CSEL			0x01
>  #define TWL6040_RESETSPLIT		0x04
>  #define TWL6040_INTCLRMODE		0x08
> +#define TWL6040_I2CMODE(x)		((x & 0x3) << 4)
>  
>  /* STATUS (0x2E) fields */
>  
> 

we should ideally have been using highspeed for i2c bus.

is'nt it better if i2c_check_functionality (and adding required flags
for func) be used to check the adapter speed and decide this in the
driver instead of hardcoding the bus speed within TWL6040 -
considering that 6040 can infact do max high speed as well?

-- 
Regards,
Nishanth Menon

  reply	other threads:[~2014-02-27 14:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-27 13:56 [PATCH 0/3] mfd: twl6040: Updates for i2s speed and fix for chip deadlock Peter Ujfalusi
2014-02-27 13:56 ` Peter Ujfalusi
2014-02-27 13:56 ` [PATCH 1/3] mfd: twl6040: Select i2c fast mode as default with regmap patch Peter Ujfalusi
2014-02-27 13:56   ` Peter Ujfalusi
2014-02-27 14:24   ` Nishanth Menon [this message]
2014-02-27 14:24     ` Nishanth Menon
2014-02-27 14:33     ` Peter Ujfalusi
2014-02-27 14:33       ` Peter Ujfalusi
2014-02-27 15:00       ` Nishanth Menon
2014-02-27 15:00         ` Nishanth Menon
2014-02-28  7:39         ` Peter Ujfalusi
2014-02-28  7:39           ` Peter Ujfalusi
2014-02-28 13:30           ` Nishanth Menon
2014-02-28 13:30             ` Nishanth Menon
2014-02-28 14:26             ` Peter Ujfalusi
2014-02-28 14:26               ` Peter Ujfalusi
2014-02-28 15:07               ` Nishanth Menon
2014-02-28 15:07                 ` Nishanth Menon
2014-03-03 11:30                 ` Peter Ujfalusi
2014-03-03 11:30                   ` Peter Ujfalusi
2014-02-27 13:56 ` [PATCH 2/3] mfd: twl6040: Move register patching earlier in probe Peter Ujfalusi
2014-02-27 13:56   ` Peter Ujfalusi
2014-02-27 13:56 ` [PATCH 3/3] mfd: twl6040: Clear the interrupt ID register before requesting IRQ Peter Ujfalusi
2014-02-27 13:56   ` Peter Ujfalusi
2014-02-27 15:11 ` [PATCH 0/3] mfd: twl6040: Updates for i2s speed and fix for chip deadlock Florian Vaussard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=530F4A84.9070906@ti.com \
    --to=nm@ti.com \
    --cc=florian.vaussard@epfl.ch \
    --cc=lee.jones@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=peter.ujfalusi@ti.com \
    --cc=sameo@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.