diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2013-04-09 15:57:59 +0200 | 
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2013-04-09 16:02:41 +0200 | 
| commit | d93bea007ab3d77b796eb99fb4ff4eeb013e0dfa (patch) | |
| tree | fa4f48cd3b0efc23f2378caa1c8eb28d0ba0a4db | |
| parent | 71f6424023cb9fa381efc7237ca05926b2b1ca9a (diff) | |
| parent | d696e3f6585ddeb7bddbf0783b649fa669459a5c (diff) | |
| download | olio-linux-3.10-d93bea007ab3d77b796eb99fb4ff4eeb013e0dfa.tar.xz olio-linux-3.10-d93bea007ab3d77b796eb99fb4ff4eeb013e0dfa.zip  | |
Merge tag 'mxs-multiplatform-3.10' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/multiplatform
From Shawn Guo <shawn.guo@linaro.org>:
The mxs multiplatform support for 3.10:
* It enables the multiplatform build for mach-mxs platform.
* tag 'mxs-multiplatform-3.10' of git://git.linaro.org/people/shawnguo/linux-2.6:
  ARM: mxs: enable multiplatform build
  ARM: mxs: rename debug-macro.S for multiplatform build
  ARM: mxs: call mxs_pm_init() as a machine_desc hook
Conflicts:
	arch/arm/Kconfig.debug
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| -rw-r--r-- | arch/arm/Kconfig | 17 | ||||
| -rw-r--r-- | arch/arm/Kconfig.debug | 1 | ||||
| -rw-r--r-- | arch/arm/configs/mxs_defconfig | 2 | ||||
| -rw-r--r-- | arch/arm/include/debug/mxs.S (renamed from arch/arm/mach-mxs/include/mach/debug-macro.S) | 0 | ||||
| -rw-r--r-- | arch/arm/mach-mxs/Kconfig | 22 | ||||
| -rw-r--r-- | arch/arm/mach-mxs/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/mach-mxs/Makefile.boot | 1 | ||||
| -rw-r--r-- | arch/arm/mach-mxs/include/mach/timex.h | 21 | ||||
| -rw-r--r-- | arch/arm/mach-mxs/include/mach/uncompress.h | 76 | ||||
| -rw-r--r-- | arch/arm/mach-mxs/mach-mxs.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-mxs/pm.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-mxs/pm.h | 14 | 
12 files changed, 33 insertions, 130 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 74d8d4f6610..65aa5ef1773 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -422,23 +422,6 @@ config ARCH_FOOTBRIDGE  	  Support for systems based on the DC21285 companion chip  	  ("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  	bool "Hilscher NetX based"  	select ARM_VIC diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index edb496b656b..e00bd4d4ab6 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -618,6 +618,7 @@ config DEBUG_LL_INCLUDE  				 DEBUG_IMX6Q_UART  	default "debug/highbank.S" if DEBUG_HIGHBANK_UART  	default "debug/mvebu.S" if DEBUG_MVEBU_UART +	default "debug/mxs.S" if DEBUG_IMX23_UART || DEBUG_IMX28_UART  	default "debug/nomadik.S" if DEBUG_NOMADIK_UART  	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART  	default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART diff --git a/arch/arm/configs/mxs_defconfig b/arch/arm/configs/mxs_defconfig index 6a99e30f81d..023c4e14863 100644 --- a/arch/arm/configs/mxs_defconfig +++ b/arch/arm/configs/mxs_defconfig @@ -22,8 +22,8 @@ CONFIG_MODVERSIONS=y  CONFIG_BLK_DEV_INTEGRITY=y  # CONFIG_IOSCHED_DEADLINE is not set  # CONFIG_IOSCHED_CFQ is not set +# CONFIG_ARCH_MULTI_V7 is not set  CONFIG_ARCH_MXS=y -CONFIG_MACH_MXS_DT=y  # CONFIG_ARM_THUMB is not set  CONFIG_PREEMPT_VOLUNTARY=y  CONFIG_AEABI=y diff --git a/arch/arm/mach-mxs/include/mach/debug-macro.S b/arch/arm/include/debug/mxs.S index d86951551ca..d86951551ca 100644 --- a/arch/arm/mach-mxs/include/mach/debug-macro.S +++ b/arch/arm/include/debug/mxs.S diff --git a/arch/arm/mach-mxs/Kconfig b/arch/arm/mach-mxs/Kconfig index ecc431909d6..02e693537f3 100644 --- a/arch/arm/mach-mxs/Kconfig +++ b/arch/arm/mach-mxs/Kconfig @@ -1,5 +1,3 @@ -if ARCH_MXS -  config SOC_IMX23  	bool  	select ARM_AMBA @@ -15,14 +13,18 @@ config SOC_IMX28  	select HAVE_PWM  	select PINCTRL_IMX28 -comment "MXS platforms:" - -config MACH_MXS_DT -	bool "Support MXS platforms from device tree" +config ARCH_MXS +	bool "Freescale MXS (i.MX23, i.MX28) support" +	depends on ARCH_MULTI_V5 +	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_IMX28 +	select STMP_DEVICE  	help -	  Include support for Freescale MXS platforms(i.MX23 and i.MX28) -	  using the device tree for discovery - -endif +	  Support for Freescale MXS-based family of processors diff --git a/arch/arm/mach-mxs/Makefile b/arch/arm/mach-mxs/Makefile index 80db7269760..cc2bf6748ad 100644 --- a/arch/arm/mach-mxs/Makefile +++ b/arch/arm/mach-mxs/Makefile @@ -1,2 +1,2 @@  obj-$(CONFIG_PM) += pm.o -obj-$(CONFIG_MACH_MXS_DT) += mach-mxs.o +obj-$(CONFIG_ARCH_MXS) += mach-mxs.o diff --git a/arch/arm/mach-mxs/Makefile.boot b/arch/arm/mach-mxs/Makefile.boot deleted file mode 100644 index 07b11fe6453..00000000000 --- a/arch/arm/mach-mxs/Makefile.boot +++ /dev/null @@ -1 +0,0 @@ -zreladdr-y += 0x40008000 diff --git a/arch/arm/mach-mxs/include/mach/timex.h b/arch/arm/mach-mxs/include/mach/timex.h deleted file mode 100644 index 734ce8984a6..00000000000 --- a/arch/arm/mach-mxs/include/mach/timex.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - *  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__ */ diff --git a/arch/arm/mach-mxs/include/mach/uncompress.h b/arch/arm/mach-mxs/include/mach/uncompress.h deleted file mode 100644 index 533f5186e20..00000000000 --- a/arch/arm/mach-mxs/include/mach/uncompress.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - *  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__ */ diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c index 16870bf853b..b5c1bdd3dcd 100644 --- a/arch/arm/mach-mxs/mach-mxs.c +++ b/arch/arm/mach-mxs/mach-mxs.c @@ -32,6 +32,8 @@  #include <asm/mach/time.h>  #include <asm/system_misc.h> +#include "pm.h" +  /* MXS DIGCTL SAIF CLKMUX */  #define MXS_DIGCTL_SAIF_CLKMUX_DIRECT		0x0  #define MXS_DIGCTL_SAIF_CLKMUX_CROSSINPUT	0x1 @@ -607,6 +609,7 @@ DT_MACHINE_START(MXS, "Freescale MXS (Device Tree)")  	.handle_irq	= icoll_handle_irq,  	.init_time	= mxs_timer_init,  	.init_machine	= mxs_machine_init, +	.init_late      = mxs_pm_init,  	.dt_compat	= mxs_dt_compat,  	.restart	= mxs_restart,  MACHINE_END diff --git a/arch/arm/mach-mxs/pm.c b/arch/arm/mach-mxs/pm.c index a9b4bbcdafb..b2494d2db2c 100644 --- a/arch/arm/mach-mxs/pm.c +++ b/arch/arm/mach-mxs/pm.c @@ -34,9 +34,7 @@ static struct platform_suspend_ops mxs_suspend_ops = {  	.valid = suspend_valid_only_mem,  }; -static int __init mxs_pm_init(void) +void __init mxs_pm_init(void)  {  	suspend_set_ops(&mxs_suspend_ops); -	return 0;  } -device_initcall(mxs_pm_init); diff --git a/arch/arm/mach-mxs/pm.h b/arch/arm/mach-mxs/pm.h new file mode 100644 index 00000000000..f57e7cdece2 --- /dev/null +++ b/arch/arm/mach-mxs/pm.h @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2013 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __ARCH_MXS_PM_H +#define __ARCH_MXS_PM_H + +void mxs_pm_init(void); + +#endif  |