mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-01 14:16:37 +07:00
6d3c55fd4f
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> |
||
---|---|---|
.. | ||
include/plat | ||
clock.c | ||
common.c | ||
counter_32k.c | ||
cpu-omap.c | ||
debug-devices.c | ||
debug-leds.c | ||
devices.c | ||
dma.c | ||
dmtimer.c | ||
fb.c | ||
fb.h | ||
i2c.c | ||
io.c | ||
iommu-debug.c | ||
iommu.c | ||
iopgtable.h | ||
iovmm.c | ||
Kconfig | ||
mailbox.c | ||
Makefile | ||
mcbsp.c | ||
mux.c | ||
ocpi.c | ||
omap_device.c | ||
omap-pm-noop.c | ||
sram.c | ||
sram.h | ||
usb.c |