diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2016-03-10 17:43:00 +0100 |
---|---|---|
committer | Seung-Woo Kim <sw0312.kim@samsung.com> | 2016-12-14 13:49:23 +0900 |
commit | aaa509f2faee0163d3ebf9252be6a31561631ebc (patch) | |
tree | 5f19e16f83063ac9ae23e2cca0572013ddc83257 | |
parent | 390748c9ac301b78fee57b95603a754f05d210a1 (diff) |
fimc-is: Clear all MCUCTL register in the power up sequence
When the ISP, CAM{0,1} power domains are always on it is required
to clear MCUCTL registers in the ISP power up sequence, otherwise
the front camera is not working properly if previously the rear
camera pipeline was used. The original code relied on the MCUCTL
registers being reset to default values after the ISP power domain
switch off/on cycle.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
-rw-r--r-- | drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c b/drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c index 03864545b4e1..c0b86064119d 100644 --- a/drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c +++ b/drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c @@ -1239,6 +1239,10 @@ int fimc_is_ischain_power(struct fimc_is_device_ischain *device, int on) if (rpm_ret < 0) err("pm_runtime_get_sync() return error: %d", rpm_ret); + /* clear all MCUCTL registers */ + for (i = 0; i < ISSR(63); i += 4) + writel(0, core->regs + i); + { fimc_is_sec_get_sysfs_finfo(&sysfs_finfo); if (!sysfs_finfo->is_caldata_read) { |