alistair23-linux/arch/arm/plat-omap
Avinash.H.M 6d3c55fd4f OMAP: hwmod: fix the i2c-reset timeout during bootup
The sequence of _ocp_softreset doesn't work for i2c. The i2c module has a
special sequence to reset the module. The sequence is
 - Disable the I2C.
 - Write to SOFTRESET bit.
 - Enable the I2C.
 - Poll on the RESETDONE bit.
The sequence is implemented as a function and the i2c_class is updated with
the correct 'reset' pointer.  omap_hwmod_softreset function is implemented
which triggers the softreset by writing into sysconfig register. On following
this sequence, i2c module resets properly and timeouts are not seen.

Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Avinash.H.M <avinashhm@ti.com>
[paul@pwsan.com: combined this patch with a patch to remove
 HWMOD_INIT_NO_RESET from the 44xx hwmod flags; change register
 offset conditional code to use the IP block revision; minor code
 cleanup]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2011-07-10 05:27:16 -06:00
..
include/plat OMAP: hwmod: fix the i2c-reset timeout during bootup 2011-07-10 05:27:16 -06:00
clock.c OMAP: clock: bail out early if arch_clock functions not implemented 2011-03-07 20:19:39 -07:00
common.c ARM: omap: move omap_board_config_kernel to .init.data 2011-02-09 16:36:41 -08:00
counter_32k.c omap2+: Use dmtimer macros for clocksource 2011-06-27 12:14:01 -07:00
cpu-omap.c arm: omap: fix section mismatch warning 2011-03-02 16:32:52 -08:00
debug-devices.c
debug-leds.c
devices.c Fix common misspellings 2011-03-31 11:26:23 -03:00
dma.c Fix common misspellings 2011-03-31 11:26:23 -03:00
dmtimer.c omap2+: Reserve clocksource and timesource and initialize dmtimer later 2011-06-27 12:14:01 -07:00
fb.c
fb.h
i2c.c arm: omap: i2c: fix compile warning 2011-01-27 16:39:41 -08:00
io.c TI816X: Update common OMAP machine specific sources 2011-02-16 08:31:39 -08:00
iommu-debug.c
iommu.c omap: iommu: Return IRQ_HANDLED in fault handler when no fault occured 2011-05-11 10:47:50 -07:00
iopgtable.h
iovmm.c OMAP: iovmm: fix SW flags passed by user 2011-06-01 02:25:04 -07:00
Kconfig OMAP PM: remove OMAP_PM_NONE config option 2011-07-09 19:15:41 -06:00
mailbox.c Merge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-03-16 08:20:19 -07:00
Makefile GPIO: OMAP: move to drivers/gpio 2011-05-27 08:43:34 -07:00
mcbsp.c omap: mcbsp: Remove rx_/tx_word_length variables 2011-07-07 12:06:16 -07:00
mux.c
ocpi.c
omap-pm-noop.c
omap_device.c OMAP: omap_device: replace _find_by_pdev() with to_omap_device() 2011-07-09 19:15:20 -06:00
sram.c OMAP: SRAM: Fix warning: format '%08lx' expects type 'long unsigned int' 2011-05-31 06:17:02 -07:00
sram.h
usb.c