OpenCloudOS-Kernel/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
Kconfig OMAP PM: remove OMAP_PM_NONE config option 2011-07-09 19:15:41 -06:00
Makefile GPIO: OMAP: move to drivers/gpio 2011-05-27 08:43:34 -07: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 omap: use smc91x_platdata to setup smc91x 2009-12-11 16:16:33 -08:00
debug-leds.c Replacing LEDS_OMAP_DEBUG with OMAP_DEBUG_LEDS 2010-07-05 17:03:58 +03:00
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 Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux 2010-10-26 10:02:39 -07:00
fb.h OMAP: plat-omap: Fix static function warnings 2010-10-08 10:12:38 -07:00
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 arm/omap: use generic_file_llseek in iommu_debug 2010-09-16 10:33:11 +02:00
iommu.c omap: iommu: Return IRQ_HANDLED in fault handler when no fault occured 2011-05-11 10:47:50 -07:00
iopgtable.h omap iommu: Rename iopte_[p,v]addr -> iopte_page_[p,v]addr 2010-06-29 07:55:05 +03:00
iovmm.c OMAP: iovmm: fix SW flags passed by user 2011-06-01 02:25:04 -07: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
mcbsp.c omap: mcbsp: Remove rx_/tx_word_length variables 2011-07-07 12:06:16 -07:00
mux.c omap: mux: Remove old mux code 2010-07-05 16:31:40 +03:00
ocpi.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
omap-pm-noop.c OMAP: PM noop: implement context loss count for non-omap_devices 2010-12-21 21:31:55 -07:00
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 OMAP: plat-omap: Fix static function warnings 2010-10-08 10:12:38 -07:00
usb.c omap: Move omap1 USB platform init code into mach-omap1/usb.c 2010-07-05 16:31:30 +03:00