diff options
author | Xinyu Chen <xinyu.chen@freescale.com> | 2012-08-03 10:01:08 +0800 |
---|---|---|
committer | Xinyu Chen <xinyu.chen@freescale.com> | 2012-08-03 10:01:08 +0800 |
commit | b4c1ea277292614383f036c88554a296df64ecac (patch) | |
tree | 0364cb393667d361e369cd130dad018fd9396a6a /arch | |
parent | 8e26c065b9999f7d6a6a3bd3aa3984fd1dbbe793 (diff) | |
parent | 76f691466a56fc235d4f4e138195dc78a5823c37 (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.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabreauto.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabreauto.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabrelite.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabresd.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-mx6/board-mx6solo_sabreauto.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-mx6/cpu.c | 4 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-imx-anatop-thermal.c | 18 | ||||
-rwxr-xr-x | arch/arm/plat-mxc/include/mach/devices-common.h | 1 |
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( |