Files
u-boot/arch/m68k/Kconfig
Tom Rini 1de103fc29 Merge patch series "m68k: Add support for QEMU virt machine"
Kuan-Wei Chiu <visitorckw@gmail.com> says:

Add support for the QEMU 'virt' machine on the m68k architecture. The
QEMU virt machine models a generic system utilizing Goldfish virtual
peripherals and is capable of emulating various classic 68k CPUs.

Currently, U-Boot's m68k architecture support focuses on ColdFire
variants. This series expands support to include the classic M680x0
architecture, implementing the necessary exception vectors, startup
code, and a bootinfo parser compatible with the QEMU interface.

Drivers for Goldfish peripherals (TTY, Timer, RTC) and the QEMU
Virtual System Controller (sysreset) are also added to enable serial
console, timekeeping, and system reset functionality.

The implementation has been verified on QEMU targeting the M68040 CPU,
confirming successful hardware initialization and boot to the U-Boot
command shell. Additionally, the CI configuration was verified locally
using gitlab-ci-local "qemu_m68k_virt test.py", resulting in
PASS qemu_m68k_virt test.py.

Link: https://lore.kernel.org/r/20260107201838.3448806-1-visitorckw@gmail.com
[trini: Re-sort MAINTAINERS entries]
Signed-off-by: Tom Rini <trini@konsulko.com>
2026-02-02 14:25:48 -06:00

248 lines
3.9 KiB
Plaintext

menu "M68000 architecture"
depends on M68K
config SYS_ARCH
default "m68k"
config STATIC_RELA
default y
# processor family
config MCF520x
select OF_CONTROL
select DM
select DM_SERIAL
select ARCH_COLDFIRE
bool
config MCF52x2
select OF_CONTROL
select DM
select DM_SERIAL
select ARCH_COLDFIRE
bool
config MCF523x
select OF_CONTROL
select DM
select DM_SERIAL
select ARCH_COLDFIRE
bool
config MCF530x
select OF_CONTROL
select DM
select DM_SERIAL
select ARCH_COLDFIRE
bool
config MCF5301x
select OF_CONTROL
select DM
select DM_SERIAL
select ARCH_COLDFIRE
bool
config MCF532x
select OF_CONTROL
select DM
select DM_SERIAL
select ARCH_COLDFIRE
bool
config MCF537x
select OF_CONTROL
select DM
select DM_SERIAL
select ARCH_COLDFIRE
bool
config MCF5441x
select OF_CONTROL
select DM
select DM_SERIAL
select ARCH_COLDFIRE
bool
config M680x0
bool
help
This enables support for the classic Motorola 68000 family of
processors.
# processor type
config M5208
bool
select MCF520x
config M5235
bool
select MCF523x
config M5249
bool
select MCF52x2
config M5253
bool
select MCF52x2
config M5271
bool
select MCF52x2
config M5272
bool
select MCF52x2
config M5275
bool
select MCF52x2
config M5282
bool
select MCF52x2
config M5307
bool
select MCF530x
config M53015
bool
select MCF5301x
config M5329
bool
select MCF532x
config M5373
bool
select MCF532x
select MCF537x
config M54418
bool
select MCF5441x
config M68040
bool
select M680x0
# peripherals
config CF_DSPI
bool
choice
prompt "Target select"
optional
config TARGET_M5235EVB
bool "Support M5235EVB"
select M5235
config TARGET_COBRA5272
bool "Support cobra5272"
select M5272
config TARGET_EB_CPU5282
bool "Support eb_cpu5282"
select M5282
select HW_WATCHDOG
config TARGET_M5208EVBE
bool "Support M5208EVBE"
select M5208
config TARGET_M5249EVB
bool "Support M5249EVB"
select M5249
config TARGET_M5253DEMO
bool "Support M5253DEMO"
select M5253
config TARGET_M5272C3
bool "Support M5272C3"
select M5272
config TARGET_M5275EVB
bool "Support M5275EVB"
select M5275
config TARGET_M5282EVB
bool "Support M5282EVB"
select M5282
config TARGET_M53017EVB
bool "Support M53017EVB"
select M53015
config TARGET_M5329EVB
bool "Support M5329EVB"
select M5329
config TARGET_M5373EVB
bool "Support M5373EVB"
select M5373
config TARGET_AMCORE
bool "Support AMCORE"
select M5307
config TARGET_STMARK2
bool "Support stmark2"
select CF_DSPI
select M54418
config TARGET_QEMU_M68K
bool "Support QEMU m68k virt"
select M68040
imply CMD_DM
help
This target supports the QEMU m68k virtual machine (-M virt).
It simulates a Motorola 68040 CPU with Goldfish peripherals.
endchoice
config SYS_CPU
string
default "mcf52x2" if MCF52x2
default "mcf523x" if MCF523x
default "mcf530x" if MCF530x
default "mcf532x" if MCF532x
default "mcf5445x" if MCF5445x
default "m680x0" if M680x0
config ARCH_COLDFIRE
bool
source "board/BuS/eb_cpu5282/Kconfig"
source "board/cobra5272/Kconfig"
source "board/nxp/m5208evbe/Kconfig"
source "board/nxp/m5235evb/Kconfig"
source "board/nxp/m5249evb/Kconfig"
source "board/nxp/m5253demo/Kconfig"
source "board/nxp/m5272c3/Kconfig"
source "board/nxp/m5275evb/Kconfig"
source "board/nxp/m5282evb/Kconfig"
source "board/nxp/m53017evb/Kconfig"
source "board/nxp/m5329evb/Kconfig"
source "board/nxp/m5373evb/Kconfig"
source "board/sysam/amcore/Kconfig"
source "board/sysam/stmark2/Kconfig"
source "board/emulation/qemu-m68k/Kconfig"
config M68K_QEMU
bool "Build with workarounds for incomplete QEMU emulation"
help
QEMU 8.x currently does not implement RAMBAR accesses and
DMA timers. Enable this option for U-Boot CI purposes only
to skip the RAMBAR accesses.
config MCFTMR
bool "Use DMA timer"
default y if !M68K_QEMU
default n if M68K_QEMU
endmenu