Commit d696e3f6 authored by Shawn Guo's avatar Shawn Guo

ARM: mxs: enable multiplatform build

Remove files that are not needed by multiplatform build, and make
necessary changes on Kconfig to enable multiplatform build.
Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
parent e91411b4
...@@ -468,23 +468,6 @@ config ARCH_FOOTBRIDGE ...@@ -468,23 +468,6 @@ config ARCH_FOOTBRIDGE
Support for systems based on the DC21285 companion chip Support for systems based on the DC21285 companion chip
("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
config ARCH_MXS
bool "Freescale MXS-based"
select ARCH_REQUIRE_GPIOLIB
select CLKDEV_LOOKUP
select CLKSRC_MMIO
select CLKSRC_OF
select COMMON_CLK
select GENERIC_CLOCKEVENTS
select HAVE_CLK_PREPARE
select MULTI_IRQ_HANDLER
select PINCTRL
select SPARSE_IRQ
select STMP_DEVICE
select USE_OF
help
Support for Freescale MXS-based family of processors
config ARCH_NETX config ARCH_NETX
bool "Hilscher NetX based" bool "Hilscher NetX based"
select ARM_VIC select ARM_VIC
......
...@@ -22,8 +22,8 @@ CONFIG_MODVERSIONS=y ...@@ -22,8 +22,8 @@ CONFIG_MODVERSIONS=y
CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_INTEGRITY=y
# CONFIG_IOSCHED_DEADLINE is not set # CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set # CONFIG_IOSCHED_CFQ is not set
# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_MXS=y CONFIG_ARCH_MXS=y
CONFIG_MACH_MXS_DT=y
# CONFIG_ARM_THUMB is not set # CONFIG_ARM_THUMB is not set
CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_AEABI=y CONFIG_AEABI=y
......
if ARCH_MXS
config SOC_IMX23 config SOC_IMX23
bool bool
select ARM_AMBA select ARM_AMBA
...@@ -15,14 +13,18 @@ config SOC_IMX28 ...@@ -15,14 +13,18 @@ config SOC_IMX28
select HAVE_PWM select HAVE_PWM
select PINCTRL_IMX28 select PINCTRL_IMX28
comment "MXS platforms:" config ARCH_MXS
bool "Freescale MXS (i.MX23, i.MX28) support"
config MACH_MXS_DT depends on ARCH_MULTI_V5
bool "Support MXS platforms from device tree" select ARCH_REQUIRE_GPIOLIB
select CLKDEV_LOOKUP
select CLKSRC_MMIO
select CLKSRC_OF
select GENERIC_CLOCKEVENTS
select HAVE_CLK_PREPARE
select PINCTRL
select SOC_IMX23 select SOC_IMX23
select SOC_IMX28 select SOC_IMX28
select STMP_DEVICE
help help
Include support for Freescale MXS platforms(i.MX23 and i.MX28) Support for Freescale MXS-based family of processors
using the device tree for discovery
endif
obj-$(CONFIG_PM) += pm.o obj-$(CONFIG_PM) += pm.o
obj-$(CONFIG_MACH_MXS_DT) += mach-mxs.o obj-$(CONFIG_ARCH_MXS) += mach-mxs.o
/*
* Copyright (C) 1999 ARM Limited
* Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __MACH_MXS_TIMEX_H__
#define __MACH_MXS_TIMEX_H__
#define CLOCK_TICK_RATE 32000 /* 32K */
#endif /* __MACH_MXS_TIMEX_H__ */
/*
* arch/arm/mach-mxs/include/mach/uncompress.h
*
* Copyright (C) 1999 ARM Limited
* Copyright (C) Shane Nay (shane@minirl.com)
* Copyright 2010 Freescale Semiconductor, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __MACH_MXS_UNCOMPRESS_H__
#define __MACH_MXS_UNCOMPRESS_H__
unsigned long mxs_duart_base;
#define MXS_DUART(x) (*(volatile unsigned long *)(mxs_duart_base + (x)))
#define MXS_DUART_DR 0x00
#define MXS_DUART_FR 0x18
#define MXS_DUART_FR_TXFE (1 << 7)
#define MXS_DUART_CR 0x30
#define MXS_DUART_CR_UARTEN (1 << 0)
/*
* The following code assumes the serial port has already been
* initialized by the bootloader. If it's not, the output is
* simply discarded.
*/
static void putc(int ch)
{
if (!mxs_duart_base)
return;
if (!(MXS_DUART(MXS_DUART_CR) & MXS_DUART_CR_UARTEN))
return;
while (!(MXS_DUART(MXS_DUART_FR) & MXS_DUART_FR_TXFE))
barrier();
MXS_DUART(MXS_DUART_DR) = ch;
}
static inline void flush(void)
{
}
#define MX23_DUART_BASE_ADDR 0x80070000
#define MX28_DUART_BASE_ADDR 0x80074000
#define MXS_DIGCTL_CHIPID 0x8001c310
static inline void __arch_decomp_setup(unsigned long arch_id)
{
u16 chipid = (*(volatile unsigned long *) MXS_DIGCTL_CHIPID) >> 16;
switch (chipid) {
case 0x3780:
mxs_duart_base = MX23_DUART_BASE_ADDR;
break;
case 0x2800:
mxs_duart_base = MX28_DUART_BASE_ADDR;
break;
default:
break;
}
}
#define arch_decomp_setup() __arch_decomp_setup(arch_id)
#endif /* __MACH_MXS_UNCOMPRESS_H__ */
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