X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=arch%2Farm%2FKconfig;h=a7618f9ff226c1f9987314097e2ff9178cbd7899;hb=4aba5fb857c1b0067226dbd457d51ac2b2825427;hp=b8f7a982d9c4cf4cbb6f529e605e50c506f5f36b;hpb=9c0e2f6ed391f199ba1bf30c7d0b71123a012958;p=u-boot diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b8f7a982d9..a7618f9ff2 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -74,6 +74,28 @@ config ARM_ASM_UNIFIED config THUMB2_KERNEL bool +config SYS_ARM_CACHE_CP15 + bool "CP15 based cache enabling support" + help + Select this if your processor suports enabling caches by using + CP15 registers. + +config SYS_ARM_MMU + bool "MMU-based Paged Memory Management Support" + select SYS_ARM_CACHE_CP15 + help + Select if you want MMU-based virtualised addressing space + support by paged memory management. + +config SYS_ARM_MPU + bool 'Use the ARM v7 PMSA Compliant MPU' + help + Some ARM systems without an MMU have instead a Memory Protection + Unit (MPU) that defines the type and permissions for regions of + memory. + If your CPU has an MPU then you should choose 'y' here unless you + know that you do not want to use the MPU. + # If set, the workarounds for these ARM errata are applied early during U-Boot # startup. Note that in general these options force the workarounds to be # applied; no CPU-type/version detection exists, unlike the similar options in @@ -158,47 +180,64 @@ config ARM_ERRATA_855873 config CPU_ARM720T bool select SYS_CACHE_SHIFT_5 + imply SYS_ARM_MMU config CPU_ARM920T bool select SYS_CACHE_SHIFT_5 + imply SYS_ARM_MMU config CPU_ARM926EJS bool select SYS_CACHE_SHIFT_5 + imply SYS_ARM_MMU config CPU_ARM946ES bool select SYS_CACHE_SHIFT_5 + imply SYS_ARM_MMU config CPU_ARM1136 bool select SYS_CACHE_SHIFT_5 + imply SYS_ARM_MMU config CPU_ARM1176 bool select HAS_VBAR select SYS_CACHE_SHIFT_5 + imply SYS_ARM_MMU -config CPU_V7 +config CPU_V7A bool select HAS_VBAR select HAS_THUMB2 select SYS_CACHE_SHIFT_6 + imply SYS_ARM_MMU config CPU_V7M bool select HAS_THUMB2 select THUMB2_KERNEL select SYS_CACHE_SHIFT_5 + select SYS_ARM_MPU + +config CPU_V7R + bool + select HAS_THUMB2 + select SYS_CACHE_SHIFT_6 + select SYS_ARM_MPU + select SYS_ARM_CACHE_CP15 config CPU_PXA bool select SYS_CACHE_SHIFT_5 + imply SYS_ARM_MMU config CPU_SA1100 bool select SYS_CACHE_SHIFT_5 + imply SYS_ARM_MMU config SYS_CPU default "arm720t" if CPU_ARM720T @@ -207,7 +246,8 @@ config SYS_CPU default "arm946es" if CPU_ARM946ES default "arm1136" if CPU_ARM1136 default "arm1176" if CPU_ARM1176 - default "armv7" if CPU_V7 + default "armv7" if CPU_V7A + default "armv7" if CPU_V7R default "armv7m" if CPU_V7M default "pxa" if CPU_PXA default "sa1100" if CPU_SA1100 @@ -221,8 +261,9 @@ config SYS_ARM_ARCH default 5 if CPU_ARM946ES default 6 if CPU_ARM1136 default 6 if CPU_ARM1176 - default 7 if CPU_V7 + default 7 if CPU_V7A default 7 if CPU_V7M + default 7 if CPU_V7R default 5 if CPU_PXA default 4 if CPU_SA1100 default 8 if ARM64 @@ -242,9 +283,19 @@ config SYS_CACHELINE_SIZE default 64 if SYS_CACHE_SHIFT_6 default 32 if SYS_CACHE_SHIFT_5 +config SYS_ARCH_TIMER + bool "ARM Generic Timer support" + depends on CPU_V7A || ARM64 + default y if ARM64 + help + The ARM Generic Timer (aka arch-timer) provides an architected + interface to a timer source on an SoC. + It is mandantory for ARMv8 implementation and widely available + on ARMv7 systems. + config ARM_SMCCC bool "Support for ARM SMC Calling Convention (SMCCC)" - depends on CPU_V7 || ARM64 + depends on CPU_V7A || ARM64 select ARM_PSCI_FW help Say Y here if you want to enable ARM SMC Calling Convention. @@ -379,6 +430,7 @@ config ARCH_MVEBU select DM_SERIAL select DM_SPI select DM_SPI_FLASH + select SPI config TARGET_DEVKIT3250 bool "Support devkit3250" @@ -429,11 +481,12 @@ config TARGET_SPEAR600 config TARGET_STV0991 bool "Support stv0991" - select CPU_V7 + select CPU_V7A select DM select DM_SERIAL select DM_SPI select DM_SPI_FLASH + select SPI select SPI_FLASH select PL01X_SERIAL @@ -444,22 +497,6 @@ config TARGET_X600 select SUPPORT_SPL select PL011_SERIAL -config TARGET_IMX31_PHYCORE - bool "Support imx31_phycore_eet" - select CPU_ARM1136 - select BOARD_EARLY_INIT_F - -config TARGET_IMX31_PHYCORE_EET - bool "Support imx31_phycore_eet" - select BOARD_LATE_INIT - select CPU_ARM1136 - select BOARD_EARLY_INIT_F - -config TARGET_MX31ADS - bool "Support mx31ads" - select CPU_ARM1136 - select BOARD_EARLY_INIT_F - config TARGET_MX31PDK bool "Support mx31pdk" select BOARD_LATE_INIT @@ -497,36 +534,36 @@ config ARCH_BCM283X config TARGET_VEXPRESS_CA15_TC2 bool "Support vexpress_ca15_tc2" - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select PL011_SERIAL config TARGET_VEXPRESS_CA5X2 bool "Support vexpress_ca5x2" - select CPU_V7 + select CPU_V7A select PL011_SERIAL config TARGET_VEXPRESS_CA9X4 bool "Support vexpress_ca9x4" - select CPU_V7 + select CPU_V7A select PL011_SERIAL config TARGET_BCM23550_W1D bool "Support bcm23550_w1d" - select CPU_V7 + select CPU_V7A imply CRC32_VERIFY imply FAT_WRITE config TARGET_BCM28155_AP bool "Support bcm28155_ap" - select CPU_V7 + select CPU_V7A imply CRC32_VERIFY imply FAT_WRITE config TARGET_BCMCYGNUS bool "Support bcmcygnus" - select CPU_V7 + select CPU_V7A imply CRC32_VERIFY imply CMD_HASH imply FAT_WRITE @@ -537,7 +574,7 @@ config TARGET_BCMCYGNUS config TARGET_BCMNSP bool "Support bcmnsp" - select CPU_V7 + select CPU_V7A config TARGET_BCMNS2 bool "Support Broadcom Northstar2" @@ -556,11 +593,12 @@ config ARCH_EXYNOS select DM_SPI select DM_GPIO select DM_KEYBOARD + select SPI imply FAT_WRITE config ARCH_S5PC1XX bool "Samsung S5PC1XX" - select CPU_V7 + select CPU_V7A select DM select DM_SERIAL select DM_GPIO @@ -568,7 +606,7 @@ config ARCH_S5PC1XX config ARCH_HIGHBANK bool "Calxeda Highbank" - select CPU_V7 + select CPU_V7A select PL011_SERIAL config ARCH_INTEGRATOR @@ -579,17 +617,18 @@ config ARCH_INTEGRATOR config ARCH_KEYSTONE bool "TI Keystone" - select CPU_V7 + select CPU_V7A select SUPPORT_SPL select SYS_THUMB_BUILD select CMD_POWEROFF + select SYS_ARCH_TIMER imply CMD_MTDPARTS imply FIT imply CMD_SAVES config ARCH_OMAP2PLUS bool "TI OMAP2+" - select CPU_V7 + select CPU_V7A select SPL_BOARD_INIT if SPL select SPL_STACK_R if SPL select SUPPORT_SPL @@ -597,6 +636,7 @@ config ARCH_OMAP2PLUS config ARCH_MESON bool "Amlogic Meson" + imply DISTRO_DEFAULTS help Support for the Meson SoC family developed by Amlogic Inc., targeted at media players and tablet computers. We currently @@ -627,13 +667,13 @@ config ARCH_MX28 config ARCH_MX7ULP bool "NXP MX7ULP" - select CPU_V7 + select CPU_V7A select ROM_UNIFIED_SECTIONS imply MXC_GPIO config ARCH_MX7 bool "Freescale MX7" - select CPU_V7 + select CPU_V7A select SYS_FSL_HAS_SEC if SECURE_BOOT select SYS_FSL_SEC_COMPAT_4 select SYS_FSL_SEC_LE @@ -643,7 +683,7 @@ config ARCH_MX7 config ARCH_MX6 bool "Freescale MX6" - select CPU_V7 + select CPU_V7A select SYS_FSL_HAS_SEC if SECURE_BOOT select SYS_FSL_SEC_COMPAT_4 select SYS_FSL_SEC_LE @@ -657,7 +697,7 @@ endif config ARCH_MX5 bool "Freescale MX5" - select CPU_V7 + select CPU_V7A select BOARD_EARLY_INIT_F imply MXC_GPIO @@ -693,7 +733,7 @@ config ARCH_SNAPDRAGON config ARCH_SOCFPGA bool "Altera SOCFPGA family" - select CPU_V7 + select CPU_V7A select SUPPORT_SPL select OF_CONTROL select SPL_OF_CONTROL @@ -736,6 +776,7 @@ config ARCH_SUNXI select USB_KEYBOARD if DISTRO_DEFAULTS select USE_TINY_PRINTF imply CMD_GPT + imply DISTRO_DEFAULTS imply FAT_WRITE imply OF_LIBFDT_OVERLAY imply PRE_CONSOLE_BUFFER @@ -750,7 +791,7 @@ config ARCH_SUNXI config ARCH_VF610 bool "Freescale Vybrid" - select CPU_V7 + select CPU_V7A select SYS_FSL_ERRATUM_ESDHC111 imply CMD_MTDPARTS imply NAND @@ -758,10 +799,11 @@ config ARCH_VF610 config ARCH_ZYNQ bool "Xilinx Zynq based platform" select BOARD_LATE_INIT - select CPU_V7 + select CPU_V7A select SUPPORT_SPL select OF_CONTROL select SPL_BOARD_INIT if SPL + select BOARD_EARLY_INIT_F if WDT select SPL_OF_CONTROL if SPL select DM select DM_ETH if NET @@ -775,9 +817,11 @@ config ARCH_ZYNQ select CLK select SPL_CLK if SPL select CLK_ZYNQ + select SPI imply CMD_CLK imply FAT_WRITE imply CMD_SPL + imply ARCH_EARLY_INIT_R config ARCH_ZYNQMP bool "Xilinx ZynqMP based platform" @@ -795,6 +839,7 @@ config ARCH_ZYNQMP config TEGRA bool "NVIDIA Tegra" + imply DISTRO_DEFAULTS imply FAT_WRITE config TARGET_VEXPRESS64_AEMV8A @@ -997,7 +1042,7 @@ config TARGET_LS1088ARDB config TARGET_LS1021AQDS bool "Support ls1021aqds" select BOARD_LATE_INIT - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select SUPPORT_SPL @@ -1011,7 +1056,7 @@ config TARGET_LS1021AQDS config TARGET_LS1021ATWR bool "Support ls1021atwr" select BOARD_LATE_INIT - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select SUPPORT_SPL @@ -1024,7 +1069,7 @@ config TARGET_LS1021ATWR config TARGET_LS1021AIOT bool "Support ls1021aiot" select BOARD_LATE_INIT - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select SUPPORT_SPL @@ -1140,7 +1185,7 @@ config STM32 config ARCH_STI bool "Support STMicrolectronics SoCs" - select CPU_V7 + select CPU_V7A select DM select DM_SERIAL select BLK @@ -1152,6 +1197,7 @@ config ARCH_STI config ARCH_STM32MP bool "Support STMicroelectronics STM32MP Socs with cortex A" + select ARCH_MISC_INIT select BOARD_LATE_INIT select CLK select DM @@ -1164,6 +1210,7 @@ config ARCH_STM32MP select REGMAP select SUPPORT_SPL select SYSCON + select SYSRESET select SYS_THUMB_BUILD help Support for STM32MP SoC family developed by STMicroelectronics, @@ -1190,7 +1237,9 @@ config ARCH_ROCKCHIP select DM_PWM select DM_REGULATOR select ENABLE_ARM_SOC_BOOT0_HOOK + select SPI imply CMD_FASTBOOT + imply DISTRO_DEFAULTS imply FASTBOOT imply FAT_WRITE imply USB_FUNCTION_FASTBOOT @@ -1198,6 +1247,7 @@ config ARCH_ROCKCHIP imply TPL_SYSRESET imply ADC imply SARADC_ROCKCHIP + imply SYS_NS16550 config TARGET_THUNDERX_88XX bool "Support ThunderX 88xx" @@ -1332,7 +1382,6 @@ source "board/freescale/ls1046ardb/Kconfig" source "board/freescale/ls1012aqds/Kconfig" source "board/freescale/ls1012ardb/Kconfig" source "board/freescale/ls1012afrdm/Kconfig" -source "board/freescale/mx31ads/Kconfig" source "board/freescale/mx31pdk/Kconfig" source "board/freescale/mx35pdk/Kconfig" source "board/freescale/s32v234evb/Kconfig" @@ -1342,7 +1391,6 @@ source "board/gumstix/pepper/Kconfig" source "board/h2200/Kconfig" source "board/hisilicon/hikey/Kconfig" source "board/hisilicon/poplar/Kconfig" -source "board/imx31_phycore/Kconfig" source "board/isee/igep003x/Kconfig" source "board/phytec/pcm051/Kconfig" source "board/silica/pengwyn/Kconfig" @@ -1359,6 +1407,7 @@ source "board/toradex/colibri_pxa270/Kconfig" source "board/vscom/baltos/Kconfig" source "board/woodburn/Kconfig" source "board/work-microwave/work_92105/Kconfig" +source "board/xilinx/zynqmp/Kconfig" source "board/zipitz2/Kconfig" source "arch/arm/Kconfig.debug" @@ -1366,7 +1415,7 @@ source "arch/arm/Kconfig.debug" endmenu config SPL_LDSCRIPT - default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if ARCH_MX23 || ARCH_MX28 + default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64