[PATCH] arm: mach-apple: Move M1/M2 specifics into a separate folder
Mark Kettenis
mark.kettenis at xs4all.nl
Tue Oct 10 23:17:36 CEST 2023
> Date: Tue, 29 Aug 2023 22:13:53 +0300
> From: Ivaylo Ivanov <ivo.ivanov at 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.ivanov at null.net
> >> Date: Tue, 29 Aug 2023 20:25:19 +0300
> >>
> >> From: Ivaylo Ivanov <ivo.ivanov at 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.ivanov at 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
> >>
> >>
>
More information about the U-Boot
mailing list