From 2c3c1048746a4622d8c89a29670120dc8fab93c4 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:49:45 +0200 Subject: Adding upstream version 6.1.76. Signed-off-by: Daniel Baumann --- arch/arm/mach-sa1100/Kconfig | 200 +++ arch/arm/mach-sa1100/Makefile | 41 + arch/arm/mach-sa1100/assabet.c | 778 ++++++++++ arch/arm/mach-sa1100/badge4.c | 338 +++++ arch/arm/mach-sa1100/cerf.c | 181 +++ arch/arm/mach-sa1100/clock.c | 145 ++ arch/arm/mach-sa1100/collie.c | 462 ++++++ arch/arm/mach-sa1100/generic.c | 489 +++++++ arch/arm/mach-sa1100/generic.h | 58 + arch/arm/mach-sa1100/h3100.c | 140 ++ arch/arm/mach-sa1100/h3600.c | 147 ++ arch/arm/mach-sa1100/h3xxx.c | 288 ++++ arch/arm/mach-sa1100/hackkit.c | 184 +++ 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/badge4.h | 71 + arch/arm/mach-sa1100/include/mach/bitfield.h | 113 ++ arch/arm/mach-sa1100/include/mach/cerf.h | 20 + arch/arm/mach-sa1100/include/mach/collie.h | 96 ++ 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/nanoengine.h | 48 + arch/arm/mach-sa1100/include/mach/neponset.h | 31 + arch/arm/mach-sa1100/include/mach/reset.h | 18 + arch/arm/mach-sa1100/include/mach/shannon.h | 40 + arch/arm/mach-sa1100/include/mach/simpad.h | 159 +++ arch/arm/mach-sa1100/include/mach/uncompress.h | 52 + arch/arm/mach-sa1100/jornada720.c | 380 +++++ arch/arm/mach-sa1100/jornada720_ssp.c | 203 +++ arch/arm/mach-sa1100/lart.c | 177 +++ arch/arm/mach-sa1100/nanoengine.c | 136 ++ arch/arm/mach-sa1100/neponset.c | 440 ++++++ arch/arm/mach-sa1100/pci-nanoengine.c | 191 +++ arch/arm/mach-sa1100/pleb.c | 148 ++ arch/arm/mach-sa1100/pm.c | 126 ++ arch/arm/mach-sa1100/shannon.c | 157 +++ arch/arm/mach-sa1100/simpad.c | 423 ++++++ arch/arm/mach-sa1100/sleep.S | 143 ++ arch/arm/mach-sa1100/ssp.c | 240 ++++ 44 files changed, 9087 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/badge4.c create mode 100644 arch/arm/mach-sa1100/cerf.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/h3100.c 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/hackkit.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/badge4.h create mode 100644 arch/arm/mach-sa1100/include/mach/bitfield.h create mode 100644 arch/arm/mach-sa1100/include/mach/cerf.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/nanoengine.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/shannon.h create mode 100644 arch/arm/mach-sa1100/include/mach/simpad.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/lart.c create mode 100644 arch/arm/mach-sa1100/nanoengine.c create mode 100644 arch/arm/mach-sa1100/neponset.c create mode 100644 arch/arm/mach-sa1100/pci-nanoengine.c create mode 100644 arch/arm/mach-sa1100/pleb.c create mode 100644 arch/arm/mach-sa1100/pm.c create mode 100644 arch/arm/mach-sa1100/shannon.c create mode 100644 arch/arm/mach-sa1100/simpad.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 000000000..fb9cd1070 --- /dev/null +++ b/arch/arm/mach-sa1100/Kconfig @@ -0,0 +1,200 @@ +# 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_CERF + bool "CerfBoard" + depends on UNUSED_BOARD_FILES + select ARM_SA1110_CPUFREQ + select LEDS_GPIO_REGISTER + help + The Intrinsyc CerfBoard is based on the StrongARM 1110 (Discontinued). + More information is available at: + . + + Say Y if configuring for an Intrinsyc CerfBoard. + Say N otherwise. + +choice + prompt "Cerf Flash available" + depends on SA1100_CERF + default SA1100_CERF_FLASH_8MB + +config SA1100_CERF_FLASH_8MB + bool "8MB" + +config SA1100_CERF_FLASH_16MB + bool "16MB" + +config SA1100_CERF_FLASH_32MB + bool "32MB" + +endchoice + +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_H3100 + bool "Compaq iPAQ H3100" + depends on UNUSED_BOARD_FILES + 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 + H3100 handheld computer. + +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_BADGE4 + bool "HP Labs BadgePAD 4" + depends on UNUSED_BOARD_FILES + select ARM_SA1100_CPUFREQ + select SA1111 + help + Say Y here if you want to build a kernel for the HP Laboratories + BadgePAD 4. + +config SA1100_JORNADA720 + bool "HP Jornada 720" + depends on UNUSED_BOARD_FILES + # 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_HACKKIT + bool "HackKit Core CPU Board" + depends on UNUSED_BOARD_FILES + select ARM_SA1100_CPUFREQ + help + Say Y here to support the HackKit Core CPU Board + ; + +config SA1100_LART + bool "LART" + depends on UNUSED_BOARD_FILES + select ARM_SA1100_CPUFREQ + help + Say Y here if you are using the Linux Advanced Radio Terminal + (also known as the LART). See for + information on the LART. + +config SA1100_NANOENGINE + bool "nanoEngine" + depends on UNUSED_BOARD_FILES + select ARM_SA1110_CPUFREQ + select FORCE_PCI + select PCI_NANOENGINE + help + Say Y here if you are using the Bright Star Engineering nanoEngine. + See for information + on the BSE nanoEngine. + +config SA1100_PLEB + bool "PLEB" + depends on UNUSED_BOARD_FILES + select ARM_SA1100_CPUFREQ + help + Say Y here if you are using version 1 of the Portable Linux + Embedded Board (also known as PLEB). + See + for more information. + +config SA1100_SHANNON + bool "Shannon" + depends on UNUSED_BOARD_FILES + select ARM_SA1100_CPUFREQ + select REGULATOR + select REGULATOR_FIXED_VOLTAGE + help + The Shannon (also known as a Tuxscreen, and also as a IS2630) was a + limited edition webphone produced by Philips. The Shannon is a SA1100 + platform with a 640x480 LCD, touchscreen, CIR keyboard, PCMCIA slots, + and a telco interface. + +config SA1100_SIMPAD + bool "Simpad" + depends on UNUSED_BOARD_FILES + select ARM_SA1110_CPUFREQ + help + The SIEMENS webpad SIMpad is based on the StrongARM 1110. There + are two different versions CL4 and SL4. CL4 has 32MB RAM and 16MB + FLASH. The SL4 version got 64 MB RAM and 32 MB FLASH and a + PCMCIA-Slot. The version for the Germany Telecom (DTAG) is the same + like CL4 in additional it has a PCMCIA-Slot. For more information + visit or . + +config SA1100_SSP + tristate "Generic PIO SSP" + depends on UNUSED_BOARD_FILES + 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 000000000..28c1cae00 --- /dev/null +++ b/arch/arm/mach-sa1100/Makefile @@ -0,0 +1,41 @@ +# 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_BADGE4) += badge4.o + +obj-$(CONFIG_SA1100_CERF) += cerf.o + +obj-$(CONFIG_SA1100_COLLIE) += collie.o + +obj-$(CONFIG_SA1100_H3100) += h3100.o h3xxx.o +obj-$(CONFIG_SA1100_H3600) += h3600.o h3xxx.o + +obj-$(CONFIG_SA1100_HACKKIT) += hackkit.o + +obj-$(CONFIG_SA1100_JORNADA720) += jornada720.o +obj-$(CONFIG_SA1100_JORNADA720_SSP) += jornada720_ssp.o + +obj-$(CONFIG_SA1100_LART) += lart.o + +obj-$(CONFIG_SA1100_NANOENGINE) += nanoengine.o +obj-$(CONFIG_PCI_NANOENGINE) += pci-nanoengine.o + +obj-$(CONFIG_SA1100_PLEB) += pleb.o + +obj-$(CONFIG_SA1100_SHANNON) += shannon.o + +obj-$(CONFIG_SA1100_SIMPAD) += simpad.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 000000000..9919e0f32 --- /dev/null +++ b/arch/arm/mach-sa1100/assabet.c @@ -0,0 +1,778 @@ +// 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