[GIT PULL 6/6, look out for dependencies ] ARM: platform support for Apple M1
Arnd Bergmann
arnd at kernel.org
Mon Apr 26 17:05:42 BST 2021
The following changes since commit 1e28eed17697bcf343c6743f0028cc3b5dd88bf0:
Linux 5.12-rc3 (2021-03-14 14:41:02 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git
tags/arm-apple-m1-5.13
for you to fetch changes up to ea96292838397682530ac77a429974f8ff5f2df3:
asm-generic/io.h: Unbork ioremap_np() declaration (2021-04-09 08:48:27 +0200)
----------------------------------------------------------------
ARM: platform support for Apple M1
The Apple M1 is the processor used it all current generation Apple
Macintosh computers. Support for this platform so far is rudimentary,
but it boots and can use framebuffer and serial console over a special
USB cable.
Support for several essential on-chip devices (USB, PCIe, IOMMU, NVMe)
is work in progress but was not ready in time.
A very detailed description of what works is in the merge commit
and on the AsahiLinux wiki.
Link: https://lore.kernel.org/linux-arm-kernel/bdb18e9f-fcd7-1e31-2224-19c0e5090706@marcan.st/
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
----------------------------------------------------------------
Note: this tree pulls in changes from the tty and arm64 trees as a dependency.
The diffstat below is based on on commit 847bea3d08a (Merge remote-tracking
branch 'arm64/for-next/fiq'), and is what you should see when you
pull those two first.
There is also a small Makefile conflict against the irqchip branch of
the tip tree.
----------------------------------------------------------------
Arnd Bergmann (3):
docs: driver-api: device-io: Document I/O access functions
Merge branch 'apple/m1-dependency' into arm/apple-m1
Merge tag 'm1-soc-bringup-v5' of
https://github.com/AsahiLinux/linux into arm/apple-m1
Hector Martin (18):
dt-bindings: vendor-prefixes: Add apple prefix
dt-bindings: arm: apple: Add bindings for Apple ARM platforms
dt-bindings: arm: cpus: Add apple,firestorm & icestorm compatibles
arm64: cputype: Add CPU implementor & types for the Apple M1 cores
dt-bindings: timer: arm,arch_timer: Add interrupt-names support
arm64: arch_timer: Implement support for interrupt-names
asm-generic/io.h: Add a non-posted variant of ioremap()
docs: driver-api: device-io: Document ioremap() variants & access funcs
arm64: Implement ioremap_np() to map MMIO as nGnRnE
asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np
of/address: Add infrastructure to declare MMIO as non-posted
arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h
dt-bindings: interrupt-controller: Add DT bindings for apple-aic
irqchip/apple-aic: Add support for the Apple Interrupt Controller
arm64: Kconfig: Introduce CONFIG_ARCH_APPLE
dt-bindings: display: Add apple,simple-framebuffer
arm64: apple: Add initial Apple Mac mini (M1, 2020) devicetree
asm-generic/io.h: Unbork ioremap_np() declaration
Documentation/devicetree/bindings/arm/apple.yaml | 64 ++
Documentation/devicetree/bindings/arm/cpus.yaml | 2 +
.../bindings/display/simple-framebuffer.yaml | 5 +
.../bindings/interrupt-controller/apple,aic.yaml | 88 +++
.../devicetree/bindings/timer/arm,arch_timer.yaml | 19 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
Documentation/driver-api/device-io.rst | 356 +++++++++
Documentation/driver-api/driver-model/devres.rst | 1 +
MAINTAINERS | 14 +
arch/arm64/Kconfig.platforms | 7 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/apple/Makefile | 2 +
arch/arm64/boot/dts/apple/t8103-j274.dts | 45 ++
arch/arm64/boot/dts/apple/t8103.dtsi | 135 ++++
arch/arm64/configs/defconfig | 1 +
arch/arm64/include/asm/cputype.h | 6 +
arch/arm64/include/asm/io.h | 11 +-
arch/arm64/include/asm/sysreg.h | 60 ++
arch/sparc/include/asm/io_64.h | 4 +
drivers/clocksource/arm_arch_timer.c | 24 +-
drivers/irqchip/Kconfig | 8 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-apple-aic.c | 852 +++++++++++++++++++++
drivers/of/address.c | 43 +-
include/asm-generic/io.h | 21 +-
include/asm-generic/iomap.h | 9 +
include/clocksource/arm_arch_timer.h | 1 +
.../dt-bindings/interrupt-controller/apple-aic.h | 15 +
include/linux/cpuhotplug.h | 1 +
include/linux/io.h | 18 +-
include/linux/ioport.h | 1 +
include/linux/irqchip/arm-gic-v3.h | 56 --
lib/devres.c | 22 +
33 files changed, 1815 insertions(+), 80 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/apple.yaml
create mode 100644
Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
create mode 100644 arch/arm64/boot/dts/apple/Makefile
create mode 100644 arch/arm64/boot/dts/apple/t8103-j274.dts
create mode 100644 arch/arm64/boot/dts/apple/t8103.dtsi
create mode 100644 drivers/irqchip/irq-apple-aic.c
create mode 100644 include/dt-bindings/interrupt-controller/apple-aic.h
More information about the linux-arm-kernel
mailing list