summaryrefslogtreecommitdiff
path: root/arch/arm/mach-mx5
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2010-03-24 16:07:56 +0800
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-25 11:20:16 +0200
commitfa257907abe1d8e63912df5033f3a3593c592924 (patch)
tree17ddfe817298411b51c050a780b602dedc3d7cfe /arch/arm/mach-mx5
parentcf436300e4b56eadfb0aa1735643e8aa44da4b88 (diff)
ENGR00121922 ipuv3: move ipu reset function to MSL
move ipu reset function to MSL. Signed-off-by: Jason Chen <b02280@freescale.com> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'arch/arm/mach-mx5')
-rw-r--r--arch/arm/mach-mx5/cpu.c14
-rw-r--r--arch/arm/mach-mx5/mx51_3stack.c2
-rw-r--r--arch/arm/mach-mx5/mx51_babbage.c2
-rw-r--r--arch/arm/mach-mx5/mx53_evk.c2
4 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-mx5/cpu.c b/arch/arm/mach-mx5/cpu.c
index b45f2e9578a7..692d258a4a0c 100644
--- a/arch/arm/mach-mx5/cpu.c
+++ b/arch/arm/mach-mx5/cpu.c
@@ -63,6 +63,20 @@ static void __init mipi_hsc_disable(void)
iounmap(reg_hsc_mcd);
}
+/*!
+ * This function resets IPU
+ */
+void mx5_ipu_reset(void)
+{
+ u32 *reg;
+ u32 value;
+ reg = ioremap(MX53_BASE_ADDR(SRC_BASE_ADDR), PAGE_SIZE);
+ value = __raw_readl(reg);
+ value = value | 0x8;
+ __raw_writel(value, reg);
+ iounmap(reg);
+}
+
void mx5_vpu_reset(void)
{
u32 reg;
diff --git a/arch/arm/mach-mx5/mx51_3stack.c b/arch/arm/mach-mx5/mx51_3stack.c
index c1a2c5f732d6..8b78ebef0320 100644
--- a/arch/arm/mach-mx5/mx51_3stack.c
+++ b/arch/arm/mach-mx5/mx51_3stack.c
@@ -136,8 +136,10 @@ static struct platform_pwm_backlight_data mxc_pwm_backlight_data = {
.pwm_period_ns = 78770,
};
+extern void mx5_ipu_reset(void);
static struct mxc_ipu_config mxc_ipu_data = {
.rev = 2,
+ .reset = mx5_ipu_reset,
};
extern void mx5_vpu_reset(void);
diff --git a/arch/arm/mach-mx5/mx51_babbage.c b/arch/arm/mach-mx5/mx51_babbage.c
index 9922f5532fce..f44489a806c8 100644
--- a/arch/arm/mach-mx5/mx51_babbage.c
+++ b/arch/arm/mach-mx5/mx51_babbage.c
@@ -155,8 +155,10 @@ static struct platform_pwm_backlight_data mxc_pwm_backlight_data = {
.pwm_period_ns = 78770,
};
+extern void mx5_ipu_reset(void);
static struct mxc_ipu_config mxc_ipu_data = {
.rev = 2,
+ .reset = mx5_ipu_reset,
};
extern void mx5_vpu_reset(void);
diff --git a/arch/arm/mach-mx5/mx53_evk.c b/arch/arm/mach-mx5/mx53_evk.c
index db1d6ea1b0b7..c30b887678ae 100644
--- a/arch/arm/mach-mx5/mx53_evk.c
+++ b/arch/arm/mach-mx5/mx53_evk.c
@@ -150,8 +150,10 @@ static struct platform_pwm_backlight_data mxc_pwm_backlight_data = {
.pwm_period_ns = 78770,
};
+extern void mx5_ipu_reset(void);
static struct mxc_ipu_config mxc_ipu_data = {
.rev = 3,
+ .reset = mx5_ipu_reset,
};
extern void mx5_vpu_reset(void);