[PATCH 00/12] powerpc: Nintendo Wii U support

From: Ash Logan
Date: Tue Mar 01 2022 - 23:44:23 EST


The following patches add basic support for the Nintendo Wii U video
game console, a PowerPC system somewhat similar to the GameCube and
Wii.

This includes:
- devicetree source
- bootwrapper support
- udbg console to bootloader
- early udbg console
- interrupt controllers
- platform support
- recognition of the Espresso processor
- workaround for the discontiguous RAM blocks

This is enough to boot on hardware. dmesg pics (with a small hack to
udbg-immortal, not included):
Link: https://wiki.linux-wiiu.org/images/7/7e/Mainline-initial-dmesg1.png
Link: https://wiki.linux-wiiu.org/images/9/91/Mainline-initial-dmesg2.png

Some of the design choices (new platform > embedded6xx) were discussed
previously:
Link: https://lore.kernel.org/lkml/0020d47c-0e23-822c-33f5-ccb7ea4c1072@xxxxxxxxxxxx/T/

Turns out even less changes were needed than previously anticipated for
discontiguous memory, and KUAP is yet to give trouble. Thanks to those
who helped and discussed this.

Ash Logan (11):
dt-bindings: wiiu: Document the Nintendo Wii U devicetree
powerpc: wiiu: device tree
powerpc: wiiu: bootwrapper support
powerpc: wiiu: introduce wiiu platform
powerpc: wiiu: declare as non-coherent
powerpc: wiiu: udbg support for latteipc
powerpc: wiiu: espresso interrupt controller support
powerpc: wiiu: latte interrupt controller support
powerpc: wiiu: platform support
powerpc: wiiu: don't enforce flat memory
powerpc: wiiu: Add minimal default config

Roberto Van Eeden (1):
powerpc: espresso processor support

.../bindings/powerpc/nintendo/wiiu.yaml | 28 ++
.../powerpc/nintendo/wiiu/espresso-pic.yaml | 42 +++
.../bindings/powerpc/nintendo/wiiu/gpu7.yaml | 41 +++
.../powerpc/nintendo/wiiu/latte-ahci.yaml | 43 +++
.../powerpc/nintendo/wiiu/latte-dsp.yaml | 35 ++
.../powerpc/nintendo/wiiu/latte-pic.yaml | 46 +++
.../powerpc/nintendo/wiiu/latte-sdhci.yaml | 40 +++
.../bindings/powerpc/nintendo/wiiu/latte.yaml | 25 ++
arch/powerpc/Kconfig.debug | 9 +
arch/powerpc/boot/Makefile | 4 +
arch/powerpc/boot/dts/wiiu.dts | 327 ++++++++++++++++++
arch/powerpc/boot/wiiu-head.S | 103 ++++++
arch/powerpc/boot/wiiu.c | 73 ++++
arch/powerpc/boot/wrapper | 4 +
arch/powerpc/configs/wiiu_defconfig | 7 +
arch/powerpc/include/asm/udbg.h | 1 +
arch/powerpc/kernel/cputable.c | 16 +
arch/powerpc/kernel/head_book3s_32.S | 20 ++
arch/powerpc/kernel/udbg.c | 3 +
arch/powerpc/mm/init_32.c | 4 +-
arch/powerpc/platforms/Kconfig | 1 +
arch/powerpc/platforms/Kconfig.cputype | 2 +-
arch/powerpc/platforms/Makefile | 1 +
arch/powerpc/platforms/wiiu/Kconfig | 19 +
arch/powerpc/platforms/wiiu/Makefile | 4 +
arch/powerpc/platforms/wiiu/espresso-pic.c | 183 ++++++++++
arch/powerpc/platforms/wiiu/espresso-pic.h | 59 ++++
arch/powerpc/platforms/wiiu/latte-pic.c | 259 ++++++++++++++
arch/powerpc/platforms/wiiu/latte-pic.h | 23 ++
arch/powerpc/platforms/wiiu/setup.c | 67 ++++
arch/powerpc/platforms/wiiu/udbg_latteipc.c | 122 +++++++
arch/powerpc/platforms/wiiu/udbg_latteipc.h | 27 ++
32 files changed, 1635 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu.yaml
create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/espresso-pic.yaml
create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/gpu7.yaml
create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-ahci.yaml
create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-dsp.yaml
create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-pic.yaml
create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-sdhci.yaml
create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte.yaml
create mode 100644 arch/powerpc/boot/dts/wiiu.dts
create mode 100644 arch/powerpc/boot/wiiu-head.S
create mode 100644 arch/powerpc/boot/wiiu.c
create mode 100644 arch/powerpc/configs/wiiu_defconfig
create mode 100644 arch/powerpc/platforms/wiiu/Kconfig
create mode 100644 arch/powerpc/platforms/wiiu/Makefile
create mode 100644 arch/powerpc/platforms/wiiu/espresso-pic.c
create mode 100644 arch/powerpc/platforms/wiiu/espresso-pic.h
create mode 100644 arch/powerpc/platforms/wiiu/latte-pic.c
create mode 100644 arch/powerpc/platforms/wiiu/latte-pic.h
create mode 100644 arch/powerpc/platforms/wiiu/setup.c
create mode 100644 arch/powerpc/platforms/wiiu/udbg_latteipc.c
create mode 100644 arch/powerpc/platforms/wiiu/udbg_latteipc.h


base-commit: df0cc57e057f18e44dac8e6c18aba47ab53202f9
--
2.35.1