I'm currently working on S5L8950X. I also have some T7000 and T8010 devices that I'll work on in the future.
There's a project called freemyipod that has a fork of U-Boot working on iPod Nano's (specifically the S5L8730 in the iPod Nano 5). I've read that they're planning on upstreaming it in the near future. On 8/29/23 20:43, Mark Kettenis wrote: >> From: ivo.iva...@null.net >> Date: Tue, 29 Aug 2023 20:25:19 +0300 >> >> From: Ivaylo Ivanov <ivo.iva...@null.net> >> >> Currently, mach-apple assumes we're working with M1/M2. Make room for >> adding support for other Apple SoCs by moving everything from the M1/M2 >> SoC family in "mach-apple/" into "mach-apple/m1/". > > Which other Apple SoCs? > >> Signed-off-by: Ivaylo Ivanov <ivo.iva...@null.net> >> --- >> arch/arm/Kconfig | 29 -------------- >> arch/arm/mach-apple/Kconfig | 42 ++++++++++++++++++++ >> arch/arm/mach-apple/Makefile | 5 +-- >> arch/arm/mach-apple/m1/Makefile | 6 +++ >> arch/arm/mach-apple/{ => m1}/board.c | 0 >> arch/arm/mach-apple/{ => m1}/lowlevel_init.S | 0 >> arch/arm/mach-apple/{ => m1}/rtkit.c | 0 >> arch/arm/mach-apple/{ => m1}/sart.c | 0 >> configs/apple_m1_defconfig | 1 + >> 9 files changed, 50 insertions(+), 33 deletions(-) >> create mode 100644 arch/arm/mach-apple/m1/Makefile >> rename arch/arm/mach-apple/{ => m1}/board.c (100%) >> rename arch/arm/mach-apple/{ => m1}/lowlevel_init.S (100%) >> rename arch/arm/mach-apple/{ => m1}/rtkit.c (100%) >> rename arch/arm/mach-apple/{ => m1}/sart.c (100%) >> >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >> index 97c25b4f14..5339da370c 100644 >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -980,38 +980,9 @@ config ARCH_NPCM >> >> config ARCH_APPLE >> bool "Apple SoCs" >> - select ARM64 >> - select CLK >> - select CMD_PCI >> - select CMD_USB >> select DM >> - select DM_GPIO >> - select DM_KEYBOARD >> - select DM_MAILBOX >> select DM_RESET >> select DM_SERIAL >> - select DM_SPI >> - select DM_USB >> - select VIDEO >> - select IOMMU >> - select LINUX_KERNEL_IMAGE_HEADER >> - select OF_BOARD_SETUP >> - select OF_CONTROL >> - select PCI >> - select PINCTRL >> - select POSITION_INDEPENDENT >> - select POWER_DOMAIN >> - select REGMAP >> - select SPI >> - select SYSCON >> - select SYSRESET >> - select SYSRESET_WATCHDOG >> - select SYSRESET_WATCHDOG_AUTO >> - select USB >> - imply CMD_DM >> - imply CMD_GPT >> - imply DISTRO_DEFAULTS >> - imply OF_HAS_PRIOR_STAGE >> >> config ARCH_OWL >> bool "Actions Semi OWL SoCs" >> diff --git a/arch/arm/mach-apple/Kconfig b/arch/arm/mach-apple/Kconfig >> index 294690ec0e..a38779b387 100644 >> --- a/arch/arm/mach-apple/Kconfig >> +++ b/arch/arm/mach-apple/Kconfig >> @@ -3,6 +3,46 @@ if ARCH_APPLE >> config TEXT_BASE >> default 0x00000000 >> >> +choice >> + prompt "Apple Silicon architecture type select" >> + optional >> + >> +config ARCH_APPLE_M1 >> + bool "Apple M1/M2 SoC family" >> + select ARM64 >> + select CLK >> + select CMD_PCI >> + select CMD_USB >> + select DM_GPIO >> + select DM_KEYBOARD >> + select DM_MAILBOX >> + select DM_SPI >> + select DM_USB >> + select VIDEO >> + select IOMMU >> + select LINUX_KERNEL_IMAGE_HEADER >> + select OF_BOARD_SETUP >> + select OF_CONTROL >> + select PCI >> + select PINCTRL >> + select POSITION_INDEPENDENT >> + select POWER_DOMAIN >> + select REGMAP >> + select SPI >> + select SYSCON >> + select SYSRESET >> + select SYSRESET_WATCHDOG >> + select SYSRESET_WATCHDOG_AUTO >> + select USB >> + imply CMD_DM >> + imply CMD_GPT >> + imply DISTRO_DEFAULTS >> + imply OF_HAS_PRIOR_STAGE >> + >> +endchoice >> + >> +if ARCH_APPLE_M1 >> + >> config SYS_CONFIG_NAME >> default "apple" >> >> @@ -19,3 +59,5 @@ config LNX_KRNL_IMG_TEXT_OFFSET_BASE >> default TEXT_BASE >> >> endif >> + >> +endif >> diff --git a/arch/arm/mach-apple/Makefile b/arch/arm/mach-apple/Makefile >> index 50b465b947..d147ccdde2 100644 >> --- a/arch/arm/mach-apple/Makefile >> +++ b/arch/arm/mach-apple/Makefile >> @@ -1,6 +1,3 @@ >> # SPDX-License-Identifier: GPL-2.0+ >> >> -obj-y += board.o >> -obj-y += lowlevel_init.o >> -obj-y += rtkit.o >> -obj-$(CONFIG_NVME_APPLE) += sart.o >> +obj-$(CONFIG_ARCH_APPLE_M1) += m1/ >> diff --git a/arch/arm/mach-apple/m1/Makefile >> b/arch/arm/mach-apple/m1/Makefile >> new file mode 100644 >> index 0000000000..50b465b947 >> --- /dev/null >> +++ b/arch/arm/mach-apple/m1/Makefile >> @@ -0,0 +1,6 @@ >> +# SPDX-License-Identifier: GPL-2.0+ >> + >> +obj-y += board.o >> +obj-y += lowlevel_init.o >> +obj-y += rtkit.o >> +obj-$(CONFIG_NVME_APPLE) += sart.o >> diff --git a/arch/arm/mach-apple/board.c b/arch/arm/mach-apple/m1/board.c >> similarity index 100% >> rename from arch/arm/mach-apple/board.c >> rename to arch/arm/mach-apple/m1/board.c >> diff --git a/arch/arm/mach-apple/lowlevel_init.S >> b/arch/arm/mach-apple/m1/lowlevel_init.S >> similarity index 100% >> rename from arch/arm/mach-apple/lowlevel_init.S >> rename to arch/arm/mach-apple/m1/lowlevel_init.S >> diff --git a/arch/arm/mach-apple/rtkit.c b/arch/arm/mach-apple/m1/rtkit.c >> similarity index 100% >> rename from arch/arm/mach-apple/rtkit.c >> rename to arch/arm/mach-apple/m1/rtkit.c >> diff --git a/arch/arm/mach-apple/sart.c b/arch/arm/mach-apple/m1/sart.c >> similarity index 100% >> rename from arch/arm/mach-apple/sart.c >> rename to arch/arm/mach-apple/m1/sart.c >> diff --git a/configs/apple_m1_defconfig b/configs/apple_m1_defconfig >> index 755560971e..bd723881da 100644 >> --- a/configs/apple_m1_defconfig >> +++ b/configs/apple_m1_defconfig >> @@ -1,5 +1,6 @@ >> CONFIG_ARM=y >> CONFIG_ARCH_APPLE=y >> +CONFIG_ARCH_APPLE_M1=y >> CONFIG_DEFAULT_DEVICE_TREE="t8103-j274" >> CONFIG_SYS_LOAD_ADDR=0x0 >> CONFIG_USE_PREBOOT=y >> -- >> 2.34.1 >> >>