Hi, On 07.01.25 15:37, Jules Maselbas wrote: > Add some boilerplate, Makefiles, Kbuild. > A generic barebox-dt-2nd.img image can be build for A64 SoC using > the sunxi_v8_defconfig. > > This image can be booted from u-boot and has been tested on Pine64+, > it should work on other A64 SoC such as the pinephone, and other Pine64 > boards, it might also work on H6 SoC which uses the same sd/mmc controler. > > Signed-off-by: Jules Maselbas <jmaselbas@xxxxxxxx> After addition to MULTIARCH (really MULTIPLATFORM): Reviewed-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> Cheers, Ahmad > --- > v1->v2: > - removed RELOCATABLE and HAVE_PBL_MULTI_IMAGES from Kconfig (Ahmad) > - used __dummy__.o insead of an empty file (Ahmad) > - removed include/mach/sunxi/barebox-arm.h (Ahmad) > > arch/arm/Kconfig | 12 ++++++++++++ > arch/arm/Makefile | 1 + > arch/arm/configs/sunxi_v8_defconfig | 12 ++++++++++++ > arch/arm/mach-sunxi/Kconfig | 12 ++++++++++++ > arch/arm/mach-sunxi/Makefile | 1 + > 5 files changed, 38 insertions(+) > create mode 100644 arch/arm/configs/sunxi_v8_defconfig > create mode 100644 arch/arm/mach-sunxi/Kconfig > create mode 100644 arch/arm/mach-sunxi/Makefile > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 0251f2dcef..83adfaddf7 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -109,6 +109,17 @@ config ARCH_SOCFPGA > select CPU_V7 > select COMMON_CLK > > +config ARCH_SUNXI > + bool "Allwinner SoCs" > + depends on 64BIT > + select CLKDEV_LOOKUP > + select COMMON_CLK > + select COMMON_CLK_OF_PROVIDER > + select GPIOLIB > + select OFDEVICE > + select OFTREE > + select PINCTRL > + > config ARCH_TEGRA > bool "NVIDIA Tegra" > depends on 32BIT > @@ -256,6 +267,7 @@ source "arch/arm/mach-omap/Kconfig" > source "arch/arm/mach-pxa/Kconfig" > source "arch/arm/mach-rockchip/Kconfig" > source "arch/arm/mach-socfpga/Kconfig" > +source "arch/arm/mach-sunxi/Kconfig" > source "arch/arm/mach-stm32mp/Kconfig" > source "arch/arm/mach-versatile/Kconfig" > source "arch/arm/mach-vexpress/Kconfig" > diff --git a/arch/arm/Makefile b/arch/arm/Makefile > index 270f5dfdc1..e4041cf715 100644 > --- a/arch/arm/Makefile > +++ b/arch/arm/Makefile > @@ -102,6 +102,7 @@ machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip > machine-$(CONFIG_ARCH_SAMSUNG) += samsung > machine-$(CONFIG_ARCH_SOCFPGA) += socfpga > machine-$(CONFIG_ARCH_STM32MP) += stm32mp > +machine-$(CONFIG_ARCH_SUNXI) += sunxi > machine-$(CONFIG_ARCH_VERSATILE) += versatile > machine-$(CONFIG_ARCH_VEXPRESS) += vexpress > machine-$(CONFIG_ARCH_TEGRA) += tegra > diff --git a/arch/arm/configs/sunxi_v8_defconfig b/arch/arm/configs/sunxi_v8_defconfig > new file mode 100644 > index 0000000000..ebadd1c950 > --- /dev/null > +++ b/arch/arm/configs/sunxi_v8_defconfig > @@ -0,0 +1,12 @@ > +CONFIG_ARCH_SUNXI=y > +CONFIG_64BIT=y > +CONFIG_BOARD_ARM_GENERIC_DT=y > +CONFIG_ARCH_SUN50I_A64=y > +CONFIG_DRIVER_SERIAL_NS16550=y > +CONFIG_MCI=y > +CONFIG_MCI_SUNXI_SMHC=y > +CONFIG_CMD_DMESG=y > +CONFIG_MCI_STARTUP=y > +CONFIG_FS_FAT=y > +CONFIG_IMAGE_COMPRESSION_XZKERN=y > +CONFIG_MMU=y > diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig > new file mode 100644 > index 0000000000..e8d23772c2 > --- /dev/null > +++ b/arch/arm/mach-sunxi/Kconfig > @@ -0,0 +1,12 @@ > +if ARCH_SUNXI > + > +config ARCH_SUN50I_A64 > + bool "Allwinner A64 SoC" > + select CPU_V8 > + select CPU_SUPPORTS_64BIT_KERNEL > + select CLOCKSOURCE_ARM_ARCHITECTED_TIMER > + select PINCTRL_SUN50I_A64 > + help > + Allwinner A64 (sun50iw1) SoC > + > +endif > diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile > new file mode 100644 > index 0000000000..16a218658a > --- /dev/null > +++ b/arch/arm/mach-sunxi/Makefile > @@ -0,0 +1 @@ > +obj- := __dummy__.o -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |