mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
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>
248 lines
3.9 KiB
Plaintext
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
|