]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell
authorTom Rini <trini@konsulko.com>
Wed, 1 Sep 2021 11:52:08 +0000 (07:52 -0400)
committerTom Rini <trini@konsulko.com>
Wed, 1 Sep 2021 14:11:21 +0000 (10:11 -0400)
- 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)

1  2 
arch/arm/mach-mvebu/cpu.c

index 0b935c46fb8ad0245b194c12d44f8b0159f9b1be,daf8bd66a039b558b71df3af304f12efcefbbeea..0272dd7352d85ffb31a5fac69cc653f6b3ca0a51
@@@ -80,6 -81,65 +81,65 @@@ int mvebu_soc_family(void
        return MVEBU_SOC_UNKNOWN;
  }
  
 -        * 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.
 -        */
+ u32 get_boot_device(void)
+ {
+       u32 val;
+       u32 boot_device;
+       /*
 -        * If the bootrom error code contains any other than zeros it's an
 -        * error condition and the bootROM has fallen back to UART boot
 -        */
++       * 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
+       /*
 -        * Now check the SAR register for the strapped boot-device
 -        */
++       * 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
++       */
+       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)