diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-08-03 03:42:39 -0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-08-03 03:42:39 -0400 |
commit | c61daf6b0a2f7048c6e74d52b043fa6a779b128a (patch) | |
tree | a4a38656ac79775f38ce5fd6b00dd9b89cd5ccec /arch/arm/plat-mxc/devices | |
parent | 786c89f7a24b4ed8b68dfb136347267875315c30 (diff) | |
parent | 160a84cfc975f4aaec1cb32a48bba23ccaf43761 (diff) |
Merge branch 'imx-cleanup' of git://git.pengutronix.de/git/ukl/linux-2.6 into imx-cleanup
Diffstat (limited to 'arch/arm/plat-mxc/devices')
-rw-r--r-- | arch/arm/plat-mxc/devices/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-fec.c | 22 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c | 6 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-gpio-mxc.c | 32 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-imx-dma.c | 204 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-imx-fb.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-imx-i2c.c | 9 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-imx-keypad.c | 5 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-imx-ssi.c | 12 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-imx-uart.c | 9 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-ipu-core.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-mxc-ehci.c | 10 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-mxc-mmc.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c | 29 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-spi_imx.c | 12 |
15 files changed, 138 insertions, 216 deletions
diff --git a/arch/arm/plat-mxc/devices/Makefile b/arch/arm/plat-mxc/devices/Makefile index ad2922acf480..b41bf972b54b 100644 --- a/arch/arm/plat-mxc/devices/Makefile +++ b/arch/arm/plat-mxc/devices/Makefile | |||
@@ -2,6 +2,7 @@ obj-$(CONFIG_IMX_HAVE_PLATFORM_FEC) += platform-fec.o | |||
2 | obj-$(CONFIG_IMX_HAVE_PLATFORM_FLEXCAN) += platform-flexcan.o | 2 | obj-$(CONFIG_IMX_HAVE_PLATFORM_FLEXCAN) += platform-flexcan.o |
3 | obj-$(CONFIG_IMX_HAVE_PLATFORM_FSL_USB2_UDC) += platform-fsl-usb2-udc.o | 3 | obj-$(CONFIG_IMX_HAVE_PLATFORM_FSL_USB2_UDC) += platform-fsl-usb2-udc.o |
4 | obj-$(CONFIG_IMX_HAVE_PLATFORM_GPIO_KEYS) += platform-gpio_keys.o | 4 | obj-$(CONFIG_IMX_HAVE_PLATFORM_GPIO_KEYS) += platform-gpio_keys.o |
5 | obj-y += platform-gpio-mxc.o | ||
5 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX21_HCD) += platform-imx21-hcd.o | 6 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX21_HCD) += platform-imx21-hcd.o |
6 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX2_WDT) += platform-imx2-wdt.o | 7 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX2_WDT) += platform-imx2-wdt.o |
7 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMXDI_RTC) += platform-imxdi_rtc.o | 8 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMXDI_RTC) += platform-imxdi_rtc.o |
diff --git a/arch/arm/plat-mxc/devices/platform-fec.c b/arch/arm/plat-mxc/devices/platform-fec.c index ccc789e21daa..0bae44e890db 100644 --- a/arch/arm/plat-mxc/devices/platform-fec.c +++ b/arch/arm/plat-mxc/devices/platform-fec.c | |||
@@ -6,44 +6,50 @@ | |||
6 | * the terms of the GNU General Public License version 2 as published by the | 6 | * the terms of the GNU General Public License version 2 as published by the |
7 | * Free Software Foundation. | 7 | * Free Software Foundation. |
8 | */ | 8 | */ |
9 | #include <linux/dma-mapping.h> | ||
9 | #include <asm/sizes.h> | 10 | #include <asm/sizes.h> |
10 | #include <mach/hardware.h> | 11 | #include <mach/hardware.h> |
11 | #include <mach/devices-common.h> | 12 | #include <mach/devices-common.h> |
12 | 13 | ||
13 | #define imx_fec_data_entry_single(soc) \ | 14 | #define imx_fec_data_entry_single(soc, _devid) \ |
14 | { \ | 15 | { \ |
16 | .devid = _devid, \ | ||
15 | .iobase = soc ## _FEC_BASE_ADDR, \ | 17 | .iobase = soc ## _FEC_BASE_ADDR, \ |
16 | .irq = soc ## _INT_FEC, \ | 18 | .irq = soc ## _INT_FEC, \ |
17 | } | 19 | } |
18 | 20 | ||
19 | #ifdef CONFIG_SOC_IMX25 | 21 | #ifdef CONFIG_SOC_IMX25 |
20 | const struct imx_fec_data imx25_fec_data __initconst = | 22 | const struct imx_fec_data imx25_fec_data __initconst = |
21 | imx_fec_data_entry_single(MX25); | 23 | imx_fec_data_entry_single(MX25, "imx25-fec"); |
22 | #endif /* ifdef CONFIG_SOC_IMX25 */ | 24 | #endif /* ifdef CONFIG_SOC_IMX25 */ |
23 | 25 | ||
24 | #ifdef CONFIG_SOC_IMX27 | 26 | #ifdef CONFIG_SOC_IMX27 |
25 | const struct imx_fec_data imx27_fec_data __initconst = | 27 | const struct imx_fec_data imx27_fec_data __initconst = |
26 | imx_fec_data_entry_single(MX27); | 28 | imx_fec_data_entry_single(MX27, "imx27-fec"); |
27 | #endif /* ifdef CONFIG_SOC_IMX27 */ | 29 | #endif /* ifdef CONFIG_SOC_IMX27 */ |
28 | 30 | ||
29 | #ifdef CONFIG_SOC_IMX35 | 31 | #ifdef CONFIG_SOC_IMX35 |
32 | /* i.mx35 has the i.mx27 type fec */ | ||
30 | const struct imx_fec_data imx35_fec_data __initconst = | 33 | const struct imx_fec_data imx35_fec_data __initconst = |
31 | imx_fec_data_entry_single(MX35); | 34 | imx_fec_data_entry_single(MX35, "imx27-fec"); |
32 | #endif | 35 | #endif |
33 | 36 | ||
34 | #ifdef CONFIG_SOC_IMX50 | 37 | #ifdef CONFIG_SOC_IMX50 |
38 | /* i.mx50 has the i.mx25 type fec */ | ||
35 | const struct imx_fec_data imx50_fec_data __initconst = | 39 | const struct imx_fec_data imx50_fec_data __initconst = |
36 | imx_fec_data_entry_single(MX50); | 40 | imx_fec_data_entry_single(MX50, "imx25-fec"); |
37 | #endif | 41 | #endif |
38 | 42 | ||
39 | #ifdef CONFIG_SOC_IMX51 | 43 | #ifdef CONFIG_SOC_IMX51 |
44 | /* i.mx51 has the i.mx27 type fec */ | ||
40 | const struct imx_fec_data imx51_fec_data __initconst = | 45 | const struct imx_fec_data imx51_fec_data __initconst = |
41 | imx_fec_data_entry_single(MX51); | 46 | imx_fec_data_entry_single(MX51, "imx27-fec"); |
42 | #endif | 47 | #endif |
43 | 48 | ||
44 | #ifdef CONFIG_SOC_IMX53 | 49 | #ifdef CONFIG_SOC_IMX53 |
50 | /* i.mx53 has the i.mx25 type fec */ | ||
45 | const struct imx_fec_data imx53_fec_data __initconst = | 51 | const struct imx_fec_data imx53_fec_data __initconst = |
46 | imx_fec_data_entry_single(MX53); | 52 | imx_fec_data_entry_single(MX53, "imx25-fec"); |
47 | #endif | 53 | #endif |
48 | 54 | ||
49 | struct platform_device *__init imx_add_fec( | 55 | struct platform_device *__init imx_add_fec( |
@@ -62,7 +68,7 @@ struct platform_device *__init imx_add_fec( | |||
62 | }, | 68 | }, |
63 | }; | 69 | }; |
64 | 70 | ||
65 | return imx_add_platform_device_dmamask("fec", 0, | 71 | return imx_add_platform_device_dmamask(data->devid, 0, |
66 | res, ARRAY_SIZE(res), | 72 | res, ARRAY_SIZE(res), |
67 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); | 73 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); |
68 | } | 74 | } |
diff --git a/arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c b/arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c index 59c33f6e401c..848038f301fd 100644 --- a/arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c +++ b/arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c | |||
@@ -6,6 +6,7 @@ | |||
6 | * the terms of the GNU General Public License version 2 as published by the | 6 | * the terms of the GNU General Public License version 2 as published by the |
7 | * Free Software Foundation. | 7 | * Free Software Foundation. |
8 | */ | 8 | */ |
9 | #include <linux/dma-mapping.h> | ||
9 | #include <mach/hardware.h> | 10 | #include <mach/hardware.h> |
10 | #include <mach/devices-common.h> | 11 | #include <mach/devices-common.h> |
11 | 12 | ||
@@ -35,6 +36,11 @@ const struct imx_fsl_usb2_udc_data imx35_fsl_usb2_udc_data __initconst = | |||
35 | imx_fsl_usb2_udc_data_entry_single(MX35); | 36 | imx_fsl_usb2_udc_data_entry_single(MX35); |
36 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 37 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
37 | 38 | ||
39 | #ifdef CONFIG_SOC_IMX51 | ||
40 | const struct imx_fsl_usb2_udc_data imx51_fsl_usb2_udc_data __initconst = | ||
41 | imx_fsl_usb2_udc_data_entry_single(MX51); | ||
42 | #endif | ||
43 | |||
38 | struct platform_device *__init imx_add_fsl_usb2_udc( | 44 | struct platform_device *__init imx_add_fsl_usb2_udc( |
39 | const struct imx_fsl_usb2_udc_data *data, | 45 | const struct imx_fsl_usb2_udc_data *data, |
40 | const struct fsl_usb2_platform_data *pdata) | 46 | const struct fsl_usb2_platform_data *pdata) |
diff --git a/arch/arm/plat-mxc/devices/platform-gpio-mxc.c b/arch/arm/plat-mxc/devices/platform-gpio-mxc.c new file mode 100644 index 000000000000..a7919a241032 --- /dev/null +++ b/arch/arm/plat-mxc/devices/platform-gpio-mxc.c | |||
@@ -0,0 +1,32 @@ | |||
1 | /* | ||
2 | * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * Copyright 2011 Linaro Limited | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it under | ||
6 | * the terms of the GNU General Public License version 2 as published by the | ||
7 | * Free Software Foundation. | ||
8 | */ | ||
9 | #include <mach/devices-common.h> | ||
10 | |||
11 | struct platform_device *__init mxc_register_gpio(char *name, int id, | ||
12 | resource_size_t iobase, resource_size_t iosize, int irq, int irq_high) | ||
13 | { | ||
14 | struct resource res[] = { | ||
15 | { | ||
16 | .start = iobase, | ||
17 | .end = iobase + iosize - 1, | ||
18 | .flags = IORESOURCE_MEM, | ||
19 | }, { | ||
20 | .start = irq, | ||
21 | .end = irq, | ||
22 | .flags = IORESOURCE_IRQ, | ||
23 | }, { | ||
24 | .start = irq_high, | ||
25 | .end = irq_high, | ||
26 | .flags = IORESOURCE_IRQ, | ||
27 | }, | ||
28 | }; | ||
29 | |||
30 | return platform_device_register_resndata(&mxc_aips_bus, | ||
31 | name, id, res, ARRAY_SIZE(res), NULL, 0); | ||
32 | } | ||
diff --git a/arch/arm/plat-mxc/devices/platform-imx-dma.c b/arch/arm/plat-mxc/devices/platform-imx-dma.c index b130f60ca6b7..7fa7e9c92468 100644 --- a/arch/arm/plat-mxc/devices/platform-imx-dma.c +++ b/arch/arm/plat-mxc/devices/platform-imx-dma.c | |||
@@ -6,207 +6,29 @@ | |||
6 | * the terms of the GNU General Public License version 2 as published by the | 6 | * the terms of the GNU General Public License version 2 as published by the |
7 | * Free Software Foundation. | 7 | * Free Software Foundation. |
8 | */ | 8 | */ |
9 | #include <linux/compiler.h> | ||
10 | #include <linux/err.h> | ||
11 | #include <linux/init.h> | ||
12 | |||
13 | #include <mach/hardware.h> | ||
14 | #include <mach/devices-common.h> | 9 | #include <mach/devices-common.h> |
15 | #include <mach/sdma.h> | ||
16 | |||
17 | struct imx_imx_sdma_data { | ||
18 | resource_size_t iobase; | ||
19 | resource_size_t irq; | ||
20 | struct sdma_platform_data pdata; | ||
21 | }; | ||
22 | |||
23 | #define imx_imx_sdma_data_entry_single(soc, _sdma_version, _cpu_name, _to_version)\ | ||
24 | { \ | ||
25 | .iobase = soc ## _SDMA ## _BASE_ADDR, \ | ||
26 | .irq = soc ## _INT_SDMA, \ | ||
27 | .pdata = { \ | ||
28 | .sdma_version = _sdma_version, \ | ||
29 | .cpu_name = _cpu_name, \ | ||
30 | .to_version = _to_version, \ | ||
31 | }, \ | ||
32 | } | ||
33 | |||
34 | #ifdef CONFIG_SOC_IMX25 | ||
35 | struct imx_imx_sdma_data imx25_imx_sdma_data __initconst = | ||
36 | imx_imx_sdma_data_entry_single(MX25, 1, "imx25", 0); | ||
37 | #endif /* ifdef CONFIG_SOC_IMX25 */ | ||
38 | 10 | ||
39 | #ifdef CONFIG_SOC_IMX31 | 11 | struct platform_device __init __maybe_unused *imx_add_imx_dma(void) |
40 | struct imx_imx_sdma_data imx31_imx_sdma_data __initdata = | 12 | { |
41 | imx_imx_sdma_data_entry_single(MX31, 1, "imx31", 0); | 13 | return platform_device_register_resndata(&mxc_ahb_bus, |
42 | #endif /* ifdef CONFIG_SOC_IMX31 */ | 14 | "imx-dma", -1, NULL, 0, NULL, 0); |
43 | 15 | } | |
44 | #ifdef CONFIG_SOC_IMX35 | ||
45 | struct imx_imx_sdma_data imx35_imx_sdma_data __initdata = | ||
46 | imx_imx_sdma_data_entry_single(MX35, 2, "imx35", 0); | ||
47 | #endif /* ifdef CONFIG_SOC_IMX35 */ | ||
48 | |||
49 | #ifdef CONFIG_SOC_IMX51 | ||
50 | struct imx_imx_sdma_data imx51_imx_sdma_data __initconst = | ||
51 | imx_imx_sdma_data_entry_single(MX51, 2, "imx51", 0); | ||
52 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
53 | 16 | ||
54 | static struct platform_device __init __maybe_unused *imx_add_imx_sdma( | 17 | struct platform_device __init __maybe_unused *imx_add_imx_sdma(char *name, |
55 | const struct imx_imx_sdma_data *data) | 18 | resource_size_t iobase, int irq, struct sdma_platform_data *pdata) |
56 | { | 19 | { |
57 | struct resource res[] = { | 20 | struct resource res[] = { |
58 | { | 21 | { |
59 | .start = data->iobase, | 22 | .start = iobase, |
60 | .end = data->iobase + SZ_4K - 1, | 23 | .end = iobase + SZ_16K - 1, |
61 | .flags = IORESOURCE_MEM, | 24 | .flags = IORESOURCE_MEM, |
62 | }, { | 25 | }, { |
63 | .start = data->irq, | 26 | .start = irq, |
64 | .end = data->irq, | 27 | .end = irq, |
65 | .flags = IORESOURCE_IRQ, | 28 | .flags = IORESOURCE_IRQ, |
66 | }, | 29 | }, |
67 | }; | 30 | }; |
68 | 31 | ||
69 | return imx_add_platform_device("imx-sdma", -1, | 32 | return platform_device_register_resndata(&mxc_ahb_bus, name, |
70 | res, ARRAY_SIZE(res), | 33 | -1, res, ARRAY_SIZE(res), pdata, sizeof(*pdata)); |
71 | &data->pdata, sizeof(data->pdata)); | ||
72 | } | ||
73 | |||
74 | static struct platform_device __init __maybe_unused *imx_add_imx_dma(void) | ||
75 | { | ||
76 | return imx_add_platform_device("imx-dma", -1, NULL, 0, NULL, 0); | ||
77 | } | ||
78 | |||
79 | #ifdef CONFIG_ARCH_MX25 | ||
80 | static struct sdma_script_start_addrs addr_imx25_to1 = { | ||
81 | .ap_2_ap_addr = 729, | ||
82 | .uart_2_mcu_addr = 904, | ||
83 | .per_2_app_addr = 1255, | ||
84 | .mcu_2_app_addr = 834, | ||
85 | .uartsh_2_mcu_addr = 1120, | ||
86 | .per_2_shp_addr = 1329, | ||
87 | .mcu_2_shp_addr = 1048, | ||
88 | .ata_2_mcu_addr = 1560, | ||
89 | .mcu_2_ata_addr = 1479, | ||
90 | .app_2_per_addr = 1189, | ||
91 | .app_2_mcu_addr = 770, | ||
92 | .shp_2_per_addr = 1407, | ||
93 | .shp_2_mcu_addr = 979, | ||
94 | }; | ||
95 | #endif | ||
96 | |||
97 | #ifdef CONFIG_SOC_IMX31 | ||
98 | static struct sdma_script_start_addrs addr_imx31_to1 = { | ||
99 | .per_2_per_addr = 1677, | ||
100 | }; | ||
101 | |||
102 | static struct sdma_script_start_addrs addr_imx31_to2 = { | ||
103 | .ap_2_ap_addr = 423, | ||
104 | .ap_2_bp_addr = 829, | ||
105 | .bp_2_ap_addr = 1029, | ||
106 | }; | ||
107 | #endif | ||
108 | |||
109 | #ifdef CONFIG_SOC_IMX35 | ||
110 | static struct sdma_script_start_addrs addr_imx35_to1 = { | ||
111 | .ap_2_ap_addr = 642, | ||
112 | .uart_2_mcu_addr = 817, | ||
113 | .mcu_2_app_addr = 747, | ||
114 | .uartsh_2_mcu_addr = 1183, | ||
115 | .per_2_shp_addr = 1033, | ||
116 | .mcu_2_shp_addr = 961, | ||
117 | .ata_2_mcu_addr = 1333, | ||
118 | .mcu_2_ata_addr = 1252, | ||
119 | .app_2_mcu_addr = 683, | ||
120 | .shp_2_per_addr = 1111, | ||
121 | .shp_2_mcu_addr = 892, | ||
122 | }; | ||
123 | |||
124 | static struct sdma_script_start_addrs addr_imx35_to2 = { | ||
125 | .ap_2_ap_addr = 729, | ||
126 | .uart_2_mcu_addr = 904, | ||
127 | .per_2_app_addr = 1597, | ||
128 | .mcu_2_app_addr = 834, | ||
129 | .uartsh_2_mcu_addr = 1270, | ||
130 | .per_2_shp_addr = 1120, | ||
131 | .mcu_2_shp_addr = 1048, | ||
132 | .ata_2_mcu_addr = 1429, | ||
133 | .mcu_2_ata_addr = 1339, | ||
134 | .app_2_per_addr = 1531, | ||
135 | .app_2_mcu_addr = 770, | ||
136 | .shp_2_per_addr = 1198, | ||
137 | .shp_2_mcu_addr = 979, | ||
138 | }; | ||
139 | #endif | ||
140 | |||
141 | #ifdef CONFIG_SOC_IMX51 | ||
142 | static struct sdma_script_start_addrs addr_imx51 = { | ||
143 | .ap_2_ap_addr = 642, | ||
144 | .uart_2_mcu_addr = 817, | ||
145 | .mcu_2_app_addr = 747, | ||
146 | .mcu_2_shp_addr = 961, | ||
147 | .ata_2_mcu_addr = 1473, | ||
148 | .mcu_2_ata_addr = 1392, | ||
149 | .app_2_per_addr = 1033, | ||
150 | .app_2_mcu_addr = 683, | ||
151 | .shp_2_per_addr = 1251, | ||
152 | .shp_2_mcu_addr = 892, | ||
153 | }; | ||
154 | #endif | ||
155 | |||
156 | static int __init imxXX_add_imx_dma(void) | ||
157 | { | ||
158 | struct platform_device *ret; | ||
159 | |||
160 | #if defined(CONFIG_SOC_IMX21) || defined(CONFIG_SOC_IMX27) | ||
161 | if (cpu_is_mx21() || cpu_is_mx27()) | ||
162 | ret = imx_add_imx_dma(); | ||
163 | else | ||
164 | #endif | ||
165 | |||
166 | #if defined(CONFIG_SOC_IMX25) | ||
167 | if (cpu_is_mx25()) { | ||
168 | imx25_imx_sdma_data.pdata.script_addrs = &addr_imx25_to1; | ||
169 | ret = imx_add_imx_sdma(&imx25_imx_sdma_data); | ||
170 | } else | ||
171 | #endif | ||
172 | |||
173 | #if defined(CONFIG_SOC_IMX31) | ||
174 | if (cpu_is_mx31()) { | ||
175 | int to_version = mx31_revision() >> 4; | ||
176 | imx31_imx_sdma_data.pdata.to_version = to_version; | ||
177 | if (to_version == 1) | ||
178 | imx31_imx_sdma_data.pdata.script_addrs = &addr_imx31_to1; | ||
179 | else | ||
180 | imx31_imx_sdma_data.pdata.script_addrs = &addr_imx31_to2; | ||
181 | ret = imx_add_imx_sdma(&imx31_imx_sdma_data); | ||
182 | } else | ||
183 | #endif | ||
184 | |||
185 | #if defined(CONFIG_SOC_IMX35) | ||
186 | if (cpu_is_mx35()) { | ||
187 | int to_version = mx35_revision() >> 4; | ||
188 | imx35_imx_sdma_data.pdata.to_version = to_version; | ||
189 | if (to_version == 1) | ||
190 | imx35_imx_sdma_data.pdata.script_addrs = &addr_imx35_to1; | ||
191 | else | ||
192 | imx35_imx_sdma_data.pdata.script_addrs = &addr_imx35_to2; | ||
193 | ret = imx_add_imx_sdma(&imx35_imx_sdma_data); | ||
194 | } else | ||
195 | #endif | ||
196 | |||
197 | #if defined(CONFIG_SOC_IMX51) | ||
198 | if (cpu_is_mx51()) { | ||
199 | int to_version = mx51_revision() >> 4; | ||
200 | imx51_imx_sdma_data.pdata.to_version = to_version; | ||
201 | imx51_imx_sdma_data.pdata.script_addrs = &addr_imx51; | ||
202 | ret = imx_add_imx_sdma(&imx51_imx_sdma_data); | ||
203 | } else | ||
204 | #endif | ||
205 | ret = ERR_PTR(-ENODEV); | ||
206 | |||
207 | if (IS_ERR(ret)) | ||
208 | return PTR_ERR(ret); | ||
209 | |||
210 | return 0; | ||
211 | } | 34 | } |
212 | arch_initcall(imxXX_add_imx_dma); | ||
diff --git a/arch/arm/plat-mxc/devices/platform-imx-fb.c b/arch/arm/plat-mxc/devices/platform-imx-fb.c index 79a1cb18a5b0..2b0b5e0aa998 100644 --- a/arch/arm/plat-mxc/devices/platform-imx-fb.c +++ b/arch/arm/plat-mxc/devices/platform-imx-fb.c | |||
@@ -6,6 +6,7 @@ | |||
6 | * the terms of the GNU General Public License version 2 as published by the | 6 | * the terms of the GNU General Public License version 2 as published by the |
7 | * Free Software Foundation. | 7 | * Free Software Foundation. |
8 | */ | 8 | */ |
9 | #include <linux/dma-mapping.h> | ||
9 | #include <mach/hardware.h> | 10 | #include <mach/hardware.h> |
10 | #include <mach/devices-common.h> | 11 | #include <mach/devices-common.h> |
11 | 12 | ||
diff --git a/arch/arm/plat-mxc/devices/platform-imx-i2c.c b/arch/arm/plat-mxc/devices/platform-imx-i2c.c index 2ab74f0da9a6..19ad580c0be3 100644 --- a/arch/arm/plat-mxc/devices/platform-imx-i2c.c +++ b/arch/arm/plat-mxc/devices/platform-imx-i2c.c | |||
@@ -85,6 +85,12 @@ const struct imx_imx_i2c_data imx51_imx_i2c_data[] __initconst = { | |||
85 | imx_imx_i2c_data_entry(MX51, _id, _hwid, SZ_4K) | 85 | imx_imx_i2c_data_entry(MX51, _id, _hwid, SZ_4K) |
86 | imx51_imx_i2c_data_entry(0, 1), | 86 | imx51_imx_i2c_data_entry(0, 1), |
87 | imx51_imx_i2c_data_entry(1, 2), | 87 | imx51_imx_i2c_data_entry(1, 2), |
88 | { | ||
89 | .id = 2, | ||
90 | .iobase = MX51_HSI2C_DMA_BASE_ADDR, | ||
91 | .iosize = SZ_16K, | ||
92 | .irq = MX51_INT_HS_I2C, | ||
93 | }, | ||
88 | }; | 94 | }; |
89 | #endif /* ifdef CONFIG_SOC_IMX51 */ | 95 | #endif /* ifdef CONFIG_SOC_IMX51 */ |
90 | 96 | ||
@@ -94,8 +100,9 @@ const struct imx_imx_i2c_data imx53_imx_i2c_data[] __initconst = { | |||
94 | imx_imx_i2c_data_entry(MX53, _id, _hwid, SZ_4K) | 100 | imx_imx_i2c_data_entry(MX53, _id, _hwid, SZ_4K) |
95 | imx53_imx_i2c_data_entry(0, 1), | 101 | imx53_imx_i2c_data_entry(0, 1), |
96 | imx53_imx_i2c_data_entry(1, 2), | 102 | imx53_imx_i2c_data_entry(1, 2), |
103 | imx53_imx_i2c_data_entry(2, 3), | ||
97 | }; | 104 | }; |
98 | #endif /* ifdef CONFIG_SOC_IMX51 */ | 105 | #endif /* ifdef CONFIG_SOC_IMX53 */ |
99 | 106 | ||
100 | struct platform_device *__init imx_add_imx_i2c( | 107 | struct platform_device *__init imx_add_imx_i2c( |
101 | const struct imx_imx_i2c_data *data, | 108 | const struct imx_imx_i2c_data *data, |
diff --git a/arch/arm/plat-mxc/devices/platform-imx-keypad.c b/arch/arm/plat-mxc/devices/platform-imx-keypad.c index 26366114b021..479c3e9f771f 100644 --- a/arch/arm/plat-mxc/devices/platform-imx-keypad.c +++ b/arch/arm/plat-mxc/devices/platform-imx-keypad.c | |||
@@ -46,6 +46,11 @@ const struct imx_imx_keypad_data imx51_imx_keypad_data __initconst = | |||
46 | imx_imx_keypad_data_entry_single(MX51, SZ_16); | 46 | imx_imx_keypad_data_entry_single(MX51, SZ_16); |
47 | #endif /* ifdef CONFIG_SOC_IMX51 */ | 47 | #endif /* ifdef CONFIG_SOC_IMX51 */ |
48 | 48 | ||
49 | #ifdef CONFIG_SOC_IMX53 | ||
50 | const struct imx_imx_keypad_data imx53_imx_keypad_data __initconst = | ||
51 | imx_imx_keypad_data_entry_single(MX53, SZ_16); | ||
52 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
53 | |||
49 | struct platform_device *__init imx_add_imx_keypad( | 54 | struct platform_device *__init imx_add_imx_keypad( |
50 | const struct imx_imx_keypad_data *data, | 55 | const struct imx_imx_keypad_data *data, |
51 | const struct matrix_keymap_data *pdata) | 56 | const struct matrix_keymap_data *pdata) |
diff --git a/arch/arm/plat-mxc/devices/platform-imx-ssi.c b/arch/arm/plat-mxc/devices/platform-imx-ssi.c index 2569c8d8a2ef..21c6f30e1017 100644 --- a/arch/arm/plat-mxc/devices/platform-imx-ssi.c +++ b/arch/arm/plat-mxc/devices/platform-imx-ssi.c | |||
@@ -69,13 +69,23 @@ const struct imx_imx_ssi_data imx35_imx_ssi_data[] __initconst = { | |||
69 | #ifdef CONFIG_SOC_IMX51 | 69 | #ifdef CONFIG_SOC_IMX51 |
70 | const struct imx_imx_ssi_data imx51_imx_ssi_data[] __initconst = { | 70 | const struct imx_imx_ssi_data imx51_imx_ssi_data[] __initconst = { |
71 | #define imx51_imx_ssi_data_entry(_id, _hwid) \ | 71 | #define imx51_imx_ssi_data_entry(_id, _hwid) \ |
72 | imx_imx_ssi_data_entry(MX51, _id, _hwid, SZ_4K) | 72 | imx_imx_ssi_data_entry(MX51, _id, _hwid, SZ_16K) |
73 | imx51_imx_ssi_data_entry(0, 1), | 73 | imx51_imx_ssi_data_entry(0, 1), |
74 | imx51_imx_ssi_data_entry(1, 2), | 74 | imx51_imx_ssi_data_entry(1, 2), |
75 | imx51_imx_ssi_data_entry(2, 3), | 75 | imx51_imx_ssi_data_entry(2, 3), |
76 | }; | 76 | }; |
77 | #endif /* ifdef CONFIG_SOC_IMX51 */ | 77 | #endif /* ifdef CONFIG_SOC_IMX51 */ |
78 | 78 | ||
79 | #ifdef CONFIG_SOC_IMX53 | ||
80 | const struct imx_imx_ssi_data imx53_imx_ssi_data[] __initconst = { | ||
81 | #define imx53_imx_ssi_data_entry(_id, _hwid) \ | ||
82 | imx_imx_ssi_data_entry(MX53, _id, _hwid, SZ_16K) | ||
83 | imx53_imx_ssi_data_entry(0, 1), | ||
84 | imx53_imx_ssi_data_entry(1, 2), | ||
85 | imx53_imx_ssi_data_entry(2, 3), | ||
86 | }; | ||
87 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
88 | |||
79 | struct platform_device *__init imx_add_imx_ssi( | 89 | struct platform_device *__init imx_add_imx_ssi( |
80 | const struct imx_imx_ssi_data *data, | 90 | const struct imx_imx_ssi_data *data, |
81 | const struct imx_ssi_platform_data *pdata) | 91 | const struct imx_ssi_platform_data *pdata) |
diff --git a/arch/arm/plat-mxc/devices/platform-imx-uart.c b/arch/arm/plat-mxc/devices/platform-imx-uart.c index 3c854c2cc6dd..2020d84956c3 100644 --- a/arch/arm/plat-mxc/devices/platform-imx-uart.c +++ b/arch/arm/plat-mxc/devices/platform-imx-uart.c | |||
@@ -123,6 +123,8 @@ const struct imx_imx_uart_1irq_data imx53_imx_uart_data[] __initconst = { | |||
123 | imx53_imx_uart_data_entry(0, 1), | 123 | imx53_imx_uart_data_entry(0, 1), |
124 | imx53_imx_uart_data_entry(1, 2), | 124 | imx53_imx_uart_data_entry(1, 2), |
125 | imx53_imx_uart_data_entry(2, 3), | 125 | imx53_imx_uart_data_entry(2, 3), |
126 | imx53_imx_uart_data_entry(3, 4), | ||
127 | imx53_imx_uart_data_entry(4, 5), | ||
126 | }; | 128 | }; |
127 | #endif /* ifdef CONFIG_SOC_IMX53 */ | 129 | #endif /* ifdef CONFIG_SOC_IMX53 */ |
128 | 130 | ||
@@ -150,7 +152,7 @@ struct platform_device *__init imx_add_imx_uart_3irq( | |||
150 | }, | 152 | }, |
151 | }; | 153 | }; |
152 | 154 | ||
153 | return imx_add_platform_device("imx-uart", data->id, res, | 155 | return imx_add_platform_device("imx1-uart", data->id, res, |
154 | ARRAY_SIZE(res), pdata, sizeof(*pdata)); | 156 | ARRAY_SIZE(res), pdata, sizeof(*pdata)); |
155 | } | 157 | } |
156 | 158 | ||
@@ -170,6 +172,7 @@ struct platform_device *__init imx_add_imx_uart_1irq( | |||
170 | }, | 172 | }, |
171 | }; | 173 | }; |
172 | 174 | ||
173 | return imx_add_platform_device("imx-uart", data->id, res, ARRAY_SIZE(res), | 175 | /* i.mx21 type uart runs on all i.mx except i.mx1 */ |
174 | pdata, sizeof(*pdata)); | 176 | return imx_add_platform_device("imx21-uart", data->id, |
177 | res, ARRAY_SIZE(res), pdata, sizeof(*pdata)); | ||
175 | } | 178 | } |
diff --git a/arch/arm/plat-mxc/devices/platform-ipu-core.c b/arch/arm/plat-mxc/devices/platform-ipu-core.c index edf65034aea5..79d340ae0af1 100644 --- a/arch/arm/plat-mxc/devices/platform-ipu-core.c +++ b/arch/arm/plat-mxc/devices/platform-ipu-core.c | |||
@@ -6,6 +6,7 @@ | |||
6 | * the terms of the GNU General Public License version 2 as published by the | 6 | * the terms of the GNU General Public License version 2 as published by the |
7 | * Free Software Foundation. | 7 | * Free Software Foundation. |
8 | */ | 8 | */ |
9 | #include <linux/dma-mapping.h> | ||
9 | #include <mach/hardware.h> | 10 | #include <mach/hardware.h> |
10 | #include <mach/devices-common.h> | 11 | #include <mach/devices-common.h> |
11 | 12 | ||
diff --git a/arch/arm/plat-mxc/devices/platform-mxc-ehci.c b/arch/arm/plat-mxc/devices/platform-mxc-ehci.c index cc488f4b6204..35851d889aca 100644 --- a/arch/arm/plat-mxc/devices/platform-mxc-ehci.c +++ b/arch/arm/plat-mxc/devices/platform-mxc-ehci.c | |||
@@ -6,6 +6,7 @@ | |||
6 | * the terms of the GNU General Public License version 2 as published by the | 6 | * the terms of the GNU General Public License version 2 as published by the |
7 | * Free Software Foundation. | 7 | * Free Software Foundation. |
8 | */ | 8 | */ |
9 | #include <linux/dma-mapping.h> | ||
9 | #include <mach/hardware.h> | 10 | #include <mach/hardware.h> |
10 | #include <mach/devices-common.h> | 11 | #include <mach/devices-common.h> |
11 | 12 | ||
@@ -48,6 +49,15 @@ const struct imx_mxc_ehci_data imx35_mxc_ehci_hs_data __initconst = | |||
48 | imx_mxc_ehci_data_entry_single(MX35, 1, HS); | 49 | imx_mxc_ehci_data_entry_single(MX35, 1, HS); |
49 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 50 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
50 | 51 | ||
52 | #ifdef CONFIG_SOC_IMX51 | ||
53 | const struct imx_mxc_ehci_data imx51_mxc_ehci_otg_data __initconst = | ||
54 | imx_mxc_ehci_data_entry_single(MX51, 0, OTG); | ||
55 | const struct imx_mxc_ehci_data imx51_mxc_ehci_hs_data[] __initconst = { | ||
56 | imx_mxc_ehci_data_entry_single(MX51, 1, HS1), | ||
57 | imx_mxc_ehci_data_entry_single(MX51, 2, HS2), | ||
58 | }; | ||
59 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
60 | |||
51 | struct platform_device *__init imx_add_mxc_ehci( | 61 | struct platform_device *__init imx_add_mxc_ehci( |
52 | const struct imx_mxc_ehci_data *data, | 62 | const struct imx_mxc_ehci_data *data, |
53 | const struct mxc_usbh_platform_data *pdata) | 63 | const struct mxc_usbh_platform_data *pdata) |
diff --git a/arch/arm/plat-mxc/devices/platform-mxc-mmc.c b/arch/arm/plat-mxc/devices/platform-mxc-mmc.c index 90d762f6f93b..540d3a7d92df 100644 --- a/arch/arm/plat-mxc/devices/platform-mxc-mmc.c +++ b/arch/arm/plat-mxc/devices/platform-mxc-mmc.c | |||
@@ -6,6 +6,7 @@ | |||
6 | * the terms of the GNU General Public License version 2 as published by the | 6 | * the terms of the GNU General Public License version 2 as published by the |
7 | * Free Software Foundation. | 7 | * Free Software Foundation. |
8 | */ | 8 | */ |
9 | #include <linux/dma-mapping.h> | ||
9 | #include <mach/hardware.h> | 10 | #include <mach/hardware.h> |
10 | #include <mach/devices-common.h> | 11 | #include <mach/devices-common.h> |
11 | 12 | ||
diff --git a/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c b/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c index 6b2940b93d94..5955f5da82ee 100644 --- a/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c +++ b/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c | |||
@@ -10,21 +10,22 @@ | |||
10 | #include <mach/devices-common.h> | 10 | #include <mach/devices-common.h> |
11 | #include <mach/esdhc.h> | 11 | #include <mach/esdhc.h> |
12 | 12 | ||
13 | #define imx_sdhci_esdhc_imx_data_entry_single(soc, _id, hwid) \ | 13 | #define imx_sdhci_esdhc_imx_data_entry_single(soc, _devid, _id, hwid) \ |
14 | { \ | 14 | { \ |
15 | .devid = _devid, \ | ||
15 | .id = _id, \ | 16 | .id = _id, \ |
16 | .iobase = soc ## _ESDHC ## hwid ## _BASE_ADDR, \ | 17 | .iobase = soc ## _ESDHC ## hwid ## _BASE_ADDR, \ |
17 | .irq = soc ## _INT_ESDHC ## hwid, \ | 18 | .irq = soc ## _INT_ESDHC ## hwid, \ |
18 | } | 19 | } |
19 | 20 | ||
20 | #define imx_sdhci_esdhc_imx_data_entry(soc, id, hwid) \ | 21 | #define imx_sdhci_esdhc_imx_data_entry(soc, devid, id, hwid) \ |
21 | [id] = imx_sdhci_esdhc_imx_data_entry_single(soc, id, hwid) | 22 | [id] = imx_sdhci_esdhc_imx_data_entry_single(soc, devid, id, hwid) |
22 | 23 | ||
23 | #ifdef CONFIG_SOC_IMX25 | 24 | #ifdef CONFIG_SOC_IMX25 |
24 | const struct imx_sdhci_esdhc_imx_data | 25 | const struct imx_sdhci_esdhc_imx_data |
25 | imx25_sdhci_esdhc_imx_data[] __initconst = { | 26 | imx25_sdhci_esdhc_imx_data[] __initconst = { |
26 | #define imx25_sdhci_esdhc_imx_data_entry(_id, _hwid) \ | 27 | #define imx25_sdhci_esdhc_imx_data_entry(_id, _hwid) \ |
27 | imx_sdhci_esdhc_imx_data_entry(MX25, _id, _hwid) | 28 | imx_sdhci_esdhc_imx_data_entry(MX25, "sdhci-esdhc-imx25", _id, _hwid) |
28 | imx25_sdhci_esdhc_imx_data_entry(0, 1), | 29 | imx25_sdhci_esdhc_imx_data_entry(0, 1), |
29 | imx25_sdhci_esdhc_imx_data_entry(1, 2), | 30 | imx25_sdhci_esdhc_imx_data_entry(1, 2), |
30 | }; | 31 | }; |
@@ -34,7 +35,7 @@ imx25_sdhci_esdhc_imx_data[] __initconst = { | |||
34 | const struct imx_sdhci_esdhc_imx_data | 35 | const struct imx_sdhci_esdhc_imx_data |
35 | imx35_sdhci_esdhc_imx_data[] __initconst = { | 36 | imx35_sdhci_esdhc_imx_data[] __initconst = { |
36 | #define imx35_sdhci_esdhc_imx_data_entry(_id, _hwid) \ | 37 | #define imx35_sdhci_esdhc_imx_data_entry(_id, _hwid) \ |
37 | imx_sdhci_esdhc_imx_data_entry(MX35, _id, _hwid) | 38 | imx_sdhci_esdhc_imx_data_entry(MX35, "sdhci-esdhc-imx35", _id, _hwid) |
38 | imx35_sdhci_esdhc_imx_data_entry(0, 1), | 39 | imx35_sdhci_esdhc_imx_data_entry(0, 1), |
39 | imx35_sdhci_esdhc_imx_data_entry(1, 2), | 40 | imx35_sdhci_esdhc_imx_data_entry(1, 2), |
40 | imx35_sdhci_esdhc_imx_data_entry(2, 3), | 41 | imx35_sdhci_esdhc_imx_data_entry(2, 3), |
@@ -45,7 +46,7 @@ imx35_sdhci_esdhc_imx_data[] __initconst = { | |||
45 | const struct imx_sdhci_esdhc_imx_data | 46 | const struct imx_sdhci_esdhc_imx_data |
46 | imx51_sdhci_esdhc_imx_data[] __initconst = { | 47 | imx51_sdhci_esdhc_imx_data[] __initconst = { |
47 | #define imx51_sdhci_esdhc_imx_data_entry(_id, _hwid) \ | 48 | #define imx51_sdhci_esdhc_imx_data_entry(_id, _hwid) \ |
48 | imx_sdhci_esdhc_imx_data_entry(MX51, _id, _hwid) | 49 | imx_sdhci_esdhc_imx_data_entry(MX51, "sdhci-esdhc-imx51", _id, _hwid) |
49 | imx51_sdhci_esdhc_imx_data_entry(0, 1), | 50 | imx51_sdhci_esdhc_imx_data_entry(0, 1), |
50 | imx51_sdhci_esdhc_imx_data_entry(1, 2), | 51 | imx51_sdhci_esdhc_imx_data_entry(1, 2), |
51 | imx51_sdhci_esdhc_imx_data_entry(2, 3), | 52 | imx51_sdhci_esdhc_imx_data_entry(2, 3), |
@@ -57,7 +58,7 @@ imx51_sdhci_esdhc_imx_data[] __initconst = { | |||
57 | const struct imx_sdhci_esdhc_imx_data | 58 | const struct imx_sdhci_esdhc_imx_data |
58 | imx53_sdhci_esdhc_imx_data[] __initconst = { | 59 | imx53_sdhci_esdhc_imx_data[] __initconst = { |
59 | #define imx53_sdhci_esdhc_imx_data_entry(_id, _hwid) \ | 60 | #define imx53_sdhci_esdhc_imx_data_entry(_id, _hwid) \ |
60 | imx_sdhci_esdhc_imx_data_entry(MX53, _id, _hwid) | 61 | imx_sdhci_esdhc_imx_data_entry(MX53, "sdhci-esdhc-imx53", _id, _hwid) |
61 | imx53_sdhci_esdhc_imx_data_entry(0, 1), | 62 | imx53_sdhci_esdhc_imx_data_entry(0, 1), |
62 | imx53_sdhci_esdhc_imx_data_entry(1, 2), | 63 | imx53_sdhci_esdhc_imx_data_entry(1, 2), |
63 | imx53_sdhci_esdhc_imx_data_entry(2, 3), | 64 | imx53_sdhci_esdhc_imx_data_entry(2, 3), |
@@ -65,6 +66,11 @@ imx53_sdhci_esdhc_imx_data[] __initconst = { | |||
65 | }; | 66 | }; |
66 | #endif /* ifdef CONFIG_SOC_IMX53 */ | 67 | #endif /* ifdef CONFIG_SOC_IMX53 */ |
67 | 68 | ||
69 | static const struct esdhc_platform_data default_esdhc_pdata __initconst = { | ||
70 | .wp_type = ESDHC_WP_NONE, | ||
71 | .cd_type = ESDHC_CD_NONE, | ||
72 | }; | ||
73 | |||
68 | struct platform_device *__init imx_add_sdhci_esdhc_imx( | 74 | struct platform_device *__init imx_add_sdhci_esdhc_imx( |
69 | const struct imx_sdhci_esdhc_imx_data *data, | 75 | const struct imx_sdhci_esdhc_imx_data *data, |
70 | const struct esdhc_platform_data *pdata) | 76 | const struct esdhc_platform_data *pdata) |
@@ -81,6 +87,13 @@ struct platform_device *__init imx_add_sdhci_esdhc_imx( | |||
81 | }, | 87 | }, |
82 | }; | 88 | }; |
83 | 89 | ||
84 | return imx_add_platform_device("sdhci-esdhc-imx", data->id, res, | 90 | /* |
91 | * If machine does not provide pdata, use the default one | ||
92 | * which means no WP/CD support | ||
93 | */ | ||
94 | if (!pdata) | ||
95 | pdata = &default_esdhc_pdata; | ||
96 | |||
97 | return imx_add_platform_device(data->devid, data->id, res, | ||
85 | ARRAY_SIZE(res), pdata, sizeof(*pdata)); | 98 | ARRAY_SIZE(res), pdata, sizeof(*pdata)); |
86 | } | 99 | } |
diff --git a/arch/arm/plat-mxc/devices/platform-spi_imx.c b/arch/arm/plat-mxc/devices/platform-spi_imx.c index f97eb3615b2c..9bfae8bd5b8d 100644 --- a/arch/arm/plat-mxc/devices/platform-spi_imx.c +++ b/arch/arm/plat-mxc/devices/platform-spi_imx.c | |||
@@ -40,9 +40,10 @@ const struct imx_spi_imx_data imx21_cspi_data[] __initconst = { | |||
40 | #endif | 40 | #endif |
41 | 41 | ||
42 | #ifdef CONFIG_SOC_IMX25 | 42 | #ifdef CONFIG_SOC_IMX25 |
43 | /* i.mx25 has the i.mx35 type cspi */ | ||
43 | const struct imx_spi_imx_data imx25_cspi_data[] __initconst = { | 44 | const struct imx_spi_imx_data imx25_cspi_data[] __initconst = { |
44 | #define imx25_cspi_data_entry(_id, _hwid) \ | 45 | #define imx25_cspi_data_entry(_id, _hwid) \ |
45 | imx_spi_imx_data_entry(MX25, CSPI, "imx25-cspi", _id, _hwid, SZ_16K) | 46 | imx_spi_imx_data_entry(MX25, CSPI, "imx35-cspi", _id, _hwid, SZ_16K) |
46 | imx25_cspi_data_entry(0, 1), | 47 | imx25_cspi_data_entry(0, 1), |
47 | imx25_cspi_data_entry(1, 2), | 48 | imx25_cspi_data_entry(1, 2), |
48 | imx25_cspi_data_entry(2, 3), | 49 | imx25_cspi_data_entry(2, 3), |
@@ -79,8 +80,9 @@ const struct imx_spi_imx_data imx35_cspi_data[] __initconst = { | |||
79 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 80 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
80 | 81 | ||
81 | #ifdef CONFIG_SOC_IMX51 | 82 | #ifdef CONFIG_SOC_IMX51 |
83 | /* i.mx51 has the i.mx35 type cspi */ | ||
82 | const struct imx_spi_imx_data imx51_cspi_data __initconst = | 84 | const struct imx_spi_imx_data imx51_cspi_data __initconst = |
83 | imx_spi_imx_data_entry_single(MX51, CSPI, "imx51-cspi", 2, , SZ_4K); | 85 | imx_spi_imx_data_entry_single(MX51, CSPI, "imx35-cspi", 2, , SZ_4K); |
84 | 86 | ||
85 | const struct imx_spi_imx_data imx51_ecspi_data[] __initconst = { | 87 | const struct imx_spi_imx_data imx51_ecspi_data[] __initconst = { |
86 | #define imx51_ecspi_data_entry(_id, _hwid) \ | 88 | #define imx51_ecspi_data_entry(_id, _hwid) \ |
@@ -91,12 +93,14 @@ const struct imx_spi_imx_data imx51_ecspi_data[] __initconst = { | |||
91 | #endif /* ifdef CONFIG_SOC_IMX51 */ | 93 | #endif /* ifdef CONFIG_SOC_IMX51 */ |
92 | 94 | ||
93 | #ifdef CONFIG_SOC_IMX53 | 95 | #ifdef CONFIG_SOC_IMX53 |
96 | /* i.mx53 has the i.mx35 type cspi */ | ||
94 | const struct imx_spi_imx_data imx53_cspi_data __initconst = | 97 | const struct imx_spi_imx_data imx53_cspi_data __initconst = |
95 | imx_spi_imx_data_entry_single(MX53, CSPI, "imx53-cspi", 0, , SZ_4K); | 98 | imx_spi_imx_data_entry_single(MX53, CSPI, "imx35-cspi", 0, , SZ_4K); |
96 | 99 | ||
100 | /* i.mx53 has the i.mx51 type ecspi */ | ||
97 | const struct imx_spi_imx_data imx53_ecspi_data[] __initconst = { | 101 | const struct imx_spi_imx_data imx53_ecspi_data[] __initconst = { |
98 | #define imx53_ecspi_data_entry(_id, _hwid) \ | 102 | #define imx53_ecspi_data_entry(_id, _hwid) \ |
99 | imx_spi_imx_data_entry(MX53, ECSPI, "imx53-ecspi", _id, _hwid, SZ_4K) | 103 | imx_spi_imx_data_entry(MX53, ECSPI, "imx51-ecspi", _id, _hwid, SZ_4K) |
100 | imx53_ecspi_data_entry(0, 1), | 104 | imx53_ecspi_data_entry(0, 1), |
101 | imx53_ecspi_data_entry(1, 2), | 105 | imx53_ecspi_data_entry(1, 2), |
102 | }; | 106 | }; |