summaryrefslogtreecommitdiff
path: root/drivers/media/video/tegra_v4l2_camera.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/tegra_v4l2_camera.c')
-rw-r--r--drivers/media/video/tegra_v4l2_camera.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/media/video/tegra_v4l2_camera.c b/drivers/media/video/tegra_v4l2_camera.c
index f4e33817241a..4272b34a3d56 100644
--- a/drivers/media/video/tegra_v4l2_camera.c
+++ b/drivers/media/video/tegra_v4l2_camera.c
@@ -1069,6 +1069,11 @@ static int tegra_camera_capture_stop(struct tegra_camera_dev *pcdev, int port)
static void tegra_camera_activate(struct tegra_camera_dev *pcdev)
{
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
+ u32 val;
+ void __iomem *apb_misc;
+#endif
+
nvhost_module_busy_ext(pcdev->ndev);
/* Enable external power */
@@ -1090,6 +1095,12 @@ static void tegra_camera_activate(struct tegra_camera_dev *pcdev)
clk_set_rate(pcdev->clk_sclk, 375000000);
clk_enable(pcdev->clk_emc);
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
+ apb_misc = IO_ADDRESS(TEGRA_APB_MISC_BASE);
+ val = readl(apb_misc + 0x42c);
+ writel(val | 0x1, apb_misc + 0x42c);
+#endif
+
/* Save current syncpt values. */
tegra_camera_save_syncpts(pcdev);
}