From 9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 Mon Sep 17 00:00:00 2001 From: Yunhong Jiang Date: Tue, 4 Aug 2015 12:17:53 -0700 Subject: Add the rt linux 4.1.3-rt3 as base Import the rt linux 4.1.3-rt3 as OPNFV kvm base. It's from git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-4.1.y-rt and the base is: commit 0917f823c59692d751951bf5ea699a2d1e2f26a2 Author: Sebastian Andrzej Siewior Date: Sat Jul 25 12:13:34 2015 +0200 Prepare v4.1.3-rt3 Signed-off-by: Sebastian Andrzej Siewior We lose all the git history this way and it's not good. We should apply another opnfv project repo in future. Change-Id: I87543d81c9df70d99c5001fbdf646b202c19f423 Signed-off-by: Yunhong Jiang --- kernel/arch/arm/mach-mmp/Kconfig | 142 ++++++++ kernel/arch/arm/mach-mmp/Makefile | 36 ++ kernel/arch/arm/mach-mmp/Makefile.boot | 1 + kernel/arch/arm/mach-mmp/aspenite.c | 282 +++++++++++++++ kernel/arch/arm/mach-mmp/avengers_lite.c | 58 +++ kernel/arch/arm/mach-mmp/brownstone.c | 231 ++++++++++++ kernel/arch/arm/mach-mmp/clock-mmp2.c | 111 ++++++ kernel/arch/arm/mach-mmp/clock-pxa168.c | 91 +++++ kernel/arch/arm/mach-mmp/clock-pxa910.c | 67 ++++ kernel/arch/arm/mach-mmp/clock.c | 105 ++++++ kernel/arch/arm/mach-mmp/clock.h | 71 ++++ kernel/arch/arm/mach-mmp/common.c | 53 +++ kernel/arch/arm/mach-mmp/common.h | 10 + kernel/arch/arm/mach-mmp/devices.c | 351 ++++++++++++++++++ kernel/arch/arm/mach-mmp/flint.c | 134 +++++++ kernel/arch/arm/mach-mmp/gplugd.c | 209 +++++++++++ kernel/arch/arm/mach-mmp/include/mach/addr-map.h | 46 +++ kernel/arch/arm/mach-mmp/include/mach/cputype.h | 55 +++ kernel/arch/arm/mach-mmp/include/mach/devices.h | 56 +++ kernel/arch/arm/mach-mmp/include/mach/dma.h | 13 + kernel/arch/arm/mach-mmp/include/mach/hardware.h | 4 + kernel/arch/arm/mach-mmp/include/mach/irqs.h | 239 +++++++++++++ kernel/arch/arm/mach-mmp/include/mach/mfp-mmp2.h | 395 +++++++++++++++++++++ kernel/arch/arm/mach-mmp/include/mach/mfp-pxa168.h | 354 ++++++++++++++++++ kernel/arch/arm/mach-mmp/include/mach/mfp-pxa910.h | 169 +++++++++ kernel/arch/arm/mach-mmp/include/mach/mfp.h | 34 ++ kernel/arch/arm/mach-mmp/include/mach/mmp2.h | 102 ++++++ kernel/arch/arm/mach-mmp/include/mach/pm-mmp2.h | 61 ++++ kernel/arch/arm/mach-mmp/include/mach/pm-pxa910.h | 77 ++++ kernel/arch/arm/mach-mmp/include/mach/pxa168.h | 137 +++++++ kernel/arch/arm/mach-mmp/include/mach/pxa910.h | 87 +++++ kernel/arch/arm/mach-mmp/include/mach/regs-apbc.h | 24 ++ kernel/arch/arm/mach-mmp/include/mach/regs-apmu.h | 33 ++ kernel/arch/arm/mach-mmp/include/mach/regs-icu.h | 71 ++++ kernel/arch/arm/mach-mmp/include/mach/regs-rtc.h | 23 ++ kernel/arch/arm/mach-mmp/include/mach/regs-smc.h | 37 ++ .../arch/arm/mach-mmp/include/mach/regs-timers.h | 44 +++ kernel/arch/arm/mach-mmp/include/mach/regs-usb.h | 253 +++++++++++++ kernel/arch/arm/mach-mmp/include/mach/teton_bga.h | 27 ++ kernel/arch/arm/mach-mmp/include/mach/uncompress.h | 45 +++ kernel/arch/arm/mach-mmp/jasper.c | 188 ++++++++++ kernel/arch/arm/mach-mmp/mmp-dt.c | 52 +++ kernel/arch/arm/mach-mmp/mmp2-dt.c | 42 +++ kernel/arch/arm/mach-mmp/mmp2.c | 177 +++++++++ kernel/arch/arm/mach-mmp/pm-mmp2.c | 250 +++++++++++++ kernel/arch/arm/mach-mmp/pm-pxa910.c | 273 ++++++++++++++ kernel/arch/arm/mach-mmp/pxa168.c | 178 ++++++++++ kernel/arch/arm/mach-mmp/pxa910.c | 191 ++++++++++ kernel/arch/arm/mach-mmp/sram.c | 168 +++++++++ kernel/arch/arm/mach-mmp/tavorevb.c | 116 ++++++ kernel/arch/arm/mach-mmp/teton_bga.c | 103 ++++++ kernel/arch/arm/mach-mmp/time.c | 247 +++++++++++++ kernel/arch/arm/mach-mmp/ttc_dkb.c | 315 ++++++++++++++++ 53 files changed, 6638 insertions(+) create mode 100644 kernel/arch/arm/mach-mmp/Kconfig create mode 100644 kernel/arch/arm/mach-mmp/Makefile create mode 100644 kernel/arch/arm/mach-mmp/Makefile.boot create mode 100644 kernel/arch/arm/mach-mmp/aspenite.c create mode 100644 kernel/arch/arm/mach-mmp/avengers_lite.c create mode 100644 kernel/arch/arm/mach-mmp/brownstone.c create mode 100644 kernel/arch/arm/mach-mmp/clock-mmp2.c create mode 100644 kernel/arch/arm/mach-mmp/clock-pxa168.c create mode 100644 kernel/arch/arm/mach-mmp/clock-pxa910.c create mode 100644 kernel/arch/arm/mach-mmp/clock.c create mode 100644 kernel/arch/arm/mach-mmp/clock.h create mode 100644 kernel/arch/arm/mach-mmp/common.c create mode 100644 kernel/arch/arm/mach-mmp/common.h create mode 100644 kernel/arch/arm/mach-mmp/devices.c create mode 100644 kernel/arch/arm/mach-mmp/flint.c create mode 100644 kernel/arch/arm/mach-mmp/gplugd.c create mode 100644 kernel/arch/arm/mach-mmp/include/mach/addr-map.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/cputype.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/devices.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/dma.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/hardware.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/irqs.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/mfp-mmp2.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/mfp-pxa168.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/mfp-pxa910.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/mfp.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/mmp2.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/pm-mmp2.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/pm-pxa910.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/pxa168.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/pxa910.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/regs-apbc.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/regs-apmu.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/regs-icu.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/regs-rtc.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/regs-smc.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/regs-timers.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/regs-usb.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/teton_bga.h create mode 100644 kernel/arch/arm/mach-mmp/include/mach/uncompress.h create mode 100644 kernel/arch/arm/mach-mmp/jasper.c create mode 100644 kernel/arch/arm/mach-mmp/mmp-dt.c create mode 100644 kernel/arch/arm/mach-mmp/mmp2-dt.c create mode 100644 kernel/arch/arm/mach-mmp/mmp2.c create mode 100644 kernel/arch/arm/mach-mmp/pm-mmp2.c create mode 100644 kernel/arch/arm/mach-mmp/pm-pxa910.c create mode 100644 kernel/arch/arm/mach-mmp/pxa168.c create mode 100644 kernel/arch/arm/mach-mmp/pxa910.c create mode 100644 kernel/arch/arm/mach-mmp/sram.c create mode 100644 kernel/arch/arm/mach-mmp/tavorevb.c create mode 100644 kernel/arch/arm/mach-mmp/teton_bga.c create mode 100644 kernel/arch/arm/mach-mmp/time.c create mode 100644 kernel/arch/arm/mach-mmp/ttc_dkb.c (limited to 'kernel/arch/arm/mach-mmp') diff --git a/kernel/arch/arm/mach-mmp/Kconfig b/kernel/arch/arm/mach-mmp/Kconfig new file mode 100644 index 000000000..fdbfadf00 --- /dev/null +++ b/kernel/arch/arm/mach-mmp/Kconfig @@ -0,0 +1,142 @@ +if ARCH_MMP + +menu "Marvell PXA168/910/MMP2 Implmentations" + +config MACH_ASPENITE + bool "Marvell's PXA168 Aspenite Development Board" + select CPU_PXA168 + help + Say 'Y' here if you want to support the Marvell PXA168-based + Aspenite Development Board. + +config MACH_ZYLONITE2 + bool "Marvell's PXA168 Zylonite2 Development Board" + select CPU_PXA168 + help + Say 'Y' here if you want to support the Marvell PXA168-based + Zylonite2 Development Board. + +config MACH_AVENGERS_LITE + bool "Marvell's PXA168 Avengers Lite Development Board" + select CPU_PXA168 + help + Say 'Y' here if you want to support the Marvell PXA168-based + Avengers Lite Development Board. + +config MACH_TAVOREVB + bool "Marvell's PXA910 TavorEVB Development Board" + select CPU_PXA910 + help + Say 'Y' here if you want to support the Marvell PXA910-based + TavorEVB Development Board. + +config MACH_TTC_DKB + bool "Marvell's PXA910 TavorEVB Development Board" + select CPU_PXA910 + help + Say 'Y' here if you want to support the Marvell PXA910-based + TTC_DKB Development Board. + +config MACH_BROWNSTONE + bool "Marvell's Brownstone Development Platform" + depends on !CPU_MOHAWK + select CPU_MMP2 + help + Say 'Y' here if you want to support the Marvell MMP2-based + Brown Development Platform. + MMP2-based board can't be co-existed with PXA168-based & + PXA910-based development board. Since MMP2 is compatible to + ARMv7 architecture. + +config MACH_FLINT + bool "Marvell's Flint Development Platform" + depends on !CPU_MOHAWK + select CPU_MMP2 + help + Say 'Y' here if you want to support the Marvell MMP2-based + Flint Development Platform. + MMP2-based board can't be co-existed with PXA168-based & + PXA910-based development board. Since MMP2 is compatible to + ARMv7 architecture. + +config MACH_MARVELL_JASPER + bool "Marvell's Jasper Development Platform" + depends on !CPU_MOHAWK + select CPU_MMP2 + help + Say 'Y' here if you want to support the Marvell MMP2-base + Jasper Development Platform. + MMP2-based board can't be co-existed with PXA168-based & + PXA910-based development board. Since MMP2 is compatible to + ARMv7 architecture. + +config MACH_TETON_BGA + bool "Marvell's PXA168 Teton BGA Development Board" + select CPU_PXA168 + help + Say 'Y' here if you want to support the Marvell PXA168-based + Teton BGA Development Board. + +config MACH_GPLUGD + bool "Marvell's PXA168 GuruPlug Display (gplugD) Board" + select CPU_PXA168 + help + Say 'Y' here if you want to support the Marvell PXA168-based + GuruPlug Display (gplugD) Board + +config MACH_MMP_DT + bool "Support MMP (ARMv5) platforms from device tree" + select USE_OF + select PINCTRL + select PINCTRL_SINGLE + select COMMON_CLK + select ARCH_HAS_RESET_CONTROLLER + select CPU_MOHAWK + help + Include support for Marvell MMP2 based platforms using + the device tree. Needn't select any other machine while + MACH_MMP_DT is enabled. + +config MACH_MMP2_DT + bool "Support MMP2 (ARMv7) platforms from device tree" + depends on !CPU_MOHAWK + select USE_OF + select PINCTRL + select PINCTRL_SINGLE + select COMMON_CLK + select ARCH_HAS_RESET_CONTROLLER + select CPU_PJ4 + help + Include support for Marvell MMP2 based platforms using + the device tree. + +endmenu + +config CPU_PXA168 + bool + select CPU_MOHAWK + help + Select code specific to PXA168 + +config CPU_PXA910 + bool + select CPU_MOHAWK + help + Select code specific to PXA910 + +config CPU_MMP2 + bool + select CPU_PJ4 + help + Select code specific to MMP2. MMP2 is ARMv7 compatible. + +config USB_EHCI_MV_U2O + bool "EHCI support for PXA USB OTG controller" + depends on USB_EHCI_MV + help + Enables support for OTG controller which can be switched to host mode. + +config MMP_SRAM + bool + +endif diff --git a/kernel/arch/arm/mach-mmp/Makefile b/kernel/arch/arm/mach-mmp/Makefile new file mode 100644 index 000000000..98f0f6388 --- /dev/null +++ b/kernel/arch/arm/mach-mmp/Makefile @@ -0,0 +1,36 @@ +# +# Makefile for Marvell's PXA168 processors line +# + +obj-y += common.o devices.o time.o + +# SoC support +obj-$(CONFIG_CPU_PXA168) += pxa168.o +obj-$(CONFIG_CPU_PXA910) += pxa910.o +obj-$(CONFIG_CPU_MMP2) += mmp2.o +obj-$(CONFIG_MMP_SRAM) += sram.o + +ifeq ($(CONFIG_COMMON_CLK), ) +obj-y += clock.o +obj-$(CONFIG_CPU_PXA168) += clock-pxa168.o +obj-$(CONFIG_CPU_PXA910) += clock-pxa910.o +obj-$(CONFIG_CPU_MMP2) += clock-mmp2.o +endif +ifeq ($(CONFIG_PM),y) +obj-$(CONFIG_CPU_PXA910) += pm-pxa910.o +obj-$(CONFIG_CPU_MMP2) += pm-mmp2.o +endif + +# board support +obj-$(CONFIG_MACH_ASPENITE) += aspenite.o +obj-$(CONFIG_MACH_ZYLONITE2) += aspenite.o +obj-$(CONFIG_MACH_AVENGERS_LITE)+= avengers_lite.o +obj-$(CONFIG_MACH_TAVOREVB) += tavorevb.o +obj-$(CONFIG_MACH_TTC_DKB) += ttc_dkb.o +obj-$(CONFIG_MACH_BROWNSTONE) += brownstone.o +obj-$(CONFIG_MACH_FLINT) += flint.o +obj-$(CONFIG_MACH_MARVELL_JASPER) += jasper.o +obj-$(CONFIG_MACH_MMP_DT) += mmp-dt.o +obj-$(CONFIG_MACH_MMP2_DT) += mmp2-dt.o +obj-$(CONFIG_MACH_TETON_BGA) += teton_bga.o +obj-$(CONFIG_MACH_GPLUGD) += gplugd.o diff --git a/kernel/arch/arm/mach-mmp/Makefile.boot b/kernel/arch/arm/mach-mmp/Makefile.boot new file mode 100644 index 000000000..5edf03e2b --- /dev/null +++ b/kernel/arch/arm/mach-mmp/Makefile.boot @@ -0,0 +1 @@ + zreladdr-y += 0x00008000 diff --git a/kernel/arch/arm/mach-mmp/aspenite.c b/kernel/arch/arm/mach-mmp/aspenite.c new file mode 100644 index 000000000..7e0248582 --- /dev/null +++ b/kernel/arch/arm/mach-mmp/aspenite.c @@ -0,0 +1,282 @@ +/* + * linux/arch/arm/mach-mmp/aspenite.c + * + * Support for the Marvell PXA168-based Aspenite and Zylonite2 + * Development Platform. + * + * 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 + * publishhed by the Free Software Foundation. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include