diff options
-rw-r--r-- | arch/arm/Kconfig | 13 | ||||
-rw-r--r-- | arch/arm/configs/imx_v4_v5_defconfig | 5 | ||||
-rw-r--r-- | arch/arm/configs/imx_v6_v7_defconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 59 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/timex.h | 22 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/uncompress.h | 132 |
6 files changed, 33 insertions, 201 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index bffd47a3855..cce4f8d08de 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -433,19 +433,6 @@ config ARCH_FOOTBRIDGE | |||
433 | Support for systems based on the DC21285 companion chip | 433 | Support for systems based on the DC21285 companion chip |
434 | ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. | 434 | ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. |
435 | 435 | ||
436 | config ARCH_MXC | ||
437 | bool "Freescale MXC/iMX-based" | ||
438 | select ARCH_REQUIRE_GPIOLIB | ||
439 | select CLKDEV_LOOKUP | ||
440 | select CLKSRC_MMIO | ||
441 | select GENERIC_CLOCKEVENTS | ||
442 | select GENERIC_IRQ_CHIP | ||
443 | select MULTI_IRQ_HANDLER | ||
444 | select SPARSE_IRQ | ||
445 | select USE_OF | ||
446 | help | ||
447 | Support for Freescale MXC/iMX-based family of processors | ||
448 | |||
449 | config ARCH_MXS | 436 | config ARCH_MXS |
450 | bool "Freescale MXS-based" | 437 | bool "Freescale MXS-based" |
451 | select ARCH_REQUIRE_GPIOLIB | 438 | select ARCH_REQUIRE_GPIOLIB |
diff --git a/arch/arm/configs/imx_v4_v5_defconfig b/arch/arm/configs/imx_v4_v5_defconfig index 78ed575feb1..bd012441b74 100644 --- a/arch/arm/configs/imx_v4_v5_defconfig +++ b/arch/arm/configs/imx_v4_v5_defconfig | |||
@@ -17,8 +17,9 @@ CONFIG_MODULE_UNLOAD=y | |||
17 | # CONFIG_BLK_DEV_BSG is not set | 17 | # CONFIG_BLK_DEV_BSG is not set |
18 | # CONFIG_IOSCHED_DEADLINE is not set | 18 | # CONFIG_IOSCHED_DEADLINE is not set |
19 | # CONFIG_IOSCHED_CFQ is not set | 19 | # CONFIG_IOSCHED_CFQ is not set |
20 | CONFIG_ARCH_MXC=y | 20 | CONFIG_ARCH_MULTI_V4T=y |
21 | CONFIG_ARCH_IMX_V4_V5=y | 21 | CONFIG_ARCH_MULTI_V5=y |
22 | # CONFIG_ARCH_MULTI_V7 is not set | ||
22 | CONFIG_ARCH_MX1ADS=y | 23 | CONFIG_ARCH_MX1ADS=y |
23 | CONFIG_MACH_SCB9328=y | 24 | CONFIG_MACH_SCB9328=y |
24 | CONFIG_MACH_APF9328=y | 25 | CONFIG_MACH_APF9328=y |
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig index 66aa7a6db88..a4965f37257 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig | |||
@@ -16,7 +16,8 @@ CONFIG_MODULE_UNLOAD=y | |||
16 | CONFIG_MODVERSIONS=y | 16 | CONFIG_MODVERSIONS=y |
17 | CONFIG_MODULE_SRCVERSION_ALL=y | 17 | CONFIG_MODULE_SRCVERSION_ALL=y |
18 | # CONFIG_BLK_DEV_BSG is not set | 18 | # CONFIG_BLK_DEV_BSG is not set |
19 | CONFIG_ARCH_MXC=y | 19 | CONFIG_ARCH_MULTI_V6=y |
20 | CONFIG_ARCH_MULTI_V7=y | ||
20 | CONFIG_MACH_MX31LILLY=y | 21 | CONFIG_MACH_MX31LILLY=y |
21 | CONFIG_MACH_MX31LITE=y | 22 | CONFIG_MACH_MX31LITE=y |
22 | CONFIG_MACH_PCM037=y | 23 | CONFIG_MACH_PCM037=y |
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 05ded3748d7..892631f1e4c 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -1,4 +1,20 @@ | |||
1 | if ARCH_MXC | 1 | config ARCH_MXC |
2 | def_bool y if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 | ||
3 | select ARCH_REQUIRE_GPIOLIB | ||
4 | select ARM_PATCH_PHYS_VIRT | ||
5 | select AUTO_ZRELADDR if !ZBOOT_ROM | ||
6 | select CLKDEV_LOOKUP | ||
7 | select CLKSRC_MMIO | ||
8 | select GENERIC_CLOCKEVENTS | ||
9 | select GENERIC_IRQ_CHIP | ||
10 | select MULTI_IRQ_HANDLER | ||
11 | select SPARSE_IRQ | ||
12 | select USE_OF | ||
13 | help | ||
14 | Support for Freescale MXC/iMX-based family of processors | ||
15 | |||
16 | menu "Freescale i.MX support" | ||
17 | depends on ARCH_MXC | ||
2 | 18 | ||
3 | config MXC_IRQ_PRIOR | 19 | config MXC_IRQ_PRIOR |
4 | bool "Use IRQ priority" | 20 | bool "Use IRQ priority" |
@@ -161,21 +177,7 @@ config SOC_IMX51 | |||
161 | select PINCTRL_IMX51 | 177 | select PINCTRL_IMX51 |
162 | select SOC_IMX5 | 178 | select SOC_IMX5 |
163 | 179 | ||
164 | menu "Freescale MXC Implementations" | 180 | if ARCH_MULTI_V4T |
165 | |||
166 | choice | ||
167 | prompt "Freescale CPU family:" | ||
168 | default ARCH_IMX_V6_V7 | ||
169 | |||
170 | config ARCH_IMX_V4_V5 | ||
171 | bool "i.MX1, i.MX21, i.MX25, i.MX27" | ||
172 | select ARM_PATCH_PHYS_VIRT | ||
173 | select AUTO_ZRELADDR if !ZBOOT_ROM | ||
174 | help | ||
175 | This enables support for systems based on the Freescale i.MX ARMv4 | ||
176 | and ARMv5 SoCs | ||
177 | |||
178 | if ARCH_IMX_V4_V5 | ||
179 | 181 | ||
180 | comment "MX1 platforms:" | 182 | comment "MX1 platforms:" |
181 | config MACH_MXLADS | 183 | config MACH_MXLADS |
@@ -204,6 +206,10 @@ config MACH_APF9328 | |||
204 | help | 206 | help |
205 | Say Yes here if you are using the Armadeus APF9328 development board | 207 | Say Yes here if you are using the Armadeus APF9328 development board |
206 | 208 | ||
209 | endif | ||
210 | |||
211 | if ARCH_MULTI_V5 | ||
212 | |||
207 | comment "MX21 platforms:" | 213 | comment "MX21 platforms:" |
208 | 214 | ||
209 | config MACH_MX21ADS | 215 | config MACH_MX21ADS |
@@ -455,16 +461,7 @@ config MACH_IMX27_DT | |||
455 | 461 | ||
456 | endif | 462 | endif |
457 | 463 | ||
458 | config ARCH_IMX_V6_V7 | 464 | if ARCH_MULTI_V6 |
459 | bool "i.MX3, i.MX5, i.MX6" | ||
460 | select ARM_PATCH_PHYS_VIRT | ||
461 | select AUTO_ZRELADDR if !ZBOOT_ROM | ||
462 | select MIGHT_HAVE_CACHE_L2X0 | ||
463 | help | ||
464 | This enables support for systems based on the Freescale i.MX3, i.MX5 | ||
465 | and i.MX6 family. | ||
466 | |||
467 | if ARCH_IMX_V6_V7 | ||
468 | 465 | ||
469 | comment "MX31 platforms:" | 466 | comment "MX31 platforms:" |
470 | 467 | ||
@@ -729,6 +726,10 @@ config MACH_VPR200 | |||
729 | Include support for VPR200 platform. This includes specific | 726 | Include support for VPR200 platform. This includes specific |
730 | configurations for the board and its peripherals. | 727 | configurations for the board and its peripherals. |
731 | 728 | ||
729 | endif | ||
730 | |||
731 | if ARCH_MULTI_V7 | ||
732 | |||
732 | comment "i.MX5 platforms:" | 733 | comment "i.MX5 platforms:" |
733 | 734 | ||
734 | config MACH_MX50_RDP | 735 | config MACH_MX50_RDP |
@@ -847,10 +848,6 @@ config SOC_IMX6Q | |||
847 | 848 | ||
848 | endif | 849 | endif |
849 | 850 | ||
850 | endchoice | ||
851 | |||
852 | endmenu | ||
853 | |||
854 | source "arch/arm/mach-imx/devices/Kconfig" | 851 | source "arch/arm/mach-imx/devices/Kconfig" |
855 | 852 | ||
856 | endif | 853 | endmenu |
diff --git a/arch/arm/mach-imx/include/mach/timex.h b/arch/arm/mach-imx/include/mach/timex.h deleted file mode 100644 index 10343d1f87e..00000000000 --- a/arch/arm/mach-imx/include/mach/timex.h +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 1999 ARM Limited | ||
3 | * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_ARCH_MXC_TIMEX_H__ | ||
17 | #define __ASM_ARCH_MXC_TIMEX_H__ | ||
18 | |||
19 | /* Bogus value */ | ||
20 | #define CLOCK_TICK_RATE 12345678 | ||
21 | |||
22 | #endif /* __ASM_ARCH_MXC_TIMEX_H__ */ | ||
diff --git a/arch/arm/mach-imx/include/mach/uncompress.h b/arch/arm/mach-imx/include/mach/uncompress.h deleted file mode 100644 index 477971b0093..00000000000 --- a/arch/arm/mach-imx/include/mach/uncompress.h +++ /dev/null | |||
@@ -1,132 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-mxc/include/mach/uncompress.h | ||
3 | * | ||
4 | * Copyright (C) 1999 ARM Limited | ||
5 | * Copyright (C) Shane Nay (shane@minirl.com) | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | */ | ||
17 | #ifndef __ASM_ARCH_MXC_UNCOMPRESS_H__ | ||
18 | #define __ASM_ARCH_MXC_UNCOMPRESS_H__ | ||
19 | |||
20 | #define __MXC_BOOT_UNCOMPRESS | ||
21 | |||
22 | #include <asm/mach-types.h> | ||
23 | |||
24 | unsigned long uart_base; | ||
25 | |||
26 | #define UART(x) (*(volatile unsigned long *)(uart_base + (x))) | ||
27 | |||
28 | #define USR2 0x98 | ||
29 | #define USR2_TXFE (1<<14) | ||
30 | #define TXR 0x40 | ||
31 | #define UCR1 0x80 | ||
32 | #define UCR1_UARTEN 1 | ||
33 | |||
34 | /* | ||
35 | * The following code assumes the serial port has already been | ||
36 | * initialized by the bootloader. We search for the first enabled | ||
37 | * port in the most probable order. If you didn't setup a port in | ||
38 | * your bootloader then nothing will appear (which might be desired). | ||
39 | * | ||
40 | * This does not append a newline | ||
41 | */ | ||
42 | |||
43 | static void putc(int ch) | ||
44 | { | ||
45 | if (!uart_base) | ||
46 | return; | ||
47 | if (!(UART(UCR1) & UCR1_UARTEN)) | ||
48 | return; | ||
49 | |||
50 | while (!(UART(USR2) & USR2_TXFE)) | ||
51 | barrier(); | ||
52 | |||
53 | UART(TXR) = ch; | ||
54 | } | ||
55 | |||
56 | static inline void flush(void) | ||
57 | { | ||
58 | } | ||
59 | |||
60 | #define MX1_UART1_BASE_ADDR 0x00206000 | ||
61 | #define MX25_UART1_BASE_ADDR 0x43f90000 | ||
62 | #define MX2X_UART1_BASE_ADDR 0x1000a000 | ||
63 | #define MX3X_UART1_BASE_ADDR 0x43F90000 | ||
64 | #define MX3X_UART2_BASE_ADDR 0x43F94000 | ||
65 | #define MX3X_UART5_BASE_ADDR 0x43FB4000 | ||
66 | #define MX51_UART1_BASE_ADDR 0x73fbc000 | ||
67 | #define MX50_UART1_BASE_ADDR 0x53fbc000 | ||
68 | #define MX53_UART1_BASE_ADDR 0x53fbc000 | ||
69 | |||
70 | static __inline__ void __arch_decomp_setup(unsigned long arch_id) | ||
71 | { | ||
72 | switch (arch_id) { | ||
73 | case MACH_TYPE_MX1ADS: | ||
74 | case MACH_TYPE_SCB9328: | ||
75 | uart_base = MX1_UART1_BASE_ADDR; | ||
76 | break; | ||
77 | case MACH_TYPE_MX25_3DS: | ||
78 | uart_base = MX25_UART1_BASE_ADDR; | ||
79 | break; | ||
80 | case MACH_TYPE_IMX27LITE: | ||
81 | case MACH_TYPE_MX27_3DS: | ||
82 | case MACH_TYPE_MX27ADS: | ||
83 | case MACH_TYPE_PCM038: | ||
84 | case MACH_TYPE_MX21ADS: | ||
85 | case MACH_TYPE_PCA100: | ||
86 | case MACH_TYPE_MXT_TD60: | ||
87 | case MACH_TYPE_IMX27IPCAM: | ||
88 | uart_base = MX2X_UART1_BASE_ADDR; | ||
89 | break; | ||
90 | case MACH_TYPE_MX31LITE: | ||
91 | case MACH_TYPE_ARMADILLO5X0: | ||
92 | case MACH_TYPE_MX31MOBOARD: | ||
93 | case MACH_TYPE_QONG: | ||
94 | case MACH_TYPE_MX31_3DS: | ||
95 | case MACH_TYPE_PCM037: | ||
96 | case MACH_TYPE_MX31ADS: | ||
97 | case MACH_TYPE_MX35_3DS: | ||
98 | case MACH_TYPE_PCM043: | ||
99 | case MACH_TYPE_LILLY1131: | ||
100 | case MACH_TYPE_VPR200: | ||
101 | case MACH_TYPE_EUKREA_CPUIMX35SD: | ||
102 | uart_base = MX3X_UART1_BASE_ADDR; | ||
103 | break; | ||
104 | case MACH_TYPE_MAGX_ZN5: | ||
105 | uart_base = MX3X_UART2_BASE_ADDR; | ||
106 | break; | ||
107 | case MACH_TYPE_BUG: | ||
108 | uart_base = MX3X_UART5_BASE_ADDR; | ||
109 | break; | ||
110 | case MACH_TYPE_MX51_BABBAGE: | ||
111 | case MACH_TYPE_EUKREA_CPUIMX51SD: | ||
112 | case MACH_TYPE_MX51_3DS: | ||
113 | uart_base = MX51_UART1_BASE_ADDR; | ||
114 | break; | ||
115 | case MACH_TYPE_MX50_RDP: | ||
116 | uart_base = MX50_UART1_BASE_ADDR; | ||
117 | break; | ||
118 | case MACH_TYPE_MX53_EVK: | ||
119 | case MACH_TYPE_MX53_LOCO: | ||
120 | case MACH_TYPE_MX53_SMD: | ||
121 | case MACH_TYPE_MX53_ARD: | ||
122 | uart_base = MX53_UART1_BASE_ADDR; | ||
123 | break; | ||
124 | default: | ||
125 | break; | ||
126 | } | ||
127 | } | ||
128 | |||
129 | #define arch_decomp_setup() __arch_decomp_setup(arch_id) | ||
130 | #define arch_decomp_wdog() | ||
131 | |||
132 | #endif /* __ASM_ARCH_MXC_UNCOMPRESS_H__ */ | ||