summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojciech Bieganski <wbieganski@antmicro.com>2014-05-19 14:09:12 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2014-07-08 14:37:59 +0200
commit8394112f246f808f9ff2961c7b19e2f48ba1df81 (patch)
tree2c4e421d06b5287a68419131ac4376dd35145296
parentc016ea36e70158ad2f04f06b30ffd2eec0a44870 (diff)
media: vi driver on Colibri T20 is working again
This commit resolves an issue of non-working vi camera driver on Colibri T20 occured after a l4t-r16-r4 merge.
-rw-r--r--arch/arm/mach-tegra/board-colibri_t20-power.c1
-rw-r--r--drivers/media/video/tegra_v4l2_camera.c11
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t20-power.c b/arch/arm/mach-tegra/board-colibri_t20-power.c
index fb6e8e8e1bf3..ca1f5e4a2f95 100644
--- a/arch/arm/mach-tegra/board-colibri_t20-power.c
+++ b/arch/arm/mach-tegra/board-colibri_t20-power.c
@@ -53,6 +53,7 @@ static struct regulator_consumer_supply tps658621_sm2_supply[] = {
/* unused */
static struct regulator_consumer_supply tps658621_ldo0_supply[] = {
REGULATOR_SUPPLY("vdd_ldo0", NULL),
+ REGULATOR_SUPPLY("vcsi", NULL),
};
/* AVDD_PLL_1.1V and +3.3V_ENABLE_N switching via FET: AVDD_AUDIO_S and +3.3V:
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);
}