From ace9429bb58fd418f0c81d4c2835699bddf6bde6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 11 Apr 2024 10:27:49 +0200 Subject: Adding upstream version 6.6.15. Signed-off-by: Daniel Baumann --- arch/arm/mach-sa1100/Kconfig | 88 ++ arch/arm/mach-sa1100/Makefile | 20 + arch/arm/mach-sa1100/assabet.c | 745 ++++++++++ arch/arm/mach-sa1100/clock.c | 145 ++ arch/arm/mach-sa1100/collie.c | 429 ++++++ arch/arm/mach-sa1100/generic.c | 470 +++++++ arch/arm/mach-sa1100/generic.h | 55 + arch/arm/mach-sa1100/h3600.c | 109 ++ arch/arm/mach-sa1100/h3xxx.c | 288 ++++ arch/arm/mach-sa1100/include/mach/SA-1100.h | 1798 ++++++++++++++++++++++++ arch/arm/mach-sa1100/include/mach/assabet.h | 99 ++ arch/arm/mach-sa1100/include/mach/bitfield.h | 113 ++ arch/arm/mach-sa1100/include/mach/collie.h | 94 ++ arch/arm/mach-sa1100/include/mach/generic.h | 1 + arch/arm/mach-sa1100/include/mach/h3xxx.h | 81 ++ arch/arm/mach-sa1100/include/mach/hardware.h | 56 + arch/arm/mach-sa1100/include/mach/irqs.h | 101 ++ arch/arm/mach-sa1100/include/mach/jornada720.h | 28 + arch/arm/mach-sa1100/include/mach/memory.h | 37 + arch/arm/mach-sa1100/include/mach/mtd-xip.h | 23 + arch/arm/mach-sa1100/include/mach/neponset.h | 31 + arch/arm/mach-sa1100/include/mach/reset.h | 18 + arch/arm/mach-sa1100/include/mach/uncompress.h | 52 + arch/arm/mach-sa1100/jornada720.c | 380 +++++ arch/arm/mach-sa1100/jornada720_ssp.c | 202 +++ arch/arm/mach-sa1100/neponset.c | 438 ++++++ arch/arm/mach-sa1100/pm.c | 128 ++ arch/arm/mach-sa1100/sleep.S | 143 ++ arch/arm/mach-sa1100/ssp.c | 240 ++++ 29 files changed, 6412 insertions(+) create mode 100644 arch/arm/mach-sa1100/Kconfig create mode 100644 arch/arm/mach-sa1100/Makefile create mode 100644 arch/arm/mach-sa1100/assabet.c create mode 100644 arch/arm/mach-sa1100/clock.c create mode 100644 arch/arm/mach-sa1100/collie.c create mode 100644 arch/arm/mach-sa1100/generic.c create mode 100644 arch/arm/mach-sa1100/generic.h create mode 100644 arch/arm/mach-sa1100/h3600.c create mode 100644 arch/arm/mach-sa1100/h3xxx.c create mode 100644 arch/arm/mach-sa1100/include/mach/SA-1100.h create mode 100644 arch/arm/mach-sa1100/include/mach/assabet.h create mode 100644 arch/arm/mach-sa1100/include/mach/bitfield.h create mode 100644 arch/arm/mach-sa1100/include/mach/collie.h create mode 100644 arch/arm/mach-sa1100/include/mach/generic.h create mode 100644 arch/arm/mach-sa1100/include/mach/h3xxx.h create mode 100644 arch/arm/mach-sa1100/include/mach/hardware.h create mode 100644 arch/arm/mach-sa1100/include/mach/irqs.h create mode 100644 arch/arm/mach-sa1100/include/mach/jornada720.h create mode 100644 arch/arm/mach-sa1100/include/mach/memory.h create mode 100644 arch/arm/mach-sa1100/include/mach/mtd-xip.h create mode 100644 arch/arm/mach-sa1100/include/mach/neponset.h create mode 100644 arch/arm/mach-sa1100/include/mach/reset.h create mode 100644 arch/arm/mach-sa1100/include/mach/uncompress.h create mode 100644 arch/arm/mach-sa1100/jornada720.c create mode 100644 arch/arm/mach-sa1100/jornada720_ssp.c create mode 100644 arch/arm/mach-sa1100/neponset.c create mode 100644 arch/arm/mach-sa1100/pm.c create mode 100644 arch/arm/mach-sa1100/sleep.S create mode 100644 arch/arm/mach-sa1100/ssp.c (limited to 'arch/arm/mach-sa1100') diff --git a/arch/arm/mach-sa1100/Kconfig b/arch/arm/mach-sa1100/Kconfig new file mode 100644 index 0000000000..0fb4c24cfa --- /dev/null +++ b/arch/arm/mach-sa1100/Kconfig @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: GPL-2.0-only +menuconfig ARCH_SA1100 + bool "SA11x0 Implementations" + depends on ARCH_MULTI_V4 && !(ARCH_MULTI_V4T || ARCH_MULTI_V5) + depends on !(ARCH_MOXART || ARCH_GEMINI) + depends on ATAGS + depends on CPU_LITTLE_ENDIAN + depends on MMU + select ARCH_NO_SG_CHAIN + select ARCH_MTD_XIP + select CLKSRC_MMIO + select CLKSRC_PXA + select CPU_FREQ + select CPU_SA1100 + select GPIOLIB + select IRQ_DOMAIN + select ISA + select NEED_MACH_MEMORY_H + help + Support for StrongARM 11x0 based boards. + +if ARCH_SA1100 + +config SA1100_ASSABET + bool "Assabet" + select ARM_SA1110_CPUFREQ + select GPIO_REG + select LEDS_GPIO_REGISTER + select REGULATOR + select REGULATOR_FIXED_VOLTAGE + help + Say Y here if you are using the Intel(R) StrongARM(R) SA-1110 + Microprocessor Development Board (also known as the Assabet). + +config ASSABET_NEPONSET + bool "Include support for Neponset" + depends on SA1100_ASSABET + select SA1111 + help + Say Y here if you are using the Intel(R) StrongARM(R) SA-1110 + Microprocessor Development Board (Assabet) with the SA-1111 + Development Board (Nepon). + +config SA1100_COLLIE + bool "Sharp Zaurus SL5500" + # FIXME: select ARM_SA11x0_CPUFREQ + select SHARP_LOCOMO + select SHARP_PARAM + select SHARP_SCOOP + help + Say Y here to support the Sharp Zaurus SL5500 PDAs. + +config SA1100_H3600 + bool "Compaq iPAQ H3600/H3700" + select ARM_SA1110_CPUFREQ + select HTC_EGPIO + select MFD_IPAQ_MICRO + help + Say Y here if you intend to run this kernel on the Compaq iPAQ + H3600 and H3700 handheld computers. + +config SA1100_JORNADA720 + bool "HP Jornada 720" + # FIXME: select ARM_SA11x0_CPUFREQ + select SA1111 + help + Say Y here if you want to build a kernel for the HP Jornada 720 + handheld computer. See + + +config SA1100_JORNADA720_SSP + bool "HP Jornada 720 Extended SSP driver" + depends on SA1100_JORNADA720 + select SA1100_SSP + help + Say Y here if you have a HP Jornada 7xx handheld computer and you + want to access devices connected to the MCU. Those include the + keyboard, touchscreen, backlight and battery. This driver also activates + the generic SSP which it extends. + +config SA1100_SSP + tristate "Generic PIO SSP" + help + Say Y here to enable support for the generic PIO SSP driver. + This isn't for audio support, but for attached sensors and + other devices, eg for BadgePAD 4 sensor support. + +endif diff --git a/arch/arm/mach-sa1100/Makefile b/arch/arm/mach-sa1100/Makefile new file mode 100644 index 0000000000..b5816d6751 --- /dev/null +++ b/arch/arm/mach-sa1100/Makefile @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for the linux kernel. +# + +# Common support +obj-y := clock.o generic.o #nmi-oopser.o + +# Specific board support +obj-$(CONFIG_SA1100_ASSABET) += assabet.o +obj-$(CONFIG_ASSABET_NEPONSET) += neponset.o +obj-$(CONFIG_SA1100_COLLIE) += collie.o +obj-$(CONFIG_SA1100_H3600) += h3600.o h3xxx.o +obj-$(CONFIG_SA1100_JORNADA720) += jornada720.o +obj-$(CONFIG_SA1100_JORNADA720_SSP) += jornada720_ssp.o + +# Miscellaneous functions +obj-$(CONFIG_PM) += pm.o sleep.o +obj-$(CONFIG_SA1100_SSP) += ssp.o + diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c new file mode 100644 index 0000000000..2b833aa021 --- /dev/null +++ b/arch/arm/mach-sa1100/assabet.c @@ -0,0 +1,745 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * linux/arch/arm/mach-sa1100/assabet.c + * + * Author: Nicolas Pitre + * + * This file contains all Assabet-specific tweaks. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include