forked from Minki/linux
3883cbb6c1
These changes are all to SoC-specific code, a total of 33 branches on 17 platforms were pulled into this. Like last time, Renesas sh-mobile is now the platform with the most changes, followed by OMAP and EXYNOS. Two new platforms, TI Keystone and Rockchips RK3xxx are added in this branch, both containing almost no platform specific code at all, since they are using generic subsystem interfaces for clocks, pinctrl, interrupts etc. The device drivers are getting merged through the respective subsystem maintainer trees. One more SoC (u300) is now multiplatform capable and several others (shmobile, exynos, msm, integrator, kirkwood, clps711x) are moving towards that goal with this series but need more work. Also noteworthy is the work on PCI here, which is traditionally part of the SoC specific code. With the changes done by Thomas Petazzoni, we can now more easily have PCI host controller drivers as loadable modules and keep them separate from the platform code in drivers/pci/host. This has already led to the discovery that three platforms (exynos, spear and imx) are actually using an identical PCIe host controller and will be able to share a driver once support for spear and imx is added. Conflicts: * asm/glue-proc.h has one CPU type getting added that conflicts with another addition in 3.10-rc7 * Simple context changes in arch/arm/Makefile and arch/arm/Kconfig -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIVAwUAUdLnpmCrR//JCVInAQLoFRAAyatR+MhVFwc91cO7yDw/mz81RO1V9jEd QMufoWi0BRfBsubqxnGlb510EEMTz7gxdrlYPILYNr8TqR+lNGhjKt2FQAjN3q2O IBvu4x8C+xcxnMNbkCnTQRxP/ziK6yCI6e7enQhwuMuJwvsnJtGbsqKi5ODMw6x0 o5EQmIdj5NhhSJqJZPCmWsKbx100TH1UwaEnhNl0DSaFj51n3bVRrK6Nxce10GWZ HsS1/a63lq/YZLkwfUEvgin/PU9Jx5jMmqhlp3bZjG+f1ItdzJF+9IgS248vCIi2 ystzWCH88Kh69UFcYFfCjeZe8H45XcP+Zykd8WC0DvF/a7Hwk5KTKE/ciT6RPRxb rkWW5EwjqZL9w9cU3rUHWtSVenayQMMEmCfksadr1AExyCrhPqfs9RINyBs2lK5a q2bdSFbXZsNzSyL+3yQAfChvRo1/2FdlFVQy+oVUCActV7L77Y7y6jl+b2qzFsSu xMKwvC/1vDXTvOnGk6A/qJu7yrHpqJrvw1eI+wnMswNBl7lCTgyyHnr5y8S092jI KU4hmSxsYP+y13HmKy4ewPy9DYJYBTSdReKfEFo79Dx8eqySAWjHFL/OPRqhCUYS kBq0eZpVZO7tJnHRaRz8n93wIYzb1UOhhgVwxdjPZF9L4d/jzh1BCv0OBWv8IXCu uWLAi92lL24= =0r9S -----END PGP SIGNATURE----- Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC specific changes from Arnd Bergmann: "These changes are all to SoC-specific code, a total of 33 branches on 17 platforms were pulled into this. Like last time, Renesas sh-mobile is now the platform with the most changes, followed by OMAP and EXYNOS. Two new platforms, TI Keystone and Rockchips RK3xxx are added in this branch, both containing almost no platform specific code at all, since they are using generic subsystem interfaces for clocks, pinctrl, interrupts etc. The device drivers are getting merged through the respective subsystem maintainer trees. One more SoC (u300) is now multiplatform capable and several others (shmobile, exynos, msm, integrator, kirkwood, clps711x) are moving towards that goal with this series but need more work. Also noteworthy is the work on PCI here, which is traditionally part of the SoC specific code. With the changes done by Thomas Petazzoni, we can now more easily have PCI host controller drivers as loadable modules and keep them separate from the platform code in drivers/pci/host. This has already led to the discovery that three platforms (exynos, spear and imx) are actually using an identical PCIe host controller and will be able to share a driver once support for spear and imx is added." * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (480 commits) ARM: integrator: let pciv3 use mem/premem from device tree ARM: integrator: set local side PCI addresses right ARM: dts: Add pcie controller node for exynos5440-ssdk5440 ARM: dts: Add pcie controller node for Samsung EXYNOS5440 SoC ARM: EXYNOS: Enable PCIe support for Exynos5440 pci: Add PCIe driver for Samsung Exynos ARM: OMAP5: voltagedomain data: remove temporary OMAP4 voltage data ARM: keystone: Move CPU bringup code to dedicated asm file ARM: multiplatform: always pick one CPU type ARM: imx: select syscon for IMX6SL ARM: keystone: select ARM_ERRATA_798181 only for SMP ARM: imx: Synertronixx scb9328 needs to select SOC_IMX1 ARM: OMAP2+: AM43x: resolve SMP related build error dmaengine: edma: enable build for AM33XX ARM: edma: Add EDMA crossbar event mux support ARM: edma: Add DT and runtime PM support to the private EDMA API dmaengine: edma: Add TI EDMA device tree binding arm: add basic support for Rockchip RK3066a boards arm: add debug uarts for rockchip rk29xx and rk3xxx series arm: Add basic clocks for Rockchip rk3066a SoCs ...
265 lines
4.4 KiB
C
265 lines
4.4 KiB
C
/*
|
|
* arch/arm/include/asm/glue-proc.h
|
|
*
|
|
* Copyright (C) 1997-1999 Russell King
|
|
* Copyright (C) 2000 Deep Blue Solutions Ltd
|
|
*
|
|
* 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 ASM_GLUE_PROC_H
|
|
#define ASM_GLUE_PROC_H
|
|
|
|
#include <asm/glue.h>
|
|
|
|
/*
|
|
* Work out if we need multiple CPU support
|
|
*/
|
|
#undef MULTI_CPU
|
|
#undef CPU_NAME
|
|
|
|
/*
|
|
* CPU_NAME - the prefix for CPU related functions
|
|
*/
|
|
|
|
#ifdef CONFIG_CPU_ARM7TDMI
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm7tdmi
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM720T
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm720
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM740T
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm740
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM9TDMI
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm9tdmi
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM920T
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm920
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM922T
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm922
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_FA526
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_fa526
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM925T
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm925
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM926T
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm926
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM940T
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm940
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM946E
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm946
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_SA110
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_sa110
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_SA1100
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_sa1100
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM1020
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm1020
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM1020E
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm1020e
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM1022
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm1022
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_ARM1026
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_arm1026
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_XSCALE
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_xscale
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_XSC3
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_xsc3
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_MOHAWK
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_mohawk
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_FEROCEON
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_feroceon
|
|
# endif
|
|
#endif
|
|
|
|
#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_v6
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_V7
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_v7
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_V7M
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_v7m
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_PJ4B
|
|
# ifdef CPU_NAME
|
|
# undef MULTI_CPU
|
|
# define MULTI_CPU
|
|
# else
|
|
# define CPU_NAME cpu_pj4b
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef MULTI_CPU
|
|
#define cpu_proc_init __glue(CPU_NAME,_proc_init)
|
|
#define cpu_proc_fin __glue(CPU_NAME,_proc_fin)
|
|
#define cpu_reset __glue(CPU_NAME,_reset)
|
|
#define cpu_do_idle __glue(CPU_NAME,_do_idle)
|
|
#define cpu_dcache_clean_area __glue(CPU_NAME,_dcache_clean_area)
|
|
#define cpu_do_switch_mm __glue(CPU_NAME,_switch_mm)
|
|
#define cpu_set_pte_ext __glue(CPU_NAME,_set_pte_ext)
|
|
#define cpu_suspend_size __glue(CPU_NAME,_suspend_size)
|
|
#define cpu_do_suspend __glue(CPU_NAME,_do_suspend)
|
|
#define cpu_do_resume __glue(CPU_NAME,_do_resume)
|
|
#endif
|
|
|
|
#endif
|