aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx25/Kconfig2
-rw-r--r--arch/arm/mach-mx25/devices-imx25.h4
-rw-r--r--arch/arm/mach-mx25/devices.c23
-rw-r--r--arch/arm/mach-mx25/devices.h1
-rw-r--r--arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c5
-rw-r--r--arch/arm/mach-mx25/mach-mx25_3ds.c5
-rw-r--r--arch/arm/plat-mxc/devices/platform-imx-fb.c14
-rw-r--r--arch/arm/plat-mxc/include/mach/devices-common.h1
8 files changed, 21 insertions, 34 deletions
diff --git a/arch/arm/mach-mx25/Kconfig b/arch/arm/mach-mx25/Kconfig
index baa75fecf2ff..10c0f6081665 100644
--- a/arch/arm/mach-mx25/Kconfig
+++ b/arch/arm/mach-mx25/Kconfig
@@ -6,6 +6,7 @@ config MACH_MX25_3DS
6 bool "Support MX25PDK (3DS) Platform" 6 bool "Support MX25PDK (3DS) Platform"
7 select IMX_HAVE_PLATFORM_ESDHC 7 select IMX_HAVE_PLATFORM_ESDHC
8 select IMX_HAVE_PLATFORM_IMXDI_RTC 8 select IMX_HAVE_PLATFORM_IMXDI_RTC
9 select IMX_HAVE_PLATFORM_IMX_FB
9 select IMX_HAVE_PLATFORM_IMX_KEYPAD 10 select IMX_HAVE_PLATFORM_IMX_KEYPAD
10 select IMX_HAVE_PLATFORM_IMX_UART 11 select IMX_HAVE_PLATFORM_IMX_UART
11 select IMX_HAVE_PLATFORM_MXC_EHCI 12 select IMX_HAVE_PLATFORM_MXC_EHCI
@@ -17,6 +18,7 @@ config MACH_EUKREA_CPUIMX25
17 select IMX_HAVE_PLATFORM_FLEXCAN 18 select IMX_HAVE_PLATFORM_FLEXCAN
18 select IMX_HAVE_PLATFORM_FSL_USB2_UDC 19 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
19 select IMX_HAVE_PLATFORM_IMXDI_RTC 20 select IMX_HAVE_PLATFORM_IMXDI_RTC
21 select IMX_HAVE_PLATFORM_IMX_FB
20 select IMX_HAVE_PLATFORM_IMX_I2C 22 select IMX_HAVE_PLATFORM_IMX_I2C
21 select IMX_HAVE_PLATFORM_IMX_UART 23 select IMX_HAVE_PLATFORM_IMX_UART
22 select IMX_HAVE_PLATFORM_MXC_EHCI 24 select IMX_HAVE_PLATFORM_MXC_EHCI
diff --git a/arch/arm/mach-mx25/devices-imx25.h b/arch/arm/mach-mx25/devices-imx25.h
index a4980ecd3941..d80cce0797e1 100644
--- a/arch/arm/mach-mx25/devices-imx25.h
+++ b/arch/arm/mach-mx25/devices-imx25.h
@@ -27,6 +27,10 @@ extern struct imx_imxdi_rtc_data imx25_imxdi_rtc_data __initconst;
27#define imx25_add_imxdi_rtc(pdata) \ 27#define imx25_add_imxdi_rtc(pdata) \
28 imx_add_imxdi_rtc(&imx25_imxdi_rtc_data) 28 imx_add_imxdi_rtc(&imx25_imxdi_rtc_data)
29 29
30extern const struct imx_imx_fb_data imx25_imx_fb_data __initconst;
31#define imx25_add_imx_fb(pdata) \
32 imx_add_imx_fb(&imx25_imx_fb_data, pdata)
33
30extern const struct imx_imx_i2c_data imx25_imx_i2c_data[] __initconst; 34extern const struct imx_imx_i2c_data imx25_imx_i2c_data[] __initconst;
31#define imx25_add_imx_i2c(id, pdata) \ 35#define imx25_add_imx_i2c(id, pdata) \
32 imx_add_imx_i2c(&imx25_imx_i2c_data[id], pdata) 36 imx_add_imx_i2c(&imx25_imx_i2c_data[id], pdata)
diff --git a/arch/arm/mach-mx25/devices.c b/arch/arm/mach-mx25/devices.c
index 12743969222d..09095e0b69c7 100644
--- a/arch/arm/mach-mx25/devices.c
+++ b/arch/arm/mach-mx25/devices.c
@@ -22,29 +22,6 @@
22#include <mach/mx25.h> 22#include <mach/mx25.h>
23#include <mach/irqs.h> 23#include <mach/irqs.h>
24 24
25static struct resource mx25_fb_resources[] = {
26 {
27 .start = MX25_LCDC_BASE_ADDR,
28 .end = MX25_LCDC_BASE_ADDR + 0xfff,
29 .flags = IORESOURCE_MEM,
30 },
31 {
32 .start = MX25_INT_LCDC,
33 .end = MX25_INT_LCDC,
34 .flags = IORESOURCE_IRQ,
35 },
36};
37
38struct platform_device mx25_fb_device = {
39 .name = "imx-fb",
40 .id = 0,
41 .resource = mx25_fb_resources,
42 .num_resources = ARRAY_SIZE(mx25_fb_resources),
43 .dev = {
44 .coherent_dma_mask = 0xFFFFFFFF,
45 },
46};
47
48static struct resource mxc_wdt_resources[] = { 25static struct resource mxc_wdt_resources[] = {
49 { 26 {
50 .start = MX25_WDOG_BASE_ADDR, 27 .start = MX25_WDOG_BASE_ADDR,
diff --git a/arch/arm/mach-mx25/devices.h b/arch/arm/mach-mx25/devices.h
index f37f9a2d8ee0..11997e267c4b 100644
--- a/arch/arm/mach-mx25/devices.h
+++ b/arch/arm/mach-mx25/devices.h
@@ -1,3 +1,2 @@
1extern struct platform_device mx25_fb_device;
2extern struct platform_device mxc_wdt; 1extern struct platform_device mxc_wdt;
3extern struct platform_device mx25_csi_device; 2extern struct platform_device mx25_csi_device;
diff --git a/arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c b/arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c
index e765ac5d9a08..d6058e0c0c7d 100644
--- a/arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c
+++ b/arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c
@@ -33,7 +33,6 @@
33#include <asm/mach/arch.h> 33#include <asm/mach/arch.h>
34#include <mach/mx25.h> 34#include <mach/mx25.h>
35#include <mach/imx-uart.h> 35#include <mach/imx-uart.h>
36#include <mach/imxfb.h>
37#include <mach/audmux.h> 36#include <mach/audmux.h>
38 37
39#include "devices-imx25.h" 38#include "devices-imx25.h"
@@ -151,7 +150,7 @@ static struct imx_fb_videomode eukrea_mximxsd_modes[] = {
151 }, 150 },
152}; 151};
153 152
154static struct imx_fb_platform_data eukrea_mximxsd_fb_pdata = { 153static const struct imx_fb_platform_data eukrea_mximxsd_fb_pdata __initconst = {
155 .mode = eukrea_mximxsd_modes, 154 .mode = eukrea_mximxsd_modes,
156 .num_modes = ARRAY_SIZE(eukrea_mximxsd_modes), 155 .num_modes = ARRAY_SIZE(eukrea_mximxsd_modes),
157 .pwmr = 0x00A903FF, 156 .pwmr = 0x00A903FF,
@@ -273,7 +272,7 @@ void __init eukrea_mbimxsd25_baseboard_init(void)
273#endif 272#endif
274 273
275 imx25_add_imx_uart1(&uart_pdata); 274 imx25_add_imx_uart1(&uart_pdata);
276 mxc_register_device(&mx25_fb_device, &eukrea_mximxsd_fb_pdata); 275 imx25_add_imx_fb(&eukrea_mximxsd_fb_pdata);
277 imx25_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata); 276 imx25_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata);
278 277
279 imx25_add_flexcan1(NULL); 278 imx25_add_flexcan1(NULL);
diff --git a/arch/arm/mach-mx25/mach-mx25_3ds.c b/arch/arm/mach-mx25/mach-mx25_3ds.c
index 0566d3cb10cd..34492aa3cfa6 100644
--- a/arch/arm/mach-mx25/mach-mx25_3ds.c
+++ b/arch/arm/mach-mx25/mach-mx25_3ds.c
@@ -39,7 +39,6 @@
39#include <asm/mach/map.h> 39#include <asm/mach/map.h>
40#include <mach/common.h> 40#include <mach/common.h>
41#include <mach/mx25.h> 41#include <mach/mx25.h>
42#include <mach/imxfb.h>
43#include <mach/iomux-mx25.h> 42#include <mach/iomux-mx25.h>
44 43
45#include "devices-imx25.h" 44#include "devices-imx25.h"
@@ -154,7 +153,7 @@ static struct imx_fb_videomode mx25pdk_modes[] = {
154 }, 153 },
155}; 154};
156 155
157static struct imx_fb_platform_data mx25pdk_fb_pdata = { 156static const struct imx_fb_platform_data mx25pdk_fb_pdata __initconst = {
158 .mode = mx25pdk_modes, 157 .mode = mx25pdk_modes,
159 .num_modes = ARRAY_SIZE(mx25pdk_modes), 158 .num_modes = ARRAY_SIZE(mx25pdk_modes),
160 .pwmr = 0x00A903FF, 159 .pwmr = 0x00A903FF,
@@ -195,7 +194,7 @@ static void __init mx25pdk_init(void)
195 imx25_add_mxc_ehci_hs(NULL); 194 imx25_add_mxc_ehci_hs(NULL);
196 imx25_add_mxc_nand(&mx25pdk_nand_board_info); 195 imx25_add_mxc_nand(&mx25pdk_nand_board_info);
197 imx25_add_imxdi_rtc(NULL); 196 imx25_add_imxdi_rtc(NULL);
198 mxc_register_device(&mx25_fb_device, &mx25pdk_fb_pdata); 197 imx25_add_imx_fb(&mx25pdk_fb_pdata);
199 mxc_register_device(&mxc_wdt, NULL); 198 mxc_register_device(&mxc_wdt, NULL);
200 199
201 mx25pdk_fec_reset(); 200 mx25pdk_fec_reset();
diff --git a/arch/arm/plat-mxc/devices/platform-imx-fb.c b/arch/arm/plat-mxc/devices/platform-imx-fb.c
index 42ed3bea0fd1..f228ba6573e1 100644
--- a/arch/arm/plat-mxc/devices/platform-imx-fb.c
+++ b/arch/arm/plat-mxc/devices/platform-imx-fb.c
@@ -9,20 +9,26 @@
9#include <mach/hardware.h> 9#include <mach/hardware.h>
10#include <mach/devices-common.h> 10#include <mach/devices-common.h>
11 11
12#define imx_imx_fb_data_entry_single(soc) \ 12#define imx_imx_fb_data_entry_single(soc, _size) \
13 { \ 13 { \
14 .iobase = soc ## _LCDC_BASE_ADDR, \ 14 .iobase = soc ## _LCDC_BASE_ADDR, \
15 .iosize = _size, \
15 .irq = soc ## _INT_LCDC, \ 16 .irq = soc ## _INT_LCDC, \
16 } 17 }
17 18
18#ifdef CONFIG_SOC_IMX21 19#ifdef CONFIG_SOC_IMX21
19const struct imx_imx_fb_data imx21_imx_fb_data __initconst = 20const struct imx_imx_fb_data imx21_imx_fb_data __initconst =
20 imx_imx_fb_data_entry_single(MX21); 21 imx_imx_fb_data_entry_single(MX21, SZ_4K);
21#endif /* ifdef CONFIG_SOC_IMX21 */ 22#endif /* ifdef CONFIG_SOC_IMX21 */
22 23
24#ifdef CONFIG_ARCH_MX25
25const struct imx_imx_fb_data imx25_imx_fb_data __initconst =
26 imx_imx_fb_data_entry_single(MX25, SZ_16K);
27#endif
28
23#ifdef CONFIG_SOC_IMX27 29#ifdef CONFIG_SOC_IMX27
24const struct imx_imx_fb_data imx27_imx_fb_data __initconst = 30const struct imx_imx_fb_data imx27_imx_fb_data __initconst =
25 imx_imx_fb_data_entry_single(MX27); 31 imx_imx_fb_data_entry_single(MX27, SZ_4K);
26#endif /* ifdef CONFIG_SOC_IMX27 */ 32#endif /* ifdef CONFIG_SOC_IMX27 */
27 33
28struct platform_device *__init imx_add_imx_fb( 34struct platform_device *__init imx_add_imx_fb(
@@ -32,7 +38,7 @@ struct platform_device *__init imx_add_imx_fb(
32 struct resource res[] = { 38 struct resource res[] = {
33 { 39 {
34 .start = data->iobase, 40 .start = data->iobase,
35 .end = data->iobase + SZ_4K - 1, 41 .end = data->iobase + data->iosize - 1,
36 .flags = IORESOURCE_MEM, 42 .flags = IORESOURCE_MEM,
37 }, { 43 }, {
38 .start = data->irq, 44 .start = data->irq,
diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h
index 4d4b28b54955..e28453e18756 100644
--- a/arch/arm/plat-mxc/include/mach/devices-common.h
+++ b/arch/arm/plat-mxc/include/mach/devices-common.h
@@ -82,6 +82,7 @@ struct platform_device *__init imx_add_imxdi_rtc(
82#include <mach/imxfb.h> 82#include <mach/imxfb.h>
83struct imx_imx_fb_data { 83struct imx_imx_fb_data {
84 resource_size_t iobase; 84 resource_size_t iobase;
85 resource_size_t iosize;
85 resource_size_t irq; 86 resource_size_t irq;
86}; 87};
87struct platform_device *__init imx_add_imx_fb( 88struct platform_device *__init imx_add_imx_fb(