summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorXinyu Chen <xinyu.chen@freescale.com>2012-08-03 10:01:08 +0800
committerXinyu Chen <xinyu.chen@freescale.com>2012-08-03 10:01:08 +0800
commitb4c1ea277292614383f036c88554a296df64ecac (patch)
tree0364cb393667d361e369cd130dad018fd9396a6a /arch
parent8e26c065b9999f7d6a6a3bd3aa3984fd1dbbe793 (diff)
parent76f691466a56fc235d4f4e138195dc78a5823c37 (diff)
Merge remote branch 'fsl-linux-sdk/imx_3.0.35' into imx_3.0.35_android
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx6/board-mx6q_arm2.c6
-rw-r--r--arch/arm/mach-mx6/board-mx6q_sabreauto.c4
-rw-r--r--arch/arm/mach-mx6/board-mx6q_sabreauto.h4
-rw-r--r--arch/arm/mach-mx6/board-mx6q_sabrelite.c4
-rw-r--r--arch/arm/mach-mx6/board-mx6q_sabresd.c10
-rw-r--r--arch/arm/mach-mx6/board-mx6solo_sabreauto.h4
-rw-r--r--arch/arm/mach-mx6/cpu.c4
-rw-r--r--arch/arm/plat-mxc/devices/platform-imx-anatop-thermal.c18
-rwxr-xr-xarch/arm/plat-mxc/include/mach/devices-common.h1
9 files changed, 44 insertions, 11 deletions
diff --git a/arch/arm/mach-mx6/board-mx6q_arm2.c b/arch/arm/mach-mx6/board-mx6q_arm2.c
index f298e8d67c06..64cba5af1f08 100644
--- a/arch/arm/mach-mx6/board-mx6q_arm2.c
+++ b/arch/arm/mach-mx6/board-mx6q_arm2.c
@@ -1409,8 +1409,10 @@ static void hdmi_init(int ipu_id, int disp_id)
/* GPR3, bits 2-3 = HDMI_MUX_CTL */
mxc_iomux_set_gpr_register(3, 2, 2, hdmi_mux_setting);
- /* GPR0, bit 0 = 1 */
- mxc_iomux_set_gpr_register(0, 0, 1, 1);
+
+ /* Set HDMI event as SDMA event2 while Chip version later than TO1.2 */
+ if ((mx6q_revision() > IMX_CHIP_REVISION_1_1))
+ mxc_iomux_set_gpr_register(0, 0, 1, 1);
}
/* On mx6x arm2 board i2c2 iomux with hdmi ddc,
diff --git a/arch/arm/mach-mx6/board-mx6q_sabreauto.c b/arch/arm/mach-mx6/board-mx6q_sabreauto.c
index 2acfea71f331..4578ce1d003c 100644
--- a/arch/arm/mach-mx6/board-mx6q_sabreauto.c
+++ b/arch/arm/mach-mx6/board-mx6q_sabreauto.c
@@ -911,6 +911,10 @@ static void hdmi_init(int ipu_id, int disp_id)
/* GPR3, bits 2-3 = HDMI_MUX_CTL */
mxc_iomux_set_gpr_register(3, 2, 2, hdmi_mux_setting);
+
+ /* Set HDMI event as SDMA event2 while Chip version later than TO1.2 */
+ if ((mx6q_revision() > IMX_CHIP_REVISION_1_1))
+ mxc_iomux_set_gpr_register(0, 0, 1, 1);
}
/* On mx6x sabreauto board i2c2 iomux with hdmi ddc,
diff --git a/arch/arm/mach-mx6/board-mx6q_sabreauto.h b/arch/arm/mach-mx6/board-mx6q_sabreauto.h
index da6e4387d781..477078cb359f 100644
--- a/arch/arm/mach-mx6/board-mx6q_sabreauto.h
+++ b/arch/arm/mach-mx6/board-mx6q_sabreauto.h
@@ -361,11 +361,11 @@ static iomux_v3_cfg_t mx6q_weimnor_pads[] __initdata = {
};
static iomux_v3_cfg_t mx6q_sabreauto_hdmi_ddc_pads[] = {
- MX6Q_PAD_KEY_COL3__HDMI_TX_DDC_SCL, /* HDMI DDC SCL */
+ MX6Q_PAD_EIM_EB2__HDMI_TX_DDC_SCL, /* HDMI DDC SCL */
MX6Q_PAD_KEY_ROW3__HDMI_TX_DDC_SDA, /* HDMI DDC SDA */
};
static iomux_v3_cfg_t mx6q_sabreauto_i2c2_pads[] = {
- MX6Q_PAD_KEY_COL3__I2C2_SCL, /* I2C2 SCL */
+ MX6Q_PAD_EIM_EB2__I2C2_SCL, /* I2C2 SCL */
MX6Q_PAD_KEY_ROW3__I2C2_SDA, /* I2C2 SDA */
};
diff --git a/arch/arm/mach-mx6/board-mx6q_sabrelite.c b/arch/arm/mach-mx6/board-mx6q_sabrelite.c
index 16ee57e1df2b..7208a49709ba 100644
--- a/arch/arm/mach-mx6/board-mx6q_sabrelite.c
+++ b/arch/arm/mach-mx6/board-mx6q_sabrelite.c
@@ -811,6 +811,10 @@ static void hdmi_init(int ipu_id, int disp_id)
/* GPR3, bits 2-3 = HDMI_MUX_CTL */
mxc_iomux_set_gpr_register(3, 2, 2, hdmi_mux_setting);
+
+ /* Set HDMI event as SDMA event2 while Chip version later than TO1.2 */
+ if ((mx6q_revision() > IMX_CHIP_REVISION_1_1))
+ mxc_iomux_set_gpr_register(0, 0, 1, 1);
}
/* On mx6x sbarelite board i2c2 iomux with hdmi ddc,
diff --git a/arch/arm/mach-mx6/board-mx6q_sabresd.c b/arch/arm/mach-mx6/board-mx6q_sabresd.c
index 90ba36b6879d..594dfdff899a 100644
--- a/arch/arm/mach-mx6/board-mx6q_sabresd.c
+++ b/arch/arm/mach-mx6/board-mx6q_sabresd.c
@@ -1277,6 +1277,10 @@ static void hdmi_init(int ipu_id, int disp_id)
/* GPR3, bits 2-3 = HDMI_MUX_CTL */
mxc_iomux_set_gpr_register(3, 2, 2, hdmi_mux_setting);
+
+ /* Set HDMI event as SDMA event2 while Chip version later than TO1.2 */
+ if ((mx6q_revision() > IMX_CHIP_REVISION_1_1))
+ mxc_iomux_set_gpr_register(0, 0, 1, 1);
}
/* On mx6x sabresd board i2c2 iomux with hdmi ddc,
@@ -1507,8 +1511,14 @@ static void gps_power_on(bool on)
static struct gpio_led imx6q_gpio_leds[] = {
GPIO_LED(SABRESD_CHARGE_NOW, "chg_now_led", 0, 1,
"charger-charging"),
+/* For the latest B4 board, this GPIO_1 is connected to POR_B,
+which will reset the whole board if this pin's level is changed,
+so, for the latest board, we have to avoid using this pin as
+GPIO. */
+#if 0
GPIO_LED(SABRESD_CHARGE_DONE, "chg_done_led", 0, 1,
"charger-full"),
+#endif
};
static struct gpio_led_platform_data imx6q_gpio_leds_data = {
diff --git a/arch/arm/mach-mx6/board-mx6solo_sabreauto.h b/arch/arm/mach-mx6/board-mx6solo_sabreauto.h
index f51925bee9fa..2e9e495c87c6 100644
--- a/arch/arm/mach-mx6/board-mx6solo_sabreauto.h
+++ b/arch/arm/mach-mx6/board-mx6solo_sabreauto.h
@@ -361,11 +361,11 @@ static iomux_v3_cfg_t mx6dl_weimnor_pads[] __initdata = {
};
static iomux_v3_cfg_t mx6dl_sabreauto_hdmi_ddc_pads[] = {
- MX6DL_PAD_KEY_COL3__HDMI_TX_DDC_SCL, /* HDMI DDC SCL */
+ MX6DL_PAD_EIM_EB2__HDMI_TX_DDC_SCL, /* HDMI DDC SCL */
MX6DL_PAD_KEY_ROW3__HDMI_TX_DDC_SDA, /* HDMI DDC SDA */
};
static iomux_v3_cfg_t mx6dl_sabreauto_i2c2_pads[] = {
- MX6DL_PAD_KEY_COL3__I2C2_SCL, /* I2C2 SCL */
+ MX6DL_PAD_EIM_EB2__I2C2_SCL, /* I2C2 SCL */
MX6DL_PAD_KEY_ROW3__I2C2_SDA, /* I2C2 SDA */
};
diff --git a/arch/arm/mach-mx6/cpu.c b/arch/arm/mach-mx6/cpu.c
index 9a60d9817ec3..be5011aeab34 100644
--- a/arch/arm/mach-mx6/cpu.c
+++ b/arch/arm/mach-mx6/cpu.c
@@ -201,9 +201,9 @@ static int __init post_cpu_init(void)
if (cpu_is_mx6q())
chip_rev = mx6q_revision();
else if (cpu_is_mx6dl())
- chip_rev = mx6dl_revision;
+ chip_rev = mx6dl_revision();
else
- chip_rev = mx6sl_revision;
+ chip_rev = mx6sl_revision();
return 0;
}
diff --git a/arch/arm/plat-mxc/devices/platform-imx-anatop-thermal.c b/arch/arm/plat-mxc/devices/platform-imx-anatop-thermal.c
index b96bc6fa7846..352d0f0cd6ff 100644
--- a/arch/arm/plat-mxc/devices/platform-imx-anatop-thermal.c
+++ b/arch/arm/plat-mxc/devices/platform-imx-anatop-thermal.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2011-2012 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
@@ -20,9 +20,11 @@
#include <mach/hardware.h>
#include <mach/devices-common.h>
-#define imx_anatop_thermal_imx_data_entry_single(soc) \
- { \
+#define imx_anatop_thermal_imx_data_entry_single(soc) \
+ { \
.iobase = ANATOP_BASE_ADDR, \
+ .calibration_addr = OCOTP_BASE_ADDR + 0x4E0, \
+ .irq = MXC_INT_ANATOP_TEMPSNSR \
}
#ifdef CONFIG_SOC_IMX6Q
@@ -40,6 +42,16 @@ struct platform_device *__init imx_add_anatop_thermal_imx(
.end = data->iobase + SZ_4K - 1,
.flags = IORESOURCE_MEM,
},
+ {
+ .start = data->calibration_addr,
+ .end = data->calibration_addr + SZ_4 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ {
+ .start = data->irq,
+ .end = data->irq,
+ .flags = IORESOURCE_IRQ,
+ },
};
return imx_add_platform_device("anatop_thermal", 0,
diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h
index 4b6110712d1b..4512751cbd11 100755
--- a/arch/arm/plat-mxc/include/mach/devices-common.h
+++ b/arch/arm/plat-mxc/include/mach/devices-common.h
@@ -530,6 +530,7 @@ struct platform_device *__init imx_add_viv_gpu(
struct imx_anatop_thermal_imx_data {
int id;
resource_size_t iobase;
+ resource_size_t calibration_addr;
resource_size_t irq;
};
struct platform_device *__init imx_add_anatop_thermal_imx(