<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/i2c, branch v2.6.31.3</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>i2c-stu300: I2C STU300 stability updates</title>
<updated>2009-08-20T21:27:58+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@stericsson.com</email>
</author>
<published>2009-08-13T20:14:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c37faafa7d46622b749437f7d294201a63af4beb'/>
<id>c37faafa7d46622b749437f7d294201a63af4beb</id>
<content type='text'>
- blk clk is enabled when an irq arrives. The clk should be enabled,
  but just to make sure.
- All error bits are handled no matter state machine state
- All irq's will run complete() except for irq's that wasn't an event.
- No more looking into status registers just in case an interrupt
  has happend and the irq handle wasn't executed.
- irq_disable/enable are now separete functions.
- clk settings calculation changed to round upwards instead of
  downwards.
- Number of address send attempts before giving up is increased to 12
  from 10 since it most times take 8 tries before getting through.

Signed-off-by: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- blk clk is enabled when an irq arrives. The clk should be enabled,
  but just to make sure.
- All error bits are handled no matter state machine state
- All irq's will run complete() except for irq's that wasn't an event.
- No more looking into status registers just in case an interrupt
  has happend and the irq handle wasn't executed.
- irq_disable/enable are now separete functions.
- clk settings calculation changed to round upwards instead of
  downwards.
- Number of address send attempts before giving up is increased to 12
  from 10 since it most times take 8 tries before getting through.

Signed-off-by: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-omap: Enable workaround for Errata 1.153 based on</title>
<updated>2009-08-20T21:27:58+00:00</updated>
<author>
<name>Moiz Sonasath</name>
<email>m-sonasath@ti.com</email>
</author>
<published>2009-08-20T16:21:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=61149787d65b4a2f9c638d363dc65e13cb063e29'/>
<id>61149787d65b4a2f9c638d363dc65e13cb063e29</id>
<content type='text'>
Silicon Errata 1.153 has been fixed on OMAP 3630|4430 with the use of a later
version of I2C IP block.

The errata impacts OMAP 2420|2430|3430, enable the workaround for these based
on I2C IP block revision number instead of OMAP CPU type

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram Pandita &lt;vikram.pandita@ti.com
Reviewed-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Silicon Errata 1.153 has been fixed on OMAP 3630|4430 with the use of a later
version of I2C IP block.

The errata impacts OMAP 2420|2430|3430, enable the workaround for these based
on I2C IP block revision number instead of OMAP CPU type

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram Pandita &lt;vikram.pandita@ti.com
Reviewed-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts</title>
<updated>2009-08-20T21:27:57+00:00</updated>
<author>
<name>Moiz Sonasath</name>
<email>m-sonasath@ti.com</email>
</author>
<published>2009-08-20T16:21:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dd11976aea15bde53ce40b076dd5fa462c74f41a'/>
<id>dd11976aea15bde53ce40b076dd5fa462c74f41a</id>
<content type='text'>
ACK any pending read/write interrupts before exiting the ISR either after
completing the operation [ARDY interrupt] or in case of an error
[NACK|AL interrupt]

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram Pandita &lt;vikram.pandita@ti.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ACK any pending read/write interrupts before exiting the ISR either after
completing the operation [ARDY interrupt] or in case of an error
[NACK|AL interrupt]

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram Pandita &lt;vikram.pandita@ti.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-omap: Fix I2C status ACK</title>
<updated>2009-08-20T21:27:57+00:00</updated>
<author>
<name>Nishanth Menon</name>
<email>nm@ti.com</email>
</author>
<published>2009-08-20T16:21:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dcc4ec26942d3bae2c5a82ab8346ab53b540a171'/>
<id>dcc4ec26942d3bae2c5a82ab8346ab53b540a171</id>
<content type='text'>
I2C status ack for [RX]RDR and [RX]RDY could
cause race conditions of clearing the event
twice and a violation of the programing
sequence as defined in TRM This patch fixes
the same.

Signed-off-by: Nishanth Menon &lt;nm@ti.com&gt;
Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I2C status ack for [RX]RDR and [RX]RDY could
cause race conditions of clearing the event
twice and a violation of the programing
sequence as defined in TRM This patch fixes
the same.

Signed-off-by: Nishanth Menon &lt;nm@ti.com&gt;
Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-omap: OMAP3430 Silicon Errata 1.153</title>
<updated>2009-07-30T00:03:24+00:00</updated>
<author>
<name>Sonasath, Moiz</name>
<email>m-sonasath@ti.com</email>
</author>
<published>2009-07-21T15:15:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cd086d3aa6f7f7bf4d4e1f9fa09af0f0b6bb99ec'/>
<id>cd086d3aa6f7f7bf4d4e1f9fa09af0f0b6bb99ec</id>
<content type='text'>
When an XRDY/XDR is hit, wait for XUDF before writing data to DATA_REG.
Otherwise some data bytes can be lost while transferring them from the
memory to the I2C interface.

Do a Busy-wait for XUDF, before writing data to DATA_REG. While waiting
if there is NACK | AL, set the appropriate error flags, ack the pending
interrupts and return from the ISR.

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram pandita &lt;vikram.pandita@ti.com&gt;
[ben-linux@fluff.org: fixed mail format and added i2c-omap to subject]
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When an XRDY/XDR is hit, wait for XUDF before writing data to DATA_REG.
Otherwise some data bytes can be lost while transferring them from the
memory to the I2C interface.

Do a Busy-wait for XUDF, before writing data to DATA_REG. While waiting
if there is NACK | AL, set the appropriate error flags, ack the pending
interrupts and return from the ISR.

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram pandita &lt;vikram.pandita@ti.com&gt;
[ben-linux@fluff.org: fixed mail format and added i2c-omap to subject]
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-omap: In case of a NACK|ARDY|AL return from the ISR</title>
<updated>2009-07-30T00:03:24+00:00</updated>
<author>
<name>Sonasath, Moiz</name>
<email>m-sonasath@ti.com</email>
</author>
<published>2009-07-21T15:14:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=04c688dd7a65935568b44629bfaa122eddf76e94'/>
<id>04c688dd7a65935568b44629bfaa122eddf76e94</id>
<content type='text'>
In case of a NACK or ARDY or AL interrupt, complete the request.
There is no need to service the RRDY/RDR or XRDY/XDR interrupts.

Refer TRM SWPU114: Figure 18-31.I2C Master Transmitter Mode, Interrupt Method,
in F/S and HS Modes

http://focus.ti.com/pdfs/wtbu/SWPU114T_PrelimFinalEPDF_06_25_2009.pdf

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram pandita &lt;vikram.pandita@ti.com&gt;
[ben-linux@fluff.org: fixed mail format and added i2c-omap to subject]
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case of a NACK or ARDY or AL interrupt, complete the request.
There is no need to service the RRDY/RDR or XRDY/XDR interrupts.

Refer TRM SWPU114: Figure 18-31.I2C Master Transmitter Mode, Interrupt Method,
in F/S and HS Modes

http://focus.ti.com/pdfs/wtbu/SWPU114T_PrelimFinalEPDF_06_25_2009.pdf

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram pandita &lt;vikram.pandita@ti.com&gt;
[ben-linux@fluff.org: fixed mail format and added i2c-omap to subject]
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-omap: Bug in reading the RXSTAT/TXSTAT values from the I2C_BUFFSTAT register</title>
<updated>2009-07-30T00:03:23+00:00</updated>
<author>
<name>Sonasath, Moiz</name>
<email>m-sonasath@ti.com</email>
</author>
<published>2009-07-21T15:14:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bfb6b6588af5ff762222cee79152d2be738ccc06'/>
<id>bfb6b6588af5ff762222cee79152d2be738ccc06</id>
<content type='text'>
Fix bug in reading the I2C_BUFFSTAT register for getting byte count on RX/TX interrupt.

On Interrupt: I2C_STAT[RDR],
	read 'RXSTAT' from I2C_BUFFSTAT[8-13]
On Interrupt: I2C_STAT[XDR]
	read 'TXSTAT' from I2C_BUFFSTAT[0-5]

Signed-off-by: Jagadeesh Pakaravoor &lt;j-pakaravoor@ti.com&gt;
Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram pandita &lt;vikram.pandita@ti.com&gt;
[ben-linux@fluff.org: fixed mail format and added i2c-omap to subject]
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix bug in reading the I2C_BUFFSTAT register for getting byte count on RX/TX interrupt.

On Interrupt: I2C_STAT[RDR],
	read 'RXSTAT' from I2C_BUFFSTAT[8-13]
On Interrupt: I2C_STAT[XDR]
	read 'TXSTAT' from I2C_BUFFSTAT[0-5]

Signed-off-by: Jagadeesh Pakaravoor &lt;j-pakaravoor@ti.com&gt;
Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram pandita &lt;vikram.pandita@ti.com&gt;
[ben-linux@fluff.org: fixed mail format and added i2c-omap to subject]
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-sh_mobile: change module_init() to subsys_initcall()</title>
<updated>2009-07-29T23:59:09+00:00</updated>
<author>
<name>Magnus Damm</name>
<email>damm@igel.co.jp</email>
</author>
<published>2009-07-22T14:58:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ccb3bc16b4891a82649d4bccbeefe60b1d9a62e2'/>
<id>ccb3bc16b4891a82649d4bccbeefe60b1d9a62e2</id>
<content type='text'>
Convert the i2c-sh_mobile i2c bus driver to use
subsys_initcall() instead of module_init().

This change makes the driver register a bit earlier which
together with earlier platform data moves the time for probe().
The earlier probe() makes it possible to use i2c_get_adapter()
and i2c_transfer() from device_initcall().

The same strategy is used by other i2c bus drivers such as
i2c-pxa.c and i2c-s3c2410.c.

Signed-off-by: Magnus Damm &lt;damm@igel.co.jp&gt;
[ben-linux@fluff.org: minor subject updaye]
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert the i2c-sh_mobile i2c bus driver to use
subsys_initcall() instead of module_init().

This change makes the driver register a bit earlier which
together with earlier platform data moves the time for probe().
The earlier probe() makes it possible to use i2c_get_adapter()
and i2c_transfer() from device_initcall().

The same strategy is used by other i2c bus drivers such as
i2c-pxa.c and i2c-s3c2410.c.

Signed-off-by: Magnus Damm &lt;damm@igel.co.jp&gt;
[ben-linux@fluff.org: minor subject updaye]
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c: strncpy does not null terminate string</title>
<updated>2009-07-29T23:55:50+00:00</updated>
<author>
<name>Roel Kluin</name>
<email>roel.kluin@gmail.com</email>
</author>
<published>2009-07-17T13:24:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=783fd6fa4c144e3f6913e6fed89de10a6dd715a5'/>
<id>783fd6fa4c144e3f6913e6fed89de10a6dd715a5</id>
<content type='text'>
strlcpy() will always null terminate the string.

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
strlcpy() will always null terminate the string.

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-s3c2410: s3c24xx_i2c_init: don't clobber IICLC value</title>
<updated>2009-07-29T23:55:50+00:00</updated>
<author>
<name>Peter Korsgaard</name>
<email>jacmet@sunsite.dk</email>
</author>
<published>2009-07-17T20:33:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0e014e92ba93d905bcb39881dce2d38807b90c34'/>
<id>0e014e92ba93d905bcb39881dce2d38807b90c34</id>
<content type='text'>
s3c24xx_i2c_init() was overwriting the IICLC value set just above in
s3c24xx_i2c_clockrate() with zero, effectively disabling the platform
line control setting.

Signed-off-by: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
s3c24xx_i2c_init() was overwriting the IICLC value set just above in
s3c24xx_i2c_clockrate() with zero, effectively disabling the platform
line control setting.

Signed-off-by: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
