mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
e479a7d52e
This introduces initial support for the popular Qualcomm IPQ40x8 and IPQ40x9 WiSoC series. IPQ40xx series have 4x Cortex A7 ARM-v7A cores. Supported are: IPQ4018, IPQ4019, IPQ4028 and IPQ4029. IPQ40x8 and IPQ40x9 use the same cores, but differ in addressable RAM size (1GB for IPQ40x9 and 256MB for IPQ40x8) and supported peripherals (IPQ40x8 lacks RGMII, LCD controller and EMMC/SDHCI controllers). IQP4028/IPQ4029 models differ from IPQ4018/IPQ4019 only by their rated temperatures rates with IPQ402X models being rated for wider temperature ranges. Initially this supports: * Simple clock driver (Only for UART1 now, will be extended) * Pinctrl driver (Supports UARTX and GPIO now, will be extended) * GPIOs already supported by msm_gpio driver with updates * UARTs already supported by serial_msm driver with updates Further peripherals will come in later patches. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
121 lines
3.8 KiB
Makefile
121 lines
3.8 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0+
|
|
|
|
ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_ARCH_TEGRA),yy)
|
|
CONFIG_CPU_V7A=
|
|
CONFIG_CPU_ARM720T=y
|
|
endif
|
|
|
|
# This selects which instruction set is used.
|
|
arch-$(CONFIG_CPU_ARM720T) =-march=armv4
|
|
arch-$(CONFIG_CPU_ARM920T) =-march=armv4t
|
|
arch-$(CONFIG_CPU_ARM926EJS) =-march=armv5te
|
|
arch-$(CONFIG_CPU_ARM946ES) =-march=armv5te
|
|
arch-$(CONFIG_CPU_SA1100) =-march=armv4
|
|
arch-$(CONFIG_CPU_PXA) =
|
|
arch-$(CONFIG_CPU_ARM1136) =-march=armv5t
|
|
arch-$(CONFIG_CPU_ARM1176) =-march=armv5t
|
|
arch-$(CONFIG_CPU_V7A) =$(call cc-option, -march=armv7-a, \
|
|
$(call cc-option, -march=armv7))
|
|
arch-$(CONFIG_CPU_V7M) =-march=armv7-m
|
|
arch-$(CONFIG_CPU_V7R) =-march=armv7-r
|
|
arch-$(CONFIG_ARM64) =-march=armv8-a
|
|
|
|
# On Tegra systems we must build SPL for the armv4 core on the device
|
|
# but otherwise we can use the value in CONFIG_SYS_ARM_ARCH
|
|
ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_ARCH_TEGRA),yy)
|
|
arch-y += -D__LINUX_ARM_ARCH__=4
|
|
else
|
|
arch-y += -D__LINUX_ARM_ARCH__=$(CONFIG_SYS_ARM_ARCH)
|
|
endif
|
|
|
|
# Evaluate arch cc-option calls now
|
|
arch-y := $(arch-y)
|
|
|
|
# This selects how we optimise for the processor.
|
|
tune-$(CONFIG_CPU_ARM720T) =-mtune=arm7tdmi
|
|
tune-$(CONFIG_CPU_ARM920T) =
|
|
tune-$(CONFIG_CPU_ARM926EJS) =
|
|
tune-$(CONFIG_CPU_ARM946ES) =
|
|
tune-$(CONFIG_CPU_SA1100) =-mtune=strongarm1100
|
|
tune-$(CONFIG_CPU_PXA) =-mcpu=xscale
|
|
tune-$(CONFIG_CPU_ARM1136) =
|
|
tune-$(CONFIG_CPU_ARM1176) =
|
|
tune-$(CONFIG_CPU_V7A) =-mtune=generic-armv7-a
|
|
tune-$(CONFIG_CPU_V7R) =
|
|
tune-$(CONFIG_ARM64) =
|
|
|
|
# Evaluate tune cc-option calls now
|
|
tune-y := $(tune-y)
|
|
|
|
PLATFORM_CPPFLAGS += $(arch-y) $(tune-y)
|
|
|
|
# Machine directory name. This list is sorted alphanumerically
|
|
# by CONFIG_* macro name.
|
|
machine-$(CONFIG_ARCH_ASPEED) += aspeed
|
|
machine-$(CONFIG_ARCH_AT91) += at91
|
|
machine-$(CONFIG_ARCH_BCM283X) += bcm283x
|
|
machine-$(CONFIG_ARCH_BCMSTB) += bcmstb
|
|
machine-$(CONFIG_ARCH_DAVINCI) += davinci
|
|
machine-$(CONFIG_ARCH_EXYNOS) += exynos
|
|
machine-$(CONFIG_ARCH_HIGHBANK) += highbank
|
|
machine-$(CONFIG_ARCH_IPQ40XX) += ipq40xx
|
|
machine-$(CONFIG_ARCH_K3) += k3
|
|
machine-$(CONFIG_ARCH_KEYSTONE) += keystone
|
|
machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood
|
|
machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx
|
|
machine-$(CONFIG_ARCH_MEDIATEK) += mediatek
|
|
machine-$(CONFIG_ARCH_MESON) += meson
|
|
machine-$(CONFIG_ARCH_MVEBU) += mvebu
|
|
machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2
|
|
machine-$(CONFIG_ARCH_ORION5X) += orion5x
|
|
machine-$(CONFIG_ARCH_OWL) += owl
|
|
machine-$(CONFIG_ARCH_RMOBILE) += rmobile
|
|
machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip
|
|
machine-$(CONFIG_ARCH_S5PC1XX) += s5pc1xx
|
|
machine-$(CONFIG_ARCH_SNAPDRAGON) += snapdragon
|
|
machine-$(CONFIG_ARCH_SOCFPGA) += socfpga
|
|
machine-$(CONFIG_ARCH_STM32) += stm32
|
|
machine-$(CONFIG_ARCH_STM32MP) += stm32mp
|
|
machine-$(CONFIG_ARCH_SUNXI) += sunxi
|
|
machine-$(CONFIG_ARCH_TEGRA) += tegra
|
|
machine-$(CONFIG_ARCH_U8500) += u8500
|
|
machine-$(CONFIG_ARCH_UNIPHIER) += uniphier
|
|
machine-$(CONFIG_ARCH_VERSAL) += versal
|
|
machine-$(CONFIG_ARCH_ZYNQ) += zynq
|
|
machine-$(CONFIG_ARCH_ZYNQMP) += zynqmp
|
|
machine-$(CONFIG_ARCH_ZYNQMP_R5) += zynqmp-r5
|
|
|
|
machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
|
|
|
|
PLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
|
|
|
|
libs-y += $(machdirs)
|
|
|
|
head-y := arch/arm/cpu/$(CPU)/start.o
|
|
|
|
ifeq ($(CONFIG_SPL_BUILD),y)
|
|
ifneq ($(CONFIG_SPL_START_S_PATH),)
|
|
head-y := $(CONFIG_SPL_START_S_PATH:"%"=%)/start.o
|
|
endif
|
|
endif
|
|
|
|
libs-y += arch/arm/cpu/$(CPU)/
|
|
libs-y += arch/arm/cpu/
|
|
libs-y += arch/arm/lib/
|
|
|
|
ifeq ($(CONFIG_SPL_BUILD),y)
|
|
ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35 imx8m imx8 imxrt))
|
|
libs-y += arch/arm/mach-imx/
|
|
endif
|
|
else
|
|
ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx7ulp mx31 mx35 mxs imx8m imx8 imxrt vf610))
|
|
libs-y += arch/arm/mach-imx/
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter $(SOC), kirkwood))
|
|
libs-y += arch/arm/mach-mvebu/
|
|
endif
|
|
|
|
# deprecated
|
|
-include $(machdirs)/config.mk
|