diff options
| author | Olof Johansson <olof@lixom.net> | 2012-06-07 17:59:28 -0400 |
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2012-06-07 17:59:28 -0400 |
| commit | 6f4b3bf5dc0edb5b08d96486f35f5cbc24b72c40 (patch) | |
| tree | 4277ede78d08047ab1ab92cda179da7e40a357a7 | |
| parent | 434978e678605c8370d3d71e88796c264f70a8bf (diff) | |
| parent | 350ab15bb2ffe7103bc6bf6c634f3c5b286eaf2a (diff) | |
Merge branch 'imx/fixes' of git://git.pengutronix.de/git/imx/linux-2.6 into fixes
* 'imx/fixes' of git://git.pengutronix.de/git/imx/linux-2.6:
ARM i.MX imx21ads: Fix overlapping static i/o mappings
ARM i.MX27 Visstrim M10: fix gpio handling.
ARM: imx: only call l2x0_init if it's available
ARM: imx: only specify i2c device type once
ARM: mx31_3ds: Fix build due to missing IMX_HAVE_PLATFORM_IMX_SSI
| -rw-r--r-- | arch/arm/mach-imx/Kconfig | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-cpuimx35.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-cpuimx51sd.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-imx27_visstrim_m10.c | 36 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-mx21ads.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mm-imx3.c | 2 |
6 files changed, 29 insertions, 14 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 0021f726b153..eff4db5de0dd 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
| @@ -477,6 +477,7 @@ config MACH_MX31_3DS | |||
| 477 | select IMX_HAVE_PLATFORM_IMX2_WDT | 477 | select IMX_HAVE_PLATFORM_IMX2_WDT |
| 478 | select IMX_HAVE_PLATFORM_IMX_I2C | 478 | select IMX_HAVE_PLATFORM_IMX_I2C |
| 479 | select IMX_HAVE_PLATFORM_IMX_KEYPAD | 479 | select IMX_HAVE_PLATFORM_IMX_KEYPAD |
| 480 | select IMX_HAVE_PLATFORM_IMX_SSI | ||
| 480 | select IMX_HAVE_PLATFORM_IMX_UART | 481 | select IMX_HAVE_PLATFORM_IMX_UART |
| 481 | select IMX_HAVE_PLATFORM_IPU_CORE | 482 | select IMX_HAVE_PLATFORM_IPU_CORE |
| 482 | select IMX_HAVE_PLATFORM_MXC_EHCI | 483 | select IMX_HAVE_PLATFORM_MXC_EHCI |
diff --git a/arch/arm/mach-imx/mach-cpuimx35.c b/arch/arm/mach-imx/mach-cpuimx35.c index c515f8ede1a1..6450303f1a7a 100644 --- a/arch/arm/mach-imx/mach-cpuimx35.c +++ b/arch/arm/mach-imx/mach-cpuimx35.c | |||
| @@ -70,7 +70,6 @@ static struct i2c_board_info eukrea_cpuimx35_i2c_devices[] = { | |||
| 70 | I2C_BOARD_INFO("pcf8563", 0x51), | 70 | I2C_BOARD_INFO("pcf8563", 0x51), |
| 71 | }, { | 71 | }, { |
| 72 | I2C_BOARD_INFO("tsc2007", 0x48), | 72 | I2C_BOARD_INFO("tsc2007", 0x48), |
| 73 | .type = "tsc2007", | ||
| 74 | .platform_data = &tsc2007_info, | 73 | .platform_data = &tsc2007_info, |
| 75 | .irq = IMX_GPIO_TO_IRQ(TSC2007_IRQGPIO), | 74 | .irq = IMX_GPIO_TO_IRQ(TSC2007_IRQGPIO), |
| 76 | }, | 75 | }, |
diff --git a/arch/arm/mach-imx/mach-cpuimx51sd.c b/arch/arm/mach-imx/mach-cpuimx51sd.c index ac50f1671e38..1e09de50cbcd 100644 --- a/arch/arm/mach-imx/mach-cpuimx51sd.c +++ b/arch/arm/mach-imx/mach-cpuimx51sd.c | |||
| @@ -142,7 +142,6 @@ static struct i2c_board_info eukrea_cpuimx51sd_i2c_devices[] = { | |||
| 142 | I2C_BOARD_INFO("pcf8563", 0x51), | 142 | I2C_BOARD_INFO("pcf8563", 0x51), |
| 143 | }, { | 143 | }, { |
| 144 | I2C_BOARD_INFO("tsc2007", 0x49), | 144 | I2C_BOARD_INFO("tsc2007", 0x49), |
| 145 | .type = "tsc2007", | ||
| 146 | .platform_data = &tsc2007_info, | 145 | .platform_data = &tsc2007_info, |
| 147 | }, | 146 | }, |
| 148 | }; | 147 | }; |
diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c index dff82eb57cd9..f76edb96a48a 100644 --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c | |||
| @@ -116,6 +116,8 @@ static const int visstrim_m10_pins[] __initconst = { | |||
| 116 | PB23_PF_USB_PWR, | 116 | PB23_PF_USB_PWR, |
| 117 | PB24_PF_USB_OC, | 117 | PB24_PF_USB_OC, |
| 118 | /* CSI */ | 118 | /* CSI */ |
| 119 | TVP5150_RSTN | GPIO_GPIO | GPIO_OUT, | ||
| 120 | TVP5150_PWDN | GPIO_GPIO | GPIO_OUT, | ||
| 119 | PB10_PF_CSI_D0, | 121 | PB10_PF_CSI_D0, |
| 120 | PB11_PF_CSI_D1, | 122 | PB11_PF_CSI_D1, |
| 121 | PB12_PF_CSI_D2, | 123 | PB12_PF_CSI_D2, |
| @@ -147,6 +149,24 @@ static struct gpio visstrim_m10_version_gpios[] = { | |||
| 147 | { MOTHERBOARD_BIT2, GPIOF_IN, "mother-version-2" }, | 149 | { MOTHERBOARD_BIT2, GPIOF_IN, "mother-version-2" }, |
| 148 | }; | 150 | }; |
| 149 | 151 | ||
| 152 | static const struct gpio visstrim_m10_gpios[] __initconst = { | ||
| 153 | { | ||
| 154 | .gpio = TVP5150_RSTN, | ||
| 155 | .flags = GPIOF_DIR_OUT | GPIOF_INIT_HIGH, | ||
| 156 | .label = "tvp5150_rstn", | ||
| 157 | }, | ||
| 158 | { | ||
| 159 | .gpio = TVP5150_PWDN, | ||
| 160 | .flags = GPIOF_DIR_OUT | GPIOF_INIT_LOW, | ||
| 161 | .label = "tvp5150_pwdn", | ||
| 162 | }, | ||
| 163 | { | ||
| 164 | .gpio = OTG_PHY_CS_GPIO, | ||
| 165 | .flags = GPIOF_DIR_OUT | GPIOF_INIT_LOW, | ||
| 166 | .label = "usbotg_cs", | ||
| 167 | }, | ||
| 168 | }; | ||
| 169 | |||
| 150 | /* Camera */ | 170 | /* Camera */ |
| 151 | static int visstrim_camera_power(struct device *dev, int on) | 171 | static int visstrim_camera_power(struct device *dev, int on) |
| 152 | { | 172 | { |
| @@ -190,13 +210,6 @@ static void __init visstrim_camera_init(void) | |||
| 190 | struct platform_device *pdev; | 210 | struct platform_device *pdev; |
| 191 | int dma; | 211 | int dma; |
| 192 | 212 | ||
| 193 | /* Initialize tvp5150 gpios */ | ||
| 194 | mxc_gpio_mode(TVP5150_RSTN | GPIO_GPIO | GPIO_OUT); | ||
| 195 | mxc_gpio_mode(TVP5150_PWDN | GPIO_GPIO | GPIO_OUT); | ||
| 196 | gpio_set_value(TVP5150_RSTN, 1); | ||
| 197 | gpio_set_value(TVP5150_PWDN, 0); | ||
| 198 | ndelay(1); | ||
| 199 | |||
| 200 | gpio_set_value(TVP5150_PWDN, 1); | 213 | gpio_set_value(TVP5150_PWDN, 1); |
| 201 | ndelay(1); | 214 | ndelay(1); |
| 202 | gpio_set_value(TVP5150_RSTN, 0); | 215 | gpio_set_value(TVP5150_RSTN, 0); |
| @@ -377,10 +390,6 @@ static struct i2c_board_info visstrim_m10_i2c_devices[] = { | |||
| 377 | /* USB OTG */ | 390 | /* USB OTG */ |
| 378 | static int otg_phy_init(struct platform_device *pdev) | 391 | static int otg_phy_init(struct platform_device *pdev) |
| 379 | { | 392 | { |
| 380 | gpio_set_value(OTG_PHY_CS_GPIO, 0); | ||
| 381 | |||
| 382 | mdelay(10); | ||
| 383 | |||
| 384 | return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_POWER_PINS_ENABLED); | 393 | return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_POWER_PINS_ENABLED); |
| 385 | } | 394 | } |
| 386 | 395 | ||
| @@ -435,6 +444,11 @@ static void __init visstrim_m10_board_init(void) | |||
| 435 | if (ret) | 444 | if (ret) |
| 436 | pr_err("Failed to setup pins (%d)\n", ret); | 445 | pr_err("Failed to setup pins (%d)\n", ret); |
| 437 | 446 | ||
| 447 | ret = gpio_request_array(visstrim_m10_gpios, | ||
| 448 | ARRAY_SIZE(visstrim_m10_gpios)); | ||
| 449 | if (ret) | ||
| 450 | pr_err("Failed to request gpios (%d)\n", ret); | ||
| 451 | |||
| 438 | imx27_add_imx_ssi(0, &visstrim_m10_ssi_pdata); | 452 | imx27_add_imx_ssi(0, &visstrim_m10_ssi_pdata); |
| 439 | imx27_add_imx_uart0(&uart_pdata); | 453 | imx27_add_imx_uart0(&uart_pdata); |
| 440 | 454 | ||
diff --git a/arch/arm/mach-imx/mach-mx21ads.c b/arch/arm/mach-imx/mach-mx21ads.c index d14bbe949a4f..3e7401fca76c 100644 --- a/arch/arm/mach-imx/mach-mx21ads.c +++ b/arch/arm/mach-imx/mach-mx21ads.c | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | * Memory-mapped I/O on MX21ADS base board | 32 | * Memory-mapped I/O on MX21ADS base board |
| 33 | */ | 33 | */ |
| 34 | #define MX21ADS_MMIO_BASE_ADDR 0xf5000000 | 34 | #define MX21ADS_MMIO_BASE_ADDR 0xf5000000 |
| 35 | #define MX21ADS_MMIO_SIZE SZ_16M | 35 | #define MX21ADS_MMIO_SIZE 0xc00000 |
| 36 | 36 | ||
| 37 | #define MX21ADS_REG_ADDR(offset) (void __force __iomem *) \ | 37 | #define MX21ADS_REG_ADDR(offset) (void __force __iomem *) \ |
| 38 | (MX21ADS_MMIO_BASE_ADDR + (offset)) | 38 | (MX21ADS_MMIO_BASE_ADDR + (offset)) |
diff --git a/arch/arm/mach-imx/mm-imx3.c b/arch/arm/mach-imx/mm-imx3.c index 0b211f63981f..a8983b9778d1 100644 --- a/arch/arm/mach-imx/mm-imx3.c +++ b/arch/arm/mach-imx/mm-imx3.c | |||
| @@ -86,6 +86,7 @@ static void __iomem *imx3_ioremap_caller(unsigned long phys_addr, size_t size, | |||
| 86 | 86 | ||
| 87 | void __init imx3_init_l2x0(void) | 87 | void __init imx3_init_l2x0(void) |
| 88 | { | 88 | { |
| 89 | #ifdef CONFIG_CACHE_L2X0 | ||
| 89 | void __iomem *l2x0_base; | 90 | void __iomem *l2x0_base; |
| 90 | void __iomem *clkctl_base; | 91 | void __iomem *clkctl_base; |
| 91 | 92 | ||
| @@ -115,6 +116,7 @@ void __init imx3_init_l2x0(void) | |||
| 115 | } | 116 | } |
| 116 | 117 | ||
| 117 | l2x0_init(l2x0_base, 0x00030024, 0x00000000); | 118 | l2x0_init(l2x0_base, 0x00030024, 0x00000000); |
| 119 | #endif | ||
| 118 | } | 120 | } |
| 119 | 121 | ||
| 120 | #ifdef CONFIG_SOC_IMX31 | 122 | #ifdef CONFIG_SOC_IMX31 |
