From: Tom Rini Date: Wed, 1 Sep 2021 11:52:08 +0000 (-0400) Subject: Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell X-Git-Url: http://git.dujemihanovic.xyz/img/static/git-favicon.png?a=commitdiff_plain;h=48cf96fbdf9cf70c4f249c0207ce57c7dff4dd55;p=u-boot.git Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell - mvebu: a38x: Define supported UART baudrates (Pali) - kwbimage: Misc improvements (Pali) - espressobin/turris_mox/turris_omnia: Enable some more devices like SATA via PCIe, SATA & NVMe (Pali) - a37xx: Remove unused CONFIG_DEBUG_UART_SHIFT options (Pali) - turris_omnia: Disable MCU watchdog in SPL when booting over UART (Marek) - kwbimage: Fix some Coverity issue (Heinrich) --- 48cf96fbdf9cf70c4f249c0207ce57c7dff4dd55 diff --cc arch/arm/mach-mvebu/cpu.c index 0b935c46fb,daf8bd66a0..0272dd7352 --- a/arch/arm/mach-mvebu/cpu.c +++ b/arch/arm/mach-mvebu/cpu.c @@@ -80,6 -81,65 +81,65 @@@ int mvebu_soc_family(void return MVEBU_SOC_UNKNOWN; } + u32 get_boot_device(void) + { + u32 val; + u32 boot_device; + + /* - * First check, if UART boot-mode is active. This can only - * be done, via the bootrom error register. Here the - * MSB marks if the UART mode is active. - */ ++ * First check, if UART boot-mode is active. This can only ++ * be done, via the bootrom error register. Here the ++ * MSB marks if the UART mode is active. ++ */ + val = readl(CONFIG_BOOTROM_ERR_REG); + boot_device = (val & BOOTROM_ERR_MODE_MASK) >> BOOTROM_ERR_MODE_OFFS; + debug("BOOTROM_REG=0x%08x boot_device=0x%x\n", val, boot_device); + if (boot_device == BOOTROM_ERR_MODE_UART) + return BOOT_DEVICE_UART; + + #ifdef CONFIG_ARMADA_38X + /* - * If the bootrom error code contains any other than zeros it's an - * error condition and the bootROM has fallen back to UART boot - */ ++ * If the bootrom error code contains any other than zeros it's an ++ * error condition and the bootROM has fallen back to UART boot ++ */ + boot_device = (val & BOOTROM_ERR_CODE_MASK) >> BOOTROM_ERR_CODE_OFFS; + if (boot_device) + return BOOT_DEVICE_UART; + #endif + + /* - * Now check the SAR register for the strapped boot-device - */ ++ * Now check the SAR register for the strapped boot-device ++ */ + val = readl(CONFIG_SAR_REG); /* SAR - Sample At Reset */ + boot_device = (val & BOOT_DEV_SEL_MASK) >> BOOT_DEV_SEL_OFFS; + debug("SAR_REG=0x%08x boot_device=0x%x\n", val, boot_device); + switch (boot_device) { + #ifdef BOOT_FROM_NAND + case BOOT_FROM_NAND: + return BOOT_DEVICE_NAND; + #endif + #ifdef BOOT_FROM_MMC + case BOOT_FROM_MMC: + case BOOT_FROM_MMC_ALT: + return BOOT_DEVICE_MMC1; + #endif + case BOOT_FROM_UART: + #ifdef BOOT_FROM_UART_ALT + case BOOT_FROM_UART_ALT: + #endif + return BOOT_DEVICE_UART; + #ifdef BOOT_FROM_SATA + case BOOT_FROM_SATA: + case BOOT_FROM_SATA_ALT: + return BOOT_DEVICE_SATA; + #endif + case BOOT_FROM_SPI: + return BOOT_DEVICE_SPI; + default: + return BOOT_DEVICE_BOOTROM; + }; + } + #if defined(CONFIG_DISPLAY_CPUINFO) #if defined(CONFIG_ARMADA_375)