arm: apple: Switch to board based text env

The main use case for u-boot on Apple silicon based devices is to
provide an EFI based bootloader for operating systems. This uses a
generic u-boot image with DTBs passed from an earlier boot loader
(m1n1). Use the generic board name "mac" for this purpose.

Signed-off-by: Janne Grunau <j@jannau.net>
This commit is contained in:
Janne Grunau
2026-05-01 00:31:16 +02:00
committed by Tom Rini
parent 1b5500cefe
commit 0f0ff73bac
8 changed files with 23 additions and 21 deletions

View File

@@ -137,6 +137,7 @@ R: Janne Grunau <j@jannau.net>
S: Maintained
F: arch/arm/include/asm/arch-apple/
F: arch/arm/mach-apple/
F: board/apple/
F: configs/apple_m1_defconfig
F: doc/board/apple/
F: drivers/input/apple_spi_kbd.c

View File

@@ -3,12 +3,22 @@ if ARCH_APPLE
config TEXT_BASE
default 0x00000000
config SYS_CONFIG_NAME
default "apple"
config SYS_SOC
default "apple"
config SYS_VENDOR
default "apple"
config SYS_BOARD
string "Board name"
default "mac"
help
This option contains information about board name.
Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
be used.
Apple silicon based devices are expected to use the generic board name
"mac".
config SYS_MALLOC_LEN
default 0x4000000

View File

@@ -11,6 +11,7 @@
#include <asm/io.h>
#include <asm/arch/rtkit.h>
#include <linux/iopoll.h>
#include <linux/sizes.h>
/* ASC registers */
#define REG_CPU_CTRL 0x0044

4
board/apple/mac/mac.env Normal file
View File

@@ -0,0 +1,4 @@
stdin=serial,usbkbd,spikbd
stdout=vidconsole,serial
stderr=vidconsole,serial
boot_targets=nvme usb

View File

@@ -29,3 +29,5 @@ CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_NO_FB_CLEAR=y
CONFIG_VIDEO_SIMPLE=y
CONFIG_GENERATE_SMBIOS_TABLE_VERBOSE=y
CONFIG_SYS_VENDOR=apple
CONFIG_SYS_BOARD=mac

View File

@@ -6,6 +6,7 @@
#include <cpu_func.h>
#include <dm.h>
#include <iommu.h>
#include <linux/sizes.h>
#include <lmb.h>
#include <memalign.h>
#include <asm/io.h>

View File

@@ -13,6 +13,7 @@
#include <asm/arch/rtkit.h>
#include <asm/arch/sart.h>
#include <linux/iopoll.h>
#include <linux/sizes.h>
/* ASC registers */
#define REG_CPU_CTRL 0x0044

View File

@@ -1,18 +0,0 @@
#ifndef __CONFIG_H
#define __CONFIG_H
#include <linux/sizes.h>
/* Environment */
#define ENV_DEVICE_SETTINGS \
"stdin=serial,usbkbd,spikbd\0" \
"stdout=vidconsole,serial\0" \
"stderr=vidconsole,serial\0"
#define BOOT_TARGETS "nvme usb"
#define CFG_EXTRA_ENV_SETTINGS \
ENV_DEVICE_SETTINGS \
"boot_targets=" BOOT_TARGETS "\0"
#endif