Commit d2db9aaa authored by Robert Schwebel's avatar Robert Schwebel Committed by Russell King

[ARM] 4887/1: i.MXC family: Separate current platform code

From: Juergen Beisert <j.beisert@pengutronix.de>

This patch separates the current code into i.MX2 and i.MX3 and modifies
the Kconfig files to reflect this separation in the menus.

Things happend since last review:
 - make i.MX3 compile again
 - fix some structure names to be conform with all the shared/common
   sources from i.MX1/i.MX2

Previous changes:
 - stay conform to other Kconfig files (note from Russell King)
Signed-off-by: default avatarJuergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 2c130fd5
...@@ -4,7 +4,7 @@ menu "Freescale MXC Implementations" ...@@ -4,7 +4,7 @@ menu "Freescale MXC Implementations"
choice choice
prompt "MXC/iMX System Type" prompt "MXC/iMX System Type"
default 0 default ARCH_MX3
config ARCH_MX3 config ARCH_MX3
bool "MX3-based" bool "MX3-based"
......
...@@ -13,34 +13,19 @@ ...@@ -13,34 +13,19 @@
#include <asm/sizes.h> #include <asm/sizes.h>
#include <asm/arch/mx31.h> #ifdef CONFIG_ARCH_MX3
# include <asm/arch/mx31.h>
#endif
#include <asm/arch/mxc.h> #include <asm/arch/mxc.h>
#define MXC_MAX_GPIO_LINES (GPIO_NUM_PIN * GPIO_PORT_NUM)
/* /*
* --------------------------------------------------------------------------- * ---------------------------------------------------------------------------
* Board specific defines * Board specific defines
* --------------------------------------------------------------------------- * ---------------------------------------------------------------------------
*/ */
#define MXC_EXP_IO_BASE (MXC_GPIO_INT_BASE + MXC_MAX_GPIO_LINES) #ifdef CONFIG_MACH_MX31ADS
# include <asm/arch/board-mx31ads.h>
#include <asm/arch/board-mx31ads.h>
#ifndef MXC_MAX_EXP_IO_LINES
#define MXC_MAX_EXP_IO_LINES 0
#endif #endif
#define MXC_MAX_VIRTUAL_INTS 16
#define MXC_VIRTUAL_INTS_BASE (MXC_EXP_IO_BASE + MXC_MAX_EXP_IO_LINES)
#define MXC_SDIO1_CARD_IRQ MXC_VIRTUAL_INTS_BASE
#define MXC_SDIO2_CARD_IRQ (MXC_VIRTUAL_INTS_BASE + 1)
#define MXC_SDIO3_CARD_IRQ (MXC_VIRTUAL_INTS_BASE + 2)
#define MXC_MAX_INTS (MXC_MAX_INT_LINES + \
MXC_MAX_GPIO_LINES + \
MXC_MAX_EXP_IO_LINES + \
MXC_MAX_VIRTUAL_INTS)
#endif /* __ASM_ARCH_MXC_HARDWARE_H__ */ #endif /* __ASM_ARCH_MXC_HARDWARE_H__ */
...@@ -19,7 +19,9 @@ ...@@ -19,7 +19,9 @@
#define MXC_GPIO_TO_IRQ(x) (MXC_GPIO_INT_BASE + x) #define MXC_GPIO_TO_IRQ(x) (MXC_GPIO_INT_BASE + x)
/* Number of normal interrupts */ /* Number of normal interrupts */
#define NR_IRQS MXC_MAX_INTS #define NR_IRQS (MXC_MAX_INT_LINES + \
MXC_MAX_GPIO_LINES + \
MXC_MAX_VIRTUAL_INTS)
/* Number of fast interrupts */ /* Number of fast interrupts */
#define NR_FIQS MXC_MAX_INTS #define NR_FIQS MXC_MAX_INTS
......
...@@ -317,6 +317,8 @@ ...@@ -317,6 +317,8 @@
#define MXC_MAX_INT_LINES 64 #define MXC_MAX_INT_LINES 64
#define MXC_GPIO_INT_BASE MXC_MAX_INT_LINES #define MXC_GPIO_INT_BASE MXC_MAX_INT_LINES
#define MXC_MAX_GPIO_LINES (GPIO_NUM_PIN * GPIO_PORT_NUM)
#define MXC_MAX_VIRTUAL_INTS 16
/*! /*!
* Number of GPIO port as defined in the IC Spec * Number of GPIO port as defined in the IC Spec
...@@ -329,7 +331,33 @@ ...@@ -329,7 +331,33 @@
#define PROD_SIGNATURE 0x1 /* For MX31 */ #define PROD_SIGNATURE 0x1 /* For MX31 */
/* silicon revisions specific to i.MX31 */
#define CHIP_REV_1_0 0x10
#define CHIP_REV_1_1 0x11
#define CHIP_REV_1_2 0x12
#define CHIP_REV_1_3 0x13
#define CHIP_REV_2_0 0x20
#define CHIP_REV_2_1 0x21
#define CHIP_REV_2_2 0x22
#define CHIP_REV_2_3 0x23
#define CHIP_REV_3_0 0x30
#define CHIP_REV_3_1 0x31
#define CHIP_REV_3_2 0x32
#define SYSTEM_REV_MIN CHIP_REV_1_0 #define SYSTEM_REV_MIN CHIP_REV_1_0
#define SYSTEM_REV_NUM 3 #define SYSTEM_REV_NUM 3
#endif /* __ASM_ARCH_MXC_MX31_H__ */ #if !defined(__ASSEMBLY__) && !defined(__MXC_BOOT_UNCOMPRESS)
/* this is a i.MX31 CPU */
#define cpu_is_mx31() (1)
extern unsigned int system_rev;
static inline int mx31_revision(void)
{
return system_rev;
}
#endif
#endif /* __ASM_ARCH_MXC_MX31_H__ */
...@@ -15,6 +15,11 @@ ...@@ -15,6 +15,11 @@
#error "Do not include directly." #error "Do not include directly."
#endif #endif
/* clean up all things that are not used */
#ifndef CONFIG_ARCH_MX3
# define cpu_is_mx31() (0)
#endif
/* /*
***************************************** *****************************************
* GPT Register definitions * * GPT Register definitions *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment