linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Nishanth Menon <nm@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: Fri, 28 Feb 2014 16:26:26 +0200	[thread overview]
Message-ID: <53109C92.10104@ti.com> (raw)
In-Reply-To: <53108F90.7070608@ti.com>

On 02/28/2014 03:30 PM, Nishanth Menon wrote:
> TWL6030 can do 3.3MHz by default and there are no speed registers to
> configure.

According to the datasheet the speed of twl6030 is limited to 2.4MHz. I have
not seen registers or pins to select the speed. As the documentation puts
this: High-speed mode (limited to 2.4Mbit/s maximum)


>> Also you could have more devices on the bus, wired for 3.4MHz. In that case we
>> would need to make sure that the first access happens with 100KHz to twl6040
>> to select 3.4MHz mode, switch the controller speed and allow the communication
>> to other chips. It is another question how the 3.4MHz clients will interpret
>> the 100KHz communication on the bus, I guess it is ignored by them.
> As far as the i2c spec 2.1 says:
> "Fast-mode devices are downward-compatible and can communicate with
> Standard-mode devices in a 0 to 100 kbit/s I2C-bus system"
> ...
> "Hs-mode devices can transfer information at bit rates of up to 3.4
> Mbit/s, yet they remain fully downward compatible with Fast- or
> Standard-mode (F/S-mode) devices for bi-directional communication in a
> mixed-speed bus system."
> 
> So, they are backward compatible.

I just tried it on PandaBoard to set the i2c speed to 24MHz. If I do not touch
the twl6040 ACCCTL register's i2cmode I can not access to twl6040 later on.
However if I select the high-speed mode as the first write everything is fine
afterwards.
Hrm, it is possible that I can write with high-speed to twl6040 but the
twl6040 is sending back the data in normal-mode?
So in theory if I have the ACCCTL write as a first I2C access towards twl6040
we might be safe if the bus is in high-speed mode?

If I have fast mode configured to the controller, I can still communicate with
twl6040 even if it is set to normal mode.

I still think that this patch is safe for now. We could try to figure out how
to increase the i2c speed on the bus for twl6030 and twl6040. This has to be
done in the same series.

Now after several boots:
It seams if I set the i2c to 2.4MHz and I can not communicate with twl6040
right after cold power on.
So if the i2c bus is already set to 2.4GHz I can not set the twl6040 ACCCTL
register. But the content of ACCCTL register seams to be preserved between
reboots and this is why I saw that the 2.4MHz bus speed might be even possible.

-- 
Péter

  reply	other threads:[~2014-02-28 14:26 UTC|newest]

Thread overview: 13+ 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 ` [PATCH 1/3] mfd: twl6040: Select i2c fast mode as default with regmap patch Peter Ujfalusi
2014-02-27 14:24   ` Nishanth Menon
2014-02-27 14:33     ` Peter Ujfalusi
2014-02-27 15:00       ` Nishanth Menon
2014-02-28  7:39         ` Peter Ujfalusi
2014-02-28 13:30           ` Nishanth Menon
2014-02-28 14:26             ` Peter Ujfalusi [this message]
2014-02-28 15:07               ` Nishanth Menon
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 ` [PATCH 3/3] mfd: twl6040: Clear the interrupt ID register before requesting IRQ 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=53109C92.10104@ti.com \
    --to=peter.ujfalusi@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=nm@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).