From 849369d6c66d3054688672f97d31fceb8e8230fb Mon Sep 17 00:00:00 2001 From: root Date: Fri, 25 Dec 2015 04:40:36 +0000 Subject: initial_commit --- arch/arm/mach-mmp/Kconfig | 99 +++++++ arch/arm/mach-mmp/Makefile | 21 ++ arch/arm/mach-mmp/Makefile.boot | 1 + arch/arm/mach-mmp/aspenite.c | 253 +++++++++++++++++ arch/arm/mach-mmp/avengers_lite.c | 48 ++++ arch/arm/mach-mmp/brownstone.c | 204 ++++++++++++++ arch/arm/mach-mmp/clock.c | 90 ++++++ arch/arm/mach-mmp/clock.h | 70 +++++ arch/arm/mach-mmp/common.c | 47 ++++ arch/arm/mach-mmp/common.h | 8 + arch/arm/mach-mmp/devices.c | 69 +++++ arch/arm/mach-mmp/flint.c | 124 +++++++++ arch/arm/mach-mmp/include/mach/addr-map.h | 34 +++ arch/arm/mach-mmp/include/mach/clkdev.h | 7 + arch/arm/mach-mmp/include/mach/cputype.h | 55 ++++ arch/arm/mach-mmp/include/mach/debug-macro.S | 22 ++ arch/arm/mach-mmp/include/mach/devices.h | 53 ++++ arch/arm/mach-mmp/include/mach/dma.h | 13 + arch/arm/mach-mmp/include/mach/entry-macro.S | 30 ++ arch/arm/mach-mmp/include/mach/gpio.h | 36 +++ arch/arm/mach-mmp/include/mach/hardware.h | 4 + arch/arm/mach-mmp/include/mach/io.h | 21 ++ arch/arm/mach-mmp/include/mach/irqs.h | 229 ++++++++++++++++ arch/arm/mach-mmp/include/mach/memory.h | 14 + arch/arm/mach-mmp/include/mach/mfp-mmp2.h | 395 +++++++++++++++++++++++++++ arch/arm/mach-mmp/include/mach/mfp-pxa168.h | 308 +++++++++++++++++++++ arch/arm/mach-mmp/include/mach/mfp-pxa910.h | 170 ++++++++++++ arch/arm/mach-mmp/include/mach/mfp.h | 34 +++ arch/arm/mach-mmp/include/mach/mmp2.h | 89 ++++++ arch/arm/mach-mmp/include/mach/pxa168.h | 120 ++++++++ arch/arm/mach-mmp/include/mach/pxa910.h | 79 ++++++ arch/arm/mach-mmp/include/mach/regs-apbc.h | 121 ++++++++ arch/arm/mach-mmp/include/mach/regs-apmu.h | 50 ++++ arch/arm/mach-mmp/include/mach/regs-icu.h | 71 +++++ arch/arm/mach-mmp/include/mach/regs-smc.h | 37 +++ arch/arm/mach-mmp/include/mach/regs-timers.h | 44 +++ arch/arm/mach-mmp/include/mach/system.h | 26 ++ arch/arm/mach-mmp/include/mach/teton_bga.h | 27 ++ arch/arm/mach-mmp/include/mach/timex.h | 13 + arch/arm/mach-mmp/include/mach/uncompress.h | 51 ++++ arch/arm/mach-mmp/include/mach/vmalloc.h | 5 + arch/arm/mach-mmp/irq-mmp2.c | 157 +++++++++++ arch/arm/mach-mmp/irq-pxa168.c | 54 ++++ arch/arm/mach-mmp/jasper.c | 179 ++++++++++++ arch/arm/mach-mmp/mmp2.c | 229 ++++++++++++++++ arch/arm/mach-mmp/pxa168.c | 165 +++++++++++ arch/arm/mach-mmp/pxa910.c | 182 ++++++++++++ arch/arm/mach-mmp/tavorevb.c | 106 +++++++ arch/arm/mach-mmp/teton_bga.c | 89 ++++++ arch/arm/mach-mmp/time.c | 189 +++++++++++++ arch/arm/mach-mmp/ttc_dkb.c | 133 +++++++++ 51 files changed, 4675 insertions(+) create mode 100644 arch/arm/mach-mmp/Kconfig create mode 100644 arch/arm/mach-mmp/Makefile create mode 100644 arch/arm/mach-mmp/Makefile.boot create mode 100644 arch/arm/mach-mmp/aspenite.c create mode 100644 arch/arm/mach-mmp/avengers_lite.c create mode 100644 arch/arm/mach-mmp/brownstone.c create mode 100644 arch/arm/mach-mmp/clock.c create mode 100644 arch/arm/mach-mmp/clock.h create mode 100644 arch/arm/mach-mmp/common.c create mode 100644 arch/arm/mach-mmp/common.h create mode 100644 arch/arm/mach-mmp/devices.c create mode 100644 arch/arm/mach-mmp/flint.c create mode 100644 arch/arm/mach-mmp/include/mach/addr-map.h create mode 100644 arch/arm/mach-mmp/include/mach/clkdev.h create mode 100644 arch/arm/mach-mmp/include/mach/cputype.h create mode 100644 arch/arm/mach-mmp/include/mach/debug-macro.S create mode 100644 arch/arm/mach-mmp/include/mach/devices.h create mode 100644 arch/arm/mach-mmp/include/mach/dma.h create mode 100644 arch/arm/mach-mmp/include/mach/entry-macro.S create mode 100644 arch/arm/mach-mmp/include/mach/gpio.h create mode 100644 arch/arm/mach-mmp/include/mach/hardware.h create mode 100644 arch/arm/mach-mmp/include/mach/io.h create mode 100644 arch/arm/mach-mmp/include/mach/irqs.h create mode 100644 arch/arm/mach-mmp/include/mach/memory.h create mode 100644 arch/arm/mach-mmp/include/mach/mfp-mmp2.h create mode 100644 arch/arm/mach-mmp/include/mach/mfp-pxa168.h create mode 100644 arch/arm/mach-mmp/include/mach/mfp-pxa910.h create mode 100644 arch/arm/mach-mmp/include/mach/mfp.h create mode 100644 arch/arm/mach-mmp/include/mach/mmp2.h create mode 100644 arch/arm/mach-mmp/include/mach/pxa168.h create mode 100644 arch/arm/mach-mmp/include/mach/pxa910.h create mode 100644 arch/arm/mach-mmp/include/mach/regs-apbc.h create mode 100644 arch/arm/mach-mmp/include/mach/regs-apmu.h create mode 100644 arch/arm/mach-mmp/include/mach/regs-icu.h create mode 100644 arch/arm/mach-mmp/include/mach/regs-smc.h create mode 100644 arch/arm/mach-mmp/include/mach/regs-timers.h create mode 100644 arch/arm/mach-mmp/include/mach/system.h create mode 100644 arch/arm/mach-mmp/include/mach/teton_bga.h create mode 100644 arch/arm/mach-mmp/include/mach/timex.h create mode 100644 arch/arm/mach-mmp/include/mach/uncompress.h create mode 100644 arch/arm/mach-mmp/include/mach/vmalloc.h create mode 100644 arch/arm/mach-mmp/irq-mmp2.c create mode 100644 arch/arm/mach-mmp/irq-pxa168.c create mode 100644 arch/arm/mach-mmp/jasper.c create mode 100644 arch/arm/mach-mmp/mmp2.c create mode 100644 arch/arm/mach-mmp/pxa168.c create mode 100644 arch/arm/mach-mmp/pxa910.c create mode 100644 arch/arm/mach-mmp/tavorevb.c create mode 100644 arch/arm/mach-mmp/teton_bga.c create mode 100644 arch/arm/mach-mmp/time.c create mode 100644 arch/arm/mach-mmp/ttc_dkb.c (limited to 'arch/arm/mach-mmp') diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig new file mode 100644 index 00000000..67793a69 --- /dev/null +++ b/arch/arm/mach-mmp/Kconfig @@ -0,0 +1,99 @@ +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. + +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. +endif diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile new file mode 100644 index 00000000..5c683821 --- /dev/null +++ b/arch/arm/mach-mmp/Makefile @@ -0,0 +1,21 @@ +# +# Makefile for Marvell's PXA168 processors line +# + +obj-y += common.o clock.o devices.o time.o + +# SoC support +obj-$(CONFIG_CPU_PXA168) += pxa168.o irq-pxa168.o +obj-$(CONFIG_CPU_PXA910) += pxa910.o irq-pxa168.o +obj-$(CONFIG_CPU_MMP2) += mmp2.o irq-mmp2.o + +# 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_TETON_BGA) += teton_bga.o diff --git a/arch/arm/mach-mmp/Makefile.boot b/arch/arm/mach-mmp/Makefile.boot new file mode 100644 index 00000000..574a4aa8 --- /dev/null +++ b/arch/arm/mach-mmp/Makefile.boot @@ -0,0 +1 @@ + zreladdr-y := 0x00008000 diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c new file mode 100644 index 00000000..06b5fa85 --- /dev/null +++ b/arch/arm/mach-mmp/aspenite.c @@ -0,0 +1,253 @@ +/* + * 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