summaryrefslogtreecommitdiff
path: root/configs/apple_m1_defconfig
AgeCommit message (Collapse)Author
2026-05-25configs: Resync with savedefconfigTom Rini
Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini <[email protected]>
2026-05-12Merge patch series "Switch Apple silicon boards to upstream device trees"Tom Rini
Janne Grunau <[email protected]> says: The Linux device trees for Apple silicon devices cover now most of the hardware as u-boot's internal device trees for M1 devices. Linux has in addition device trees M2 and M1 and M2 Pro/Max/Ultra devices which were never added in u-boot. The most common use case for u-boot on Apple silicon devices does not use DTBs from u-boot but passes runtime modified device trees from an earlier boot loader (m1n1). This change regresses support for the SPI on M1 and M1 Pro/Max notebooks as SPI keyboard support is not in upstream Linux. This regression is in my opinion acceptable due to the limited use of u-boot's DTBs for these targets. Link: https://lore.kernel.org/r/[email protected]
2026-05-12arm: dts: Switch Apple silicon devices to dts/upstreamJanne Grunau
The device tree on Apple silicon devices is passed from a previous bootloader stage. The bootloader fills in dynamic information so u-boot can not use its own device tree. As documented in doc/board/apple/m1.rst it is possible to build boot bundles (bootloader + device tree + gzipped u-boot binary). These are useful for testing. Instead of using u-boot's own device trees for M1 (t8103) devices use upstream device trees from dts/upstream/src/arm64/apple. The u-boot device trees have not seen updates since 2022. The upstream linux device trees have feature parity for the M1 devices. In addition linux has device trees for M1 Pro/Max/Ultra, M2 and M2 Pro/Max/Ultra devices. Keep t8103-j274 as default device tree to avoid further updates. Signed-off-by: Janne Grunau <[email protected]> Acked-by: Mark Kettenis <[email protected]>
2026-05-12arm: apple: Switch to board based text envJanne Grunau
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 <[email protected]>
2026-01-27configs: apple: Enable SMBIOS / sysinfoJanne Grunau
Enable verbose SMBIOS table generation so that user space applications can use the SMBIOS table to provide details about the system. The desired information is chassis-type to determine whether the system is laptop. Adding the chassis-type property is proposed for the upstream device trees in the Linux kernel in [1]. Enable CMD_SMBIOS as debugging aid as the platform can easily deal with large u-boot binaries. Link: https://lore.kernel.org/asahi/[email protected]/ [1] Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Janne Grunau <[email protected]> Reviewed-by: Neal Gompa <[email protected]> Reviewed-by: Mark Kettenis <[email protected]>
2024-10-16net: introduce alternative implementation as net/lwip/Jerome Forissier
Prepare the introduction of the lwIP (lightweight IP) TCP/IP stack by adding a new net/lwip/ directory and the NET_LWIP symbol. Network support is either NO_NET, NET (legacy stack) or NET_LWIP. Subsequent commits will introduce the lwIP code, re-work the NETDEVICE integration and port some of the NET commands and features to lwIP. SPL_NET cannot be enabled when NET_LWIP=y. SPL_NET pulls some symbols that are part of NET (such as arp_init(), arp_timeout_check(), arp_receive(), net_arp_wait_packet_ip()). lwIP support in SPL may be added later. Similarly, DFU_TFTP and FASTBOOT are not compatible with NET_LWIP because of dependencies on net_loop(), tftp_timeout_ms, tftp_timeout_count_max and other NET things. Let's add a dependency on !NET_LWIP for now. SANDBOX can select NET_LWIP but doing so will currently disable the eth dm tests as well as the wget tests which have strong dependencies on the NET code. Other adjustments to Kconfig files are made to fix "unmet direct dependencies detected" for USB_FUNCTION_SDP and CMD_FASTBOOT when the default networking stack is set to NET_LWIP ("default NET_LWIP" instead of "default NET" in Kconfig). The networking stack is now a choice between NO_NET, NET and NET_LWIP. Therefore '# CONFIG_NET is not set' should be 'CONFIG_NO_NET=y'. Adjust the defconfigs accordingly. Signed-off-by: Jerome Forissier <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2024-10-08configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <[email protected]>
2024-09-03lmb: remove config symbols used for lmb region countSughosh Ganu
The LMB memory maps are now being maintained through a couple of alloced lists, one for the available(added) memory, and one for the used memory. These lists are not static arrays but can be extended at runtime. Remove the config symbols which were being used to define the size of these lists with the earlier implementation of static arrays. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-04-22configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <[email protected]>
2024-04-22arm: apple: Do not list bootflows on bootJanne Grunau
The bootflow list is only seen briefly and is probably more confusing than helpful. Signed-off-by: Janne Grunau <[email protected]> Reviewed-by: Neal Gompa <[email protected]> Reviewed-by: Mark Kettenis <[email protected]>
2024-04-22configs: apple: Enable CMD_SELECT_FONT and FONT_16X32Janne Grunau
Apple devices have high DPI displays so the larger fonts are preferable for improved readability. This does not yet change the used font based on the display's pixel density so the standard 8x16 font is still used by default. Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Neal Gompa <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
2024-04-22apple_m1_defconfig: Turn on CONFIG_SYS_64BIT_LBAHector Martin
This makes USB HDDs >2TiB work. The only reason this hasn't bitten us for the internal NVMe yet is the 4K sector size, because the largest SSD Apple sells is 8TB and we can handle up to 16TiB with that sector size. Close call. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Neal Gompa <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
2024-01-03configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <[email protected]>
2023-12-26arm: apple: Disable SMBIOS againMark Kettenis
Apple machines do not have memory below 4G. Since U-Boot does not support the SMBIOS 3 header structures this means we can't support SMBIOS on these machines. Unfortunately the refactoring of the SMBIOS code this cycle accidentally enabled it again. Fixes: 53fab13a7b1 ("efi: Use the installed SMBIOS tables") Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-14phy: Add support for the Apple Type-C PHYMark Kettenis
This is merely a dummy driver that makes sure the DWC3 XHCI driver finds its reset and PHY controllers. We rely on iBoot to set up the PHY for us. Signed-off-by: Mark Kettenis <[email protected]>
2023-03-29apple_m1_defconfig: Bump CONFIG_LMB_MAX_REGIONS to 64Janne Grunau
Apple silicon SoCs have numerous embedded co-processors with pre-loaded firmware. The co-processors text and data sections need to be mapped via DART iommus controlled by the main processor. Those sections are exported as reserved-memory. Bump CONFIG_LMB_MAX_REGIONS from 8 to 64 to deal with the large amount of reserved-memory regions. Signed-off-by: Janne Grunau <[email protected]> Reviewed-by: Mark Kettenis <[email protected]>
2023-01-27arm: apple: Enable PCIe USB controllerMark Kettenis
Some Apple Silicon machines have a PCIe XHCI controller in additon to the DWC3 controllers integrated on the SoC. On the Mac mini the Type-A ports are handled by this PCIe controller. Enabling it allows the use of these ports in U-Boot. Signed-off-by: Mark Kettenis <[email protected]>
2022-07-07Convert CONFIG_SYS_BOOTM_LEN to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_BOOTM_LEN As part of this, rework error handling in boot/bootm.c so that we pass the buffer size to handle_decomp_error as CONFIG_SYS_BOOTM_LEN will not be available to host tools but we do know the size that we passed to malloc(). Cc: Soeren Moch <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-06-06Convert CONFIG_SYS_CBSIZE to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_CBSIZE Signed-off-by: Tom Rini <[email protected]>
2022-06-06Convert CONFIG_SYS_PBSIZE to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_PBSIZE Signed-off-by: Tom Rini <[email protected]>
2022-04-22arm: apple: Don't clear framebufferMark Kettenis
Enable CONFIG_NO_FB_CLEAR to preserve the Asahi logo. Since that logo is drawn on a black background also enable CONFIG_SYS_WHITE_ON_BLACK such that text printed by U-Boot is still visible. Signed-off-by: Mark Kettenis <[email protected]>
2022-03-28configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <[email protected]>
2022-02-28arm: apple: Switch to fully dynamic mem layoutJanne Grunau
Support for Apple M1 Pro and Max will allow using a single binary for all M1 SoCs. The M1 Pro/Max have a different memory layout. The RAM start address is 0x100_0000_0000 instead of 0x8_0000_0000. Replace the hardcoded memory layout with dynamic initialized environment variables in board_late_init(). Tested on Mac Mini (2020) and Macbook Pro 14-inch (2021). Signed-off-by: Janne Grunau <[email protected]> Reviewed-by: Mark Kettenis <[email protected]>
2022-02-21arm: apple: Disable debug UARTMark Kettenis
The address of the debug UART varies differs between the M1 and the M1 Pro/Max SoCs. So we have to disable it to make a single U-Boot binary that works on all SoC generations. Leave the settings for the base address and clock rate of the M1 in place to make it easier to re-enable the debug UART when needed. Signed-off-by: Mark Kettenis <[email protected]>
2022-02-14configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <[email protected]>
2022-02-10apple: Fix debug uart clock rateMark Kettenis
The clock rate for the serial console on Apple M1 systems is 24 MHz instead of 240 kHz. Signed-off-by: Mark Kettenis <[email protected]>
2022-02-10input: apple: Add support for Apple SPI keyboardMark Kettenis
This driver adds support for the keyboard on Apple Silicon laptops. The controller for this keyboard sits on an SPI bus and uses an Apple-specific HID over SPI protocol. The packets sent by this controller for key presses and key releases are fairly simple and are decoded directly by the code in this driver and converted into standard Linux keycodes. The same controller handles the touchpad found on these laptops. Packets for touchpad events are simply ignored. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested on: Macbook Air M1 Tested-by: Simon Glass <[email protected]>
2022-02-10nvme: apple: Add driver for Apple NVMe storage controllerMark Kettenis
Add a driver for the NVMe storage controller integrated on Apple SoCs. This NVMe controller isn't PCI based and deviates from the NVMe standard in its implementation of the command submission queue and the integration of an NVMMU that needs to be managed. This commit tweaks the core NVMe code to support the linear command submission queue implemented by this controller. But setting up the submission queue and managing the NVMMU controller is handled by implementing the driver ops that were added in an earlier commit. Signed-off-by: Mark Kettenis <[email protected]> Tested-on: firefly-rk3399 Tested-by: Mark Kettenis <[email protected]> Tested on: Macbook Air M1 Tested-by: Simon Glass <[email protected]>
2021-11-01configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <[email protected]>
2021-10-31arm: dts: apple: Add preliminary device treesMark Kettenis
Add preliminary device trees for the Apple M1 mini (2020) and Apple M1 Macbook Pro 13" (2020). Device tree bindings for the Apple M1 SoC are still being formalized and these device trees will be synchronized with the Linux kernel as needed. The device trees in this commit are based on the initial Apple M1 device trees from Linux 5.13, nodes for dart, pcie, pinctrl, pmgr, usb based on bindings on track for inclusion in Linux 5.15 and 5.16 and nodes for i2c, mailbox, nvme, pmu, spmi and watchdog that don't have a proposed binding yet. These device trees are provided as a reference only as U-Boot uses the device tree passed by the m1n1 bootloader. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-31serial: s5p: Add Apple M1 supportMark Kettenis
Apple M1 SoCs include an S5L UART which is a variant of the S5P UART. Add support for this variant and enable it by default on Apple SoCs. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-31arm: apple: Add initial support for Apple's M1 SoCMark Kettenis
Add support for Apple's M1 SoC that is used in "Apple Silicon" Macs. This builds a basic U-Boot that can be used as a payload for the m1n1 boot loader being developed by the Asahi Linux project. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Simon Glass <[email protected]> [trini: Add MAINTAINERS entry]