dect
/
linux-2.6
Archived
13
0
Fork 0

arm/imx21: add kbuild support for the Freescale i.MX21

* adds Kconfig variables
* specifies different physical address for i.MX21 because of the
  different memory layouts
* disables support for UART5/UART6 in the i.MX serial driver
  (the i.MX21 doesn't have those modules)

Based on code from "Martin Fuzzey" <mfuzzey@gmail.com>

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Holger Schurig 2009-01-26 16:34:52 +01:00 committed by Sascha Hauer
parent ccfe30a7c8
commit 5512e88f3a
5 changed files with 31 additions and 3 deletions

View File

@ -1,12 +1,25 @@
comment "MX2 family CPU support" comment "MX2 family CPU support"
depends on ARCH_MX2 depends on ARCH_MX2
choice
prompt "MX2 Type"
depends on ARCH_MX2
default MACH_MX21
config MACH_MX21
bool "i.MX21 support"
depends on ARCH_MX2
help
This enables support for Freescale's MX2 based i.MX21 processor.
config MACH_MX27 config MACH_MX27
bool "i.MX27 support" bool "i.MX27 support"
depends on ARCH_MX2 depends on ARCH_MX2
help help
This enables support for Freescale's MX2 based i.MX27 processor. This enables support for Freescale's MX2 based i.MX27 processor.
endchoice
comment "MX2 Platforms" comment "MX2 Platforms"
depends on ARCH_MX2 depends on ARCH_MX2

View File

@ -1,3 +1,7 @@
zreladdr-y := 0xA0008000 zreladdr-$(CONFIG_MACH_MX21) := 0xC0008000
params_phys-y := 0xA0000100 params_phys-$(CONFIG_MACH_MX21) := 0xC0000100
initrd_phys-y := 0xA0800000 initrd_phys-$(CONFIG_MACH_MX21) := 0xC0800000
zreladdr-$(CONFIG_MACH_MX27) := 0xA0008000
params_phys-$(CONFIG_MACH_MX27) := 0xA0000100
initrd_phys-$(CONFIG_MACH_MX27) := 0xA0800000

View File

@ -99,6 +99,7 @@ struct platform_device mxc_uart_device3 = {
.num_resources = ARRAY_SIZE(uart3), .num_resources = ARRAY_SIZE(uart3),
}; };
#ifdef CONFIG_MACH_MX27
static struct resource uart4[] = { static struct resource uart4[] = {
{ {
.start = UART5_BASE_ADDR, .start = UART5_BASE_ADDR,
@ -136,3 +137,4 @@ struct platform_device mxc_uart_device5 = {
.resource = uart5, .resource = uart5,
.num_resources = ARRAY_SIZE(uart5), .num_resources = ARRAY_SIZE(uart5),
}; };
#endif

View File

@ -14,7 +14,12 @@
#if defined CONFIG_ARCH_MX1 #if defined CONFIG_ARCH_MX1
#define PHYS_OFFSET UL(0x08000000) #define PHYS_OFFSET UL(0x08000000)
#elif defined CONFIG_ARCH_MX2 #elif defined CONFIG_ARCH_MX2
#ifdef CONFIG_MACH_MX21
#define PHYS_OFFSET UL(0xC0000000)
#endif
#ifdef CONFIG_MACH_MX27
#define PHYS_OFFSET UL(0xA0000000) #define PHYS_OFFSET UL(0xA0000000)
#endif
#elif defined CONFIG_ARCH_MX3 #elif defined CONFIG_ARCH_MX3
#define PHYS_OFFSET UL(0x80000000) #define PHYS_OFFSET UL(0x80000000)
#endif #endif

View File

@ -29,6 +29,10 @@
# define cpu_is_mx31() (0) # define cpu_is_mx31() (0)
#endif #endif
#ifndef CONFIG_MACH_MX21
# define cpu_is_mx21() (0)
#endif
#ifndef CONFIG_MACH_MX27 #ifndef CONFIG_MACH_MX27
# define cpu_is_mx27() (0) # define cpu_is_mx27() (0)
#endif #endif