> Date: Tue, 29 Aug 2023 22:13:53 +0300 > From: Ivaylo Ivanov <ivo.iva...@null.net> > > 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.
ok, well, most of the code you're moving isn't really M1/M2 specific. Apple uses RTKit all over the place. And some of the SoCs you mention are really close to M1/M2. And the older ones have a lot of Samsung heritage so I'm not sure they belong under mach-apple ... Also, unless you actually have code to support other Apple SoCs, this just causes disruption for upstreaming more of the M1/M2 code. So I think this is best left alone until you actually show your code and we can see how to integrate it. > > 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 > >> > >> >