diff options
author | Tom Rini <trini@konsulko.com> | 2021-10-25 12:09:57 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-10-25 12:09:57 -0400 |
commit | 397b35f09794e40d62d5e4f53992e2a711dc8be1 (patch) | |
tree | 0696b5205c1151a600643238cb9da1f93dd15806 /arch | |
parent | 35a7677e382172e5024b38ff997944ca83909384 (diff) | |
parent | c846fe43f0561311eb7261b34023a04646cdbd0d (diff) | |
download | u-boot-WIP/25Oct2021.tar.gz |
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiWIP/25Oct2021
- Add and enable watchdog driver
- Prepare for SYSRESET driven AXP poweroff
- Prepare for SoCs without MMC2
- Some fixes for extending SPL (SPL-DM for RISC-V)
- Some preparations for proper VBUS management
- Fix secure monitor move
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/dts/sun50i-h616.dtsi | 1 | ||||
-rw-r--r-- | arch/arm/dts/sunxi-u-boot.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/mach-sunxi/spl_spi_sunxi.c | 10 |
4 files changed, 11 insertions, 4 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 504abca0b71..02f8306f15a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1037,6 +1037,7 @@ config ARCH_SUNXI select OF_CONTROL select OF_SEPARATE select SPECIFY_CONSOLE_INDEX + select SPL_SEPARATE_BSS if SPL select SPL_STACK_R if SPL select SPL_SYS_MALLOC_SIMPLE if SPL select SPL_SYS_THUMB_BUILD if !ARM64 @@ -1065,6 +1066,7 @@ config ARCH_SUNXI imply SPL_POWER imply SPL_SERIAL imply USB_GADGET + imply WDT config ARCH_U8500 bool "ST-Ericsson U8500 Series" diff --git a/arch/arm/dts/sun50i-h616.dtsi b/arch/arm/dts/sun50i-h616.dtsi index dd4d2f31111..2f71e853e96 100644 --- a/arch/arm/dts/sun50i-h616.dtsi +++ b/arch/arm/dts/sun50i-h616.dtsi @@ -122,7 +122,6 @@ reg = <0x030090a0 0x20>; interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; clocks = <&osc24M>; - status = "disabled"; }; pio: pinctrl@300b000 { diff --git a/arch/arm/dts/sunxi-u-boot.dtsi b/arch/arm/dts/sunxi-u-boot.dtsi index 4a6ed3a7dd5..b7244c1112a 100644 --- a/arch/arm/dts/sunxi-u-boot.dtsi +++ b/arch/arm/dts/sunxi-u-boot.dtsi @@ -13,7 +13,9 @@ / { aliases { mmc0 = &mmc0; +#if CONFIG_MMC_SUNXI_EXTRA_SLOT == 2 mmc1 = &mmc2; +#endif }; binman: binman { diff --git a/arch/arm/mach-sunxi/spl_spi_sunxi.c b/arch/arm/mach-sunxi/spl_spi_sunxi.c index 15e86cbac8f..3499c4cc5f8 100644 --- a/arch/arm/mach-sunxi/spl_spi_sunxi.c +++ b/arch/arm/mach-sunxi/spl_spi_sunxi.c @@ -7,6 +7,7 @@ #include <image.h> #include <log.h> #include <spl.h> +#include <asm/arch/spl.h> #include <asm/gpio.h> #include <asm/io.h> #include <linux/bitops.h> @@ -326,10 +327,13 @@ static int spl_spi_load_image(struct spl_image_info *spl_image, int ret = 0; struct image_header *header; header = (struct image_header *)(CONFIG_SYS_TEXT_BASE); + int load_offset = readl(SPL_ADDR + 0x10); + + load_offset = max(load_offset, CONFIG_SYS_SPI_U_BOOT_OFFS); spi0_init(); - spi0_read_data((void *)header, CONFIG_SYS_SPI_U_BOOT_OFFS, 0x40); + spi0_read_data((void *)header, load_offset, 0x40); if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && image_get_magic(header) == FDT_MAGIC) { @@ -342,14 +346,14 @@ static int spl_spi_load_image(struct spl_image_info *spl_image, load.bl_len = 1; load.read = spi_load_read; ret = spl_load_simple_fit(spl_image, &load, - CONFIG_SYS_SPI_U_BOOT_OFFS, header); + load_offset, header); } else { ret = spl_parse_image_header(spl_image, header); if (ret) return ret; spi0_read_data((void *)spl_image->load_addr, - CONFIG_SYS_SPI_U_BOOT_OFFS, spl_image->size); + load_offset, spl_image->size); } spi0_deinit(); |