Merge tag 'efi-2019-07-rc3-2' of git://git.denx.de/u-boot-efi
authorTom Rini <trini@konsulko.com>
Sun, 19 May 2019 20:46:24 +0000 (16:46 -0400)
committerTom Rini <trini@konsulko.com>
Sun, 19 May 2019 20:46:24 +0000 (16:46 -0400)
Pull request for UEFI sub-system for v2019.07-rc3 (2)

Minor patches to improve UEFI specification compliance are provided.

To allow running the UEFI self compliance tests an outdated version of
the Unicode collation protocol has been added as a configuration option
(disabled by default).

212 files changed:
Kconfig
Makefile
README
arch/arc/Kconfig
arch/arc/lib/start.S
arch/arm/Kconfig
arch/arm/cpu/arm11/cpu.c
arch/arm/cpu/arm926ejs/cache.c
arch/arm/cpu/arm926ejs/cpu.c
arch/arm/cpu/arm926ejs/start.S
arch/arm/cpu/armv7/cache_v7.c
arch/arm/cpu/armv7/iproc-common/hwinit-common.c
arch/arm/cpu/armv7/kona-common/hwinit-common.c
arch/arm/cpu/armv7/ls102xa/cpu.c
arch/arm/cpu/armv7/start.S
arch/arm/cpu/armv7/vf610/generic.c
arch/arm/cpu/armv7m/cache.c
arch/arm/cpu/armv8/cache_v8.c
arch/arm/cpu/armv8/fsl-layerscape/cpu.c
arch/arm/cpu/armv8/s32v234/cpu.c
arch/arm/cpu/pxa/cache.c
arch/arm/cpu/pxa/pxa2xx.c
arch/arm/dts/bcm63158.dtsi
arch/arm/dts/bcm6858.dtsi
arch/arm/include/asm/global_data.h
arch/arm/lib/cache-cp15.c
arch/arm/lib/cache.c
arch/arm/mach-exynos/soc.c
arch/arm/mach-imx/cache.c
arch/arm/mach-imx/imx8/cpu.c
arch/arm/mach-imx/mx5/soc.c
arch/arm/mach-keystone/init.c
arch/arm/mach-kirkwood/include/mach/config.h
arch/arm/mach-mediatek/mt8516/init.c
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/omap5/sec_entry_cpu1.S
arch/arm/mach-omap2/sec-common.c
arch/arm/mach-rmobile/cpu_info.c
arch/arm/mach-rockchip/rk3036-board.c
arch/arm/mach-rockchip/rk3128-board.c
arch/arm/mach-rockchip/rk3188-board.c
arch/arm/mach-rockchip/rk322x-board.c
arch/arm/mach-rockchip/rk3288-board.c
arch/arm/mach-rockchip/rv1108/rv1108.c
arch/arm/mach-s5pc1xx/cache.c
arch/arm/mach-socfpga/misc.c
arch/arm/mach-sunxi/board.c
arch/arm/mach-tegra/board.c
arch/arm/mach-zynq/cpu.c
arch/nds32/Kconfig
arch/nds32/cpu/n1213/start.S
arch/nds32/lib/cache.c
arch/riscv/Kconfig
arch/riscv/cpu/ax25/cache.c
arch/x86/cpu/coreboot/tables.c
arch/xtensa/Kconfig
arch/xtensa/cpu/start.S
board/st/stih410-b2260/board.c
cmd/bdinfo.c
common/board_f.c
common/lcd.c
common/spl/spl.c
configs/SBx81LIFKW_defconfig
configs/SBx81LIFXCAT_defconfig
configs/armadillo-800eva_defconfig
configs/axm_defconfig
configs/bcm23550_w1d_defconfig
configs/bcm963158_ram_defconfig
configs/bcm968580xref_ram_defconfig
configs/bitmain_antminer_s9_defconfig
configs/colibri_pxa270_defconfig
configs/d2net_v2_defconfig
configs/da850evm_defconfig
configs/db-88f6281-bp-nand_defconfig
configs/db-88f6281-bp-spi_defconfig
configs/devkit3250_defconfig
configs/dns325_defconfig
configs/dockstar_defconfig
configs/dreamplug_defconfig
configs/ds109_defconfig
configs/evb-ast2500_defconfig
configs/flea3_defconfig
configs/goflexhome_defconfig
configs/gplugd_defconfig
configs/guruplug_defconfig
configs/highbank_defconfig
configs/ib62x0_defconfig
configs/iconnect_defconfig
configs/imx8mq_evk_defconfig
configs/imx8qm_mek_defconfig
configs/imx8qxp_mek_defconfig
configs/inetspace_v2_defconfig
configs/k2e_evm_defconfig
configs/k2e_hs_evm_defconfig
configs/k2g_evm_defconfig
configs/k2g_hs_evm_defconfig
configs/k2hk_evm_defconfig
configs/k2hk_hs_evm_defconfig
configs/k2l_evm_defconfig
configs/k2l_hs_evm_defconfig
configs/km_kirkwood_128m16_defconfig
configs/km_kirkwood_defconfig
configs/km_kirkwood_pci_defconfig
configs/kmcoge5un_defconfig
configs/kmnusa_defconfig
configs/kmsugp1_defconfig
configs/kmsuv31_defconfig
configs/lschlv2_defconfig
configs/lsxhl_defconfig
configs/mgcoge3un_defconfig
configs/nas220_defconfig
configs/net2big_v2_defconfig
configs/netspace_lite_v2_defconfig
configs/netspace_max_v2_defconfig
configs/netspace_mini_v2_defconfig
configs/netspace_v2_defconfig
configs/nsa310s_defconfig
configs/omap35_logic_defconfig
configs/omap3_logic_defconfig
configs/openrd_base_defconfig
configs/openrd_client_defconfig
configs/openrd_ultimate_defconfig
configs/origen_defconfig
configs/pogo_e02_defconfig
configs/portl2_defconfig
configs/qemu-x86_64_defconfig
configs/sheevaplug_defconfig
configs/smartweb_defconfig
configs/stv0991_defconfig
configs/syzygy_hub_defconfig
configs/taurus_defconfig
configs/topic_miami_defconfig
configs/topic_miamilite_defconfig
configs/topic_miamiplus_defconfig
configs/woodburn_defconfig
configs/woodburn_sd_defconfig
configs/work_92105_defconfig
configs/xilinx_versal_mini_defconfig
configs/xilinx_versal_mini_emmc0_defconfig
configs/xilinx_versal_mini_emmc1_defconfig
configs/xilinx_zynqmp_mini_defconfig
configs/xilinx_zynqmp_mini_emmc0_defconfig
configs/xilinx_zynqmp_mini_emmc1_defconfig
configs/xilinx_zynqmp_mini_nand_defconfig
configs/xilinx_zynqmp_mini_qspi_defconfig
configs/zynq_cc108_defconfig
configs/zynq_cse_nand_defconfig
configs/zynq_cse_nor_defconfig
configs/zynq_cse_qspi_defconfig
configs/zynq_dlc20_rev1_0_defconfig
configs/zynq_microzed_defconfig
configs/zynq_minized_defconfig
configs/zynq_picozed_defconfig
configs/zynq_z_turn_defconfig
configs/zynq_zc702_defconfig
configs/zynq_zc706_defconfig
configs/zynq_zc770_xm010_defconfig
configs/zynq_zc770_xm011_defconfig
configs/zynq_zc770_xm011_x16_defconfig
configs/zynq_zc770_xm012_defconfig
configs/zynq_zc770_xm013_defconfig
configs/zynq_zed_defconfig
configs/zynq_zybo_defconfig
configs/zynq_zybo_z7_defconfig
drivers/ata/ahci.c
drivers/dma/apbh_dma.c
drivers/mtd/nand/raw/mxs_nand.c
drivers/net/dwc_eth_qos.c
drivers/net/rtl8169.c
drivers/net/sh_eth.c
drivers/nvme/nvme.c
drivers/nvme/nvme_show.c
drivers/video/video-uclass.c
drivers/watchdog/bcm6345_wdt.c
include/ahci.h
include/android_bootloader_message.h [new file with mode: 0644]
include/configs/armadillo-800eva.h
include/configs/aspeed-common.h
include/configs/bcm23550_w1d.h
include/configs/broadcom_bcm963158.h
include/configs/broadcom_bcm968380gerg.h
include/configs/broadcom_bcm968580xref.h
include/configs/colibri_pxa270.h
include/configs/db-88f6281-bp.h
include/configs/devkit3250.h
include/configs/flea3.h
include/configs/gplugd.h
include/configs/highbank.h
include/configs/imx8mq_evk.h
include/configs/imx8qm_mek.h
include/configs/imx8qxp_mek.h
include/configs/mx7ulp_evk.h
include/configs/origen.h
include/configs/smartweb.h
include/configs/stv0991.h
include/configs/taurus.h
include/configs/ti_armv7_keystone2.h
include/configs/uniphier.h
include/configs/woodburn_common.h
include/configs/work_92105.h
include/configs/xilinx_versal_mini.h
include/configs/xilinx_zynqmp_mini_emmc.h
include/configs/xilinx_zynqmp_mini_nand.h
include/configs/xilinx_zynqmp_mini_qspi.h
include/configs/zynq-common.h
include/configs/zynq_cse.h
include/spl.h
tools/fit_check_sign.c
tools/fit_common.c
tools/fit_common.h
tools/fit_image.c
tools/fit_info.c

diff --git a/Kconfig b/Kconfig
index 91c1082ace226d6ad679fe9bde43fd7024663173..da208d65a32c3cc7614a97067d114b9c8c0152e9 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -278,7 +278,7 @@ config FIT
 if FIT
 
 config FIT_EXTERNAL_OFFSET
-       hex "Text Base"
+       hex "FIT external data offset"
        default 0x0
        help
          This specifies a data offset in fit image.
index 059978bfe683ad000b83fc56096f8b71eb8397bf..6eb08a57247e6f23ec25c377d26fa48af7ebc295 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1071,7 +1071,7 @@ ifneq ($(EXT_DTB),)
 u-boot-fit-dtb.bin: u-boot-nodtb.bin $(EXT_DTB)
                $(call if_changed,cat)
 else
-u-boot-fit-dtb.bin: u-boot-nodtb.bin $(FINAL_DTB_CONTAINER)
+u-boot-fit-dtb.bin: u-boot-nodtb.bin fit-dtb.blob $(FINAL_DTB_CONTAINER)
        $(call if_changed,cat)
 endif
 
diff --git a/README b/README
index 8e934604cf605f18ac9999f178e6bd407ad3289d..fd1e17c51375ccaf58d9c8331b4095794cc1e0b8 100644 (file)
--- a/README
+++ b/README
@@ -634,8 +634,6 @@ The following options need to be configured:
                the defaults discussed just above.
 
 - Cache Configuration:
-               CONFIG_SYS_ICACHE_OFF - Do not enable instruction cache in U-Boot
-               CONFIG_SYS_DCACHE_OFF - Do not enable data cache in U-Boot
                CONFIG_SYS_L2CACHE_OFF- Do not enable L2 cache in U-Boot
 
 - Cache Configuration for ARM:
index 50369d5983b0260319a88d292092b6da1f765500..0cb97207db4c082a64633486e2a45edb208c6014 100644 (file)
@@ -109,12 +109,30 @@ config CPU_BIG_ENDIAN
          Build kernel for Big Endian Mode of ARC CPU
 
 config SYS_ICACHE_OFF
-       bool "Do not use Instruction Cache"
+       bool "Do not enable icache"
        default n
+       help
+         Do not enable instruction cache in U-Boot.
+
+config SPL_SYS_ICACHE_OFF
+       bool "Do not enable icache in SPL"
+       depends on SPL
+       default SYS_ICACHE_OFF
+       help
+         Do not enable instruction cache in SPL.
 
 config SYS_DCACHE_OFF
-       bool "Do not use Data Cache"
+       bool "Do not enable dcache"
        default n
+       help
+         Do not enable data cache in U-Boot.
+
+config SPL_SYS_DCACHE_OFF
+       bool "Do not enable dcache in SPL"
+       depends on SPL
+       default SYS_DCACHE_OFF
+       help
+         Do not enable data cache in SPL.
 
 menuconfig ARC_DBG
        bool "ARC debugging"
index 84959b41bdf5eafffd33b673780e2ddd83997db1..8c744f5be7f188879ad39751dc3d5c7b3380a3c5 100644 (file)
@@ -16,7 +16,7 @@ ENTRY(_start)
        lr      r5, [ARC_BCR_IC_BUILD]
        breq    r5, 0, 1f               ; I$ doesn't exist
        lr      r5, [ARC_AUX_IC_CTRL]
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        bclr    r5, r5, 0               ; 0 - Enable, 1 is Disable
 #else
        bset    r5, r5, 0               ; I$ exists, but is not used
@@ -37,7 +37,7 @@ ENTRY(_start)
        breq    r5, 0, 1f               ; D$ doesn't exist
        lr      r5, [ARC_AUX_DC_CTRL]
        bclr    r5, r5, 6               ; Invalidate (discard w/o wback)
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        bclr    r5, r5, 0               ; Enable (+Inv)
 #else
        bset    r5, r5, 0               ; Disable (+Inv)
index 3c4af1f29913fcb27f7e2245f0fb6823a30485e6..00be3d1721d0e5982cf22948a3de7ad52832c6a4 100644 (file)
@@ -74,6 +74,32 @@ config ARM_ASM_UNIFIED
 config THUMB2_KERNEL
        bool
 
+config SYS_ICACHE_OFF
+       bool "Do not enable icache"
+       default n
+       help
+         Do not enable instruction cache in U-Boot.
+
+config SPL_SYS_ICACHE_OFF
+       bool "Do not enable icache in SPL"
+       depends on SPL
+       default SYS_ICACHE_OFF
+       help
+         Do not enable instruction cache in SPL.
+
+config SYS_DCACHE_OFF
+       bool "Do not enable dcache"
+       default n
+       help
+         Do not enable data cache in U-Boot.
+
+config SPL_SYS_DCACHE_OFF
+       bool "Do not enable dcache in SPL"
+       depends on SPL
+       default SYS_DCACHE_OFF
+       help
+         Do not enable data cache in SPL.
+
 config SYS_ARM_CACHE_CP15
        bool "CP15 based cache enabling support"
        help
index 41feeefec1606d0358856f84bc4c0edad10e9122..8aee1539a9db8b7d2a6b6b76af02e603e096f84f 100644 (file)
@@ -51,7 +51,7 @@ static void cache_flush(void)
        asm volatile("mcr p15, 0, %0, c7, c10, 4" : : "r" (i));
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void invalidate_dcache_all(void)
 {
        asm volatile("mcr p15, 0, %0, c7, c6, 0" : : "r" (0));
@@ -87,7 +87,7 @@ void flush_dcache_range(unsigned long start, unsigned long stop)
        asm volatile("mcr p15, 0, %0, c7, c10, 4" : : "r" (0));
 }
 
-#else /* #ifndef CONFIG_SYS_DCACHE_OFF */
+#else /* #if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 void invalidate_dcache_all(void)
 {
 }
@@ -95,15 +95,15 @@ void invalidate_dcache_all(void)
 void flush_dcache_all(void)
 {
 }
-#endif /* #ifndef CONFIG_SYS_DCACHE_OFF */
+#endif /* #if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 
-#if !defined(CONFIG_SYS_ICACHE_OFF) || !defined(CONFIG_SYS_DCACHE_OFF)
+#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
 void enable_caches(void)
 {
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        icache_enable();
 #endif
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        dcache_enable();
 #endif
 }
index 22a55f52e0176914135e14a355dbaa107568c322..16eea693d12e8cc41b69ec52036b0dc0d981ad1d 100644 (file)
@@ -6,7 +6,7 @@
 #include <linux/types.h>
 #include <common.h>
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void invalidate_dcache_all(void)
 {
        asm volatile("mcr p15, 0, %0, c7, c6, 0\n" : : "r"(0));
@@ -46,7 +46,7 @@ void flush_dcache_range(unsigned long start, unsigned long stop)
 
        asm volatile("mcr p15, 0, %0, c7, c10, 4\n" : : "r"(0));
 }
-#else /* #ifndef CONFIG_SYS_DCACHE_OFF */
+#else /* #if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 void invalidate_dcache_all(void)
 {
 }
@@ -54,7 +54,7 @@ void invalidate_dcache_all(void)
 void flush_dcache_all(void)
 {
 }
-#endif /* #ifndef CONFIG_SYS_DCACHE_OFF */
+#endif /* #if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 
 /*
  * Stub implementations for l2 cache operations
@@ -66,7 +66,7 @@ __weak void l2_cache_disable(void) {}
 __weak void invalidate_l2_cache(void) {}
 #endif
 
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
 /* Invalidate entire I-cache and branch predictor array */
 void invalidate_icache_all(void)
 {
@@ -80,10 +80,10 @@ void invalidate_icache_all(void) {}
 
 void enable_caches(void)
 {
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        icache_enable();
 #endif
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        dcache_enable();
 #endif
 }
index c3f1ee1fd102cd614d3cee5ee6b65f2752d82495..d7cffe8b690bfc9d18c24f6ec5c47654dd2476af 100644 (file)
@@ -44,7 +44,7 @@ int cleanup_before_linux (void)
 /* flush I/D-cache */
 static void cache_flush (void)
 {
-#if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
+#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
        unsigned long i = 0;
 
        asm ("mcr p15, 0, %0, c7, c7, 0": :"r" (i));
index 10456732924bc9edd9681534d8586a508a1fa1a0..ff592ba81017ec731c1691a0174d7488b3e2b8ec 100644 (file)
@@ -84,7 +84,7 @@ flush_dcache:
 
        /*
         * disable MMU and D cache
-        * enable I cache if CONFIG_SYS_ICACHE_OFF is not defined
+        * enable I cache if SYS_ICACHE_OFF is not defined
         */
        mrc     p15, 0, r0, c1, c0, 0
        bic     r0, r0, #0x00000300     /* clear bits 9:8 (---- --RS) */
@@ -95,7 +95,7 @@ flush_dcache:
        bic     r0, r0, #0x00002000     /* clear bit 13 (--V- ----) */
 #endif
        orr     r0, r0, #0x00000002     /* set bit 1 (A) Align */
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        orr     r0, r0, #0x00001000     /* set bit 12 (I) I-Cache */
 #endif
        mcr     p15, 0, r0, c1, c0, 0
index 99484c2636378a2f340c5c4b6d647ec08bf53930..0dc4ebf694383a361c7fc4c7b35ea75203810969 100644 (file)
@@ -12,7 +12,7 @@
 #define ARMV7_DCACHE_INVAL_RANGE       1
 #define ARMV7_DCACHE_CLEAN_INVAL_RANGE 2
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 
 /* Asm functions from cache_v7_asm.S */
 void v7_flush_dcache_all(void);
@@ -149,7 +149,7 @@ void mmu_page_table_flush(unsigned long start, unsigned long stop)
        flush_dcache_range(start, stop);
        v7_inval_tlb();
 }
-#else /* #ifndef CONFIG_SYS_DCACHE_OFF */
+#else /* #if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 void invalidate_dcache_all(void)
 {
 }
@@ -177,9 +177,9 @@ void mmu_page_table_flush(unsigned long start, unsigned long stop)
 void arm_init_domains(void)
 {
 }
-#endif /* #ifndef CONFIG_SYS_DCACHE_OFF */
+#endif /* #if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
 /* Invalidate entire I-cache and branch predictor array */
 void invalidate_icache_all(void)
 {
index 8bf06a3e48f060bfacf97f264246ca5a398bb683..70431ecf6b15aec7e198ce89246306fb4be208b0 100644 (file)
@@ -5,7 +5,7 @@
 
 #include <common.h>
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index 8783893cf68389770b7c70cae05da6c3b0b3b728..10e74888792be11e258a6c28f724292280db5ee1 100644 (file)
@@ -6,7 +6,7 @@
 #include <common.h>
 #include <linux/sizes.h>
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index 7c4018ed1116be2deb099f2999d8206fcdac6f01..ecf9e869855e5ba0fa707514ac9a975bc9fcd503 100644 (file)
@@ -26,7 +26,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 
 /*
  * Bit[1] of the descriptor indicates the descriptor type,
@@ -215,7 +215,7 @@ void enable_caches(void)
        invalidate_dcache_all();
        set_cr(get_cr() | CR_C);
 }
-#endif /* #ifndef CONFIG_SYS_DCACHE_OFF */
+#endif /* #if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 
 
 uint get_svr(void)
index 0cb6dd39ccfc0584f4e6f01523fef9405c314763..dcb4195d7b48bc790ac696b2db47faf9cc72cc17 100644 (file)
@@ -97,7 +97,7 @@ ENTRY(c_runtime_cpu_setup)
 /*
  * If I-cache is enabled invalidate it
  */
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        mcr     p15, 0, r0, c7, c5, 0   @ invalidate icache
        mcr     p15, 0, r0, c7, c10, 4  @ DSB
        mcr     p15, 0, r0, c7, c5, 4   @ ISB
@@ -155,7 +155,7 @@ ENTRY(cpu_init_cp15)
        bic     r0, r0, #0x00000007     @ clear bits 2:0 (-CAM)
        orr     r0, r0, #0x00000002     @ set bit 1 (--A-) Align
        orr     r0, r0, #0x00000800     @ set bit 11 (Z---) BTB
-#ifdef CONFIG_SYS_ICACHE_OFF
+#if CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        bic     r0, r0, #0x00001000     @ clear bit 12 (I) I-cache
 #else
        orr     r0, r0, #0x00001000     @ set bit 12 (I) I-cache
index 90fa695e98e55c7221fa1d4f73f6a5a08740144b..f96290348417e4d11b0e8225c1ba5ee998fd3e54 100644 (file)
@@ -360,7 +360,7 @@ int get_clocks(void)
        return 0;
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
 #if defined(CONFIG_SYS_ARM_CACHE_WRITETHROUGH)
index 815e623c29d3802f957d12087139f3a1ba99bf71..1106bead41168049a268a28aacb7a2c864302762 100644 (file)
@@ -54,7 +54,7 @@ enum cache_action {
        FLUSH_INVAL_SET_WAY,    /* d-cache clean & invalidate by set/ways */
 };
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 struct dcache_config {
        u32 ways;
        u32 sets;
@@ -292,7 +292,7 @@ void invalidate_dcache_all(void)
 }
 #endif
 
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
 
 void invalidate_icache_all(void)
 {
@@ -349,10 +349,10 @@ int icache_status(void)
 
 void enable_caches(void)
 {
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        icache_enable();
 #endif
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        dcache_enable();
 #endif
 }
index 9ca397e73c9b9776ac9ad9ec172dd94ed5ff11a5..e500e722e51260c031696f6a346e1a37c79b225f 100644 (file)
@@ -13,7 +13,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 
 /*
  *  With 4k page granule, a virtual address is split into 4 lookup parts
@@ -657,7 +657,7 @@ void mmu_change_region_attr(phys_addr_t addr, size_t siz, u64 attrs)
        __asm_invalidate_tlb_all();
 }
 
-#else  /* CONFIG_SYS_DCACHE_OFF */
+#else  /* !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 
 /*
  * For SPL builds, we may want to not have dcache enabled. Any real U-Boot
@@ -694,9 +694,9 @@ void mmu_set_region_dcache_behaviour(phys_addr_t start, size_t size,
 {
 }
 
-#endif /* CONFIG_SYS_DCACHE_OFF */
+#endif /* !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
 
 void icache_enable(void)
 {
@@ -720,7 +720,7 @@ void invalidate_icache_all(void)
        __asm_invalidate_l3_icache();
 }
 
-#else  /* CONFIG_SYS_ICACHE_OFF */
+#else  /* !CONFIG_IS_ENABLED(SYS_ICACHE_OFF) */
 
 void icache_enable(void)
 {
@@ -739,7 +739,7 @@ void invalidate_icache_all(void)
 {
 }
 
-#endif /* CONFIG_SYS_ICACHE_OFF */
+#endif /* !CONFIG_IS_ENABLED(SYS_ICACHE_OFF) */
 
 /*
  * Enable dCache & iCache, whether cache is actually enabled
index 978d46b32fcb18cbbad8459df6c603417bed1d54..12d709e23ec1fabe9d2c823ac64f813d564158df 100644 (file)
@@ -388,7 +388,7 @@ void cpu_name(char *name)
                strcpy(name, "unknown");
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 /*
  * To start MMU before DDR is available, we create MMU table in SRAM.
  * The base address of SRAM is CONFIG_SYS_FSL_OCRAM_BASE. We use three
@@ -611,7 +611,7 @@ void enable_caches(void)
        icache_enable();
        dcache_enable();
 }
-#endif /* CONFIG_SYS_DCACHE_OFF */
+#endif /* !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 
 #ifdef CONFIG_TFABOOT
 enum boot_src __get_boot_src(u32 porsr1)
index 1fa6841eaf783e8ad4cc662bb647cd00145e95b5..b4cb67a66a3b9754f685da5d766b50fc03c6a975 100644 (file)
@@ -16,7 +16,7 @@ u32 cpu_mask(void)
        return readl(MC_ME_CS);
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 
 #define S32V234_IRAM_BASE        0x3e800000UL
 #define S32V234_IRAM_SIZE        0x800000UL
index 8b932b10e1b1498836f5ac05ad0484ee12592be1..5cd4a9524bc6527d8e530cebb9e21d555cb42347 100644 (file)
@@ -6,7 +6,7 @@
 #include <linux/types.h>
 #include <common.h>
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void invalidate_dcache_all(void)
 {
        /* Flush/Invalidate I cache */
@@ -35,7 +35,7 @@ void flush_dcache_range(unsigned long start, unsigned long stop)
 {
        return invalidate_dcache_range(start, stop);
 }
-#else /* #ifndef CONFIG_SYS_DCACHE_OFF */
+#else /* #if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 void invalidate_dcache_all(void)
 {
 }
@@ -43,7 +43,7 @@ void invalidate_dcache_all(void)
 void flush_dcache_all(void)
 {
 }
-#endif /* #ifndef CONFIG_SYS_DCACHE_OFF */
+#endif /* #if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) */
 
 /*
  * Stub implementations for l2 cache operations
index b9fd41ece25c41e006b896b9972dc377f0fb816e..0b28f0a3ef60ffe4278c1eca0cee0d5b6ff699e9 100644 (file)
@@ -286,10 +286,10 @@ void reset_cpu(ulong ignored)
 
 void enable_caches(void)
 {
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        icache_enable();
 #endif
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        dcache_enable();
 #endif
 }
index 4b2eaeea2eb282de181ede2961545dd1276724c0..175af380182b19a901ad05ece4b2a9a98d9859f9 100644 (file)
                        clock-frequency = <0xbebc200>;
                        u-boot,dm-pre-reloc;
                };
+
+               refclk50mhz: refclk50mhz {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <50000000>;
+               };
        };
 
        ubus {
                wdt1: watchdog@ff800480 {
                        compatible = "brcm,bcm6345-wdt";
                        reg = <0x0 0xff800480 0x0 0x14>;
-                       clocks = <&periph_osc>;
+                       clocks = <&refclk50mhz>;
                };
 
                wdt2: watchdog@ff8004c0 {
                        compatible = "brcm,bcm6345-wdt";
                        reg = <0x0 0xff8004c0 0x0 0x14>;
-                       clocks = <&periph_osc>;
+                       clocks = <&refclk50mhz>;
                };
 
                wdt-reboot {
index 76ba0ea1675ecc95fd33f5dc40f453ccf2827ae5..91f7787eb9b432f9c2fa9d1cbd448cff765c735d 100644 (file)
                        clock-frequency = <200000000>;
                        u-boot,dm-pre-reloc;
                };
+
+               refclk50mhz: refclk50mhz {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <50000000>;
+               };
        };
 
        ubus {
                wdt1: watchdog@ff802780 {
                        compatible = "brcm,bcm6345-wdt";
                        reg = <0x0 0xff802780 0x0 0x14>;
-                       clocks = <&periph_osc>;
+                       clocks = <&refclk50mhz>;
                };
 
                wdt2: watchdog@ff8027c0 {
                        compatible = "brcm,bcm6345-wdt";
                        reg = <0x0 0xff8027c0 0x0 0x14>;
-                       clocks = <&periph_osc>;
+                       clocks = <&refclk50mhz>;
                };
 
                wdt-reboot {
index c3ee5f0c7b3b905357e57cedfa47f34d25627b07..a81b1061df9ff4e9a5a585b32c8f55c37ece659c 100644 (file)
@@ -35,7 +35,7 @@ struct arch_global_data {
        unsigned int tbl;
        unsigned long lastinc;
        unsigned long long timer_reset_value;
-#if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
+#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
        unsigned long tlb_addr;
        unsigned long tlb_size;
 #if defined(CONFIG_ARM64)
index 0688f1e6a679fb77ea0836669235df87dbe18d28..b2913e8165a8c85ba473adb4f5abe7a210570364 100644 (file)
@@ -10,7 +10,7 @@
 #include <linux/compiler.h>
 #include <asm/armv7_mpu.h>
 
-#if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
+#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -246,7 +246,7 @@ static void cache_disable(uint32_t cache_bit)
 }
 #endif
 
-#ifdef CONFIG_SYS_ICACHE_OFF
+#if CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
 void icache_enable (void)
 {
        return;
@@ -278,7 +278,7 @@ int icache_status(void)
 }
 #endif
 
-#ifdef CONFIG_SYS_DCACHE_OFF
+#if CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void dcache_enable (void)
 {
        return;
index 565fbbe1097460617609fc8ef17bc159ec75968e..449544d11cff52ccf34adc03b3e946550a4e26ad 100644 (file)
@@ -87,7 +87,7 @@ void noncached_init(void)
        noncached_end = end;
        noncached_next = start;
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        mmu_set_region_dcache_behaviour(noncached_start, size, DCACHE_OFF);
 #endif
 }
index 589e16c5ad6f6a9be677313a3a29619c38ac0f42..2ae9a43b4e8d20d6e67c924f9b87493fb8d03335 100644 (file)
@@ -25,7 +25,7 @@ void reset_cpu(ulong addr)
 #endif
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index 75e1f54c6a7d97c19e826a3f14e28576ae335fbf..a60594250335289bc26a401fbe6b6dc377f86a5c 100644 (file)
@@ -37,7 +37,7 @@ static void enable_ca7_smp(void)
        }
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
 #if defined(CONFIG_SYS_ARM_CACHE_WRITETHROUGH)
index 2c425357b56a5ecc620b7779e937dc74cb02bd2d..53f9a8735ad6dcd41bc38fc851019879c655a73a 100644 (file)
@@ -446,7 +446,7 @@ void enable_caches(void)
        dcache_enable();
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 u64 get_page_table_size(void)
 {
        u64 one_pt = MAX_PTE_ENTRIES * sizeof(u64);
index 43d6c08b42d1a9ddd226d3cfd6339a7210826503..bbb335e275b565208a72ad22fa8a3579bca426f0 100644 (file)
@@ -62,7 +62,7 @@ u32 __weak get_board_rev(void)
 }
 #endif
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index f43b3dcbfa382fc279aa2230797c4bd469e098eb..3dee300d77fb53d25cd5dda7cdcb402eba298fc7 100644 (file)
@@ -204,7 +204,7 @@ void reset_cpu(ulong addr)
 
 void enable_caches(void)
 {
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        /* Enable D-cache. I-cache is already enabled in start.S */
        dcache_enable();
 #endif
index 893bd3f7634a056ee6b38445bede78537e5117ed..b6cf629c4f2aa7591fbdbaf077ed44146e0950bd 100644 (file)
 #define CONFIG_KIRKWOOD_EGIGA_INIT     /* Enable GbePort0/1 for kernel */
 #define CONFIG_KIRKWOOD_RGMII_PAD_1V8  /* Set RGMII Pad voltage to 1.8V */
 #define CONFIG_KIRKWOOD_PCIE_INIT       /* Enable PCIE Port0 for kernel */
-/*
- * Disable the dcache. Currently the network driver (mvgbe.c) and USB
- * EHCI driver (ehci-marvell.c) and possibly others rely on the data
- * cache being disabled.
- */
-#define CONFIG_SYS_DCACHE_OFF
 
 /*
  * By default kwbimage.cfg from board specific folder is used
index 26a215a8b1af9c3f7378c6278a10aaa92d6e1891..186f6c048acf21d1729a0b2540a15d3e60358da9 100644 (file)
 #include <asm/armv8/mmu.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
-#include <linux/io.h>
 #include <dt-bindings/clock/mt8516-clk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#define WDOG_SWRST             0x10007014
-#define WDOG_SWRST_KEY         0x1209
-
 int dram_init(void)
 {
        int ret;
@@ -87,10 +83,7 @@ int mtk_soc_early_init(void)
 
 void reset_cpu(ulong addr)
 {
-       while (1) {
-               writel(WDOG_SWRST_KEY, WDOG_SWRST);
-               mdelay(5);
-       }
+       psci_system_reset();
 }
 
 int print_cpuinfo(void)
index 0777a0c99810807cabab50dfcc9f0d50b10cc83f..bb01eab80e674d6754665ee7ecbb7a94f49c3067 100644 (file)
@@ -34,7 +34,7 @@ obj-$(CONFIG_SCSI_AHCI_PLAT) += sata.o
 endif
 endif
 
-ifeq ($(CONFIG_SYS_DCACHE_OFF),)
+ifeq ($(CONFIG_$(SPL_TPL_)SYS_DCACHE_OFF),)
 obj-y  += omap-cache.o
 endif
 
index 6dc92a6bfa355249153061d62b0312d058ab10f1..32de9d3d4fd23b4586dd9d9d8a961b97e4a74574 100644 (file)
@@ -16,7 +16,7 @@
 
 .arch_extension sec
 
-#if !defined(CONFIG_SYS_DCACHE_OFF)
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 .global flush_dcache_range
 #endif
 
@@ -79,7 +79,7 @@ ENTRY(omap_smc_sec_cpu1)
        push    {r4, r5, lr}
        ldr     r4, =omap_smc_sec_cpu1_args
        stm     r4, {r0,r1,r2,r3}       @ Save args to memory
-#if !defined(CONFIG_SYS_DCACHE_OFF)
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        mov     r0, r4
        mov     r1, #CONFIG_SYS_CACHELINE_SIZE
        add     r1, r0, r1              @ dcache is not enabled on CPU1, so
@@ -109,7 +109,7 @@ ENDPROC(omap_smc_sec_cpu1)
  */
 .section .data
 omap_smc_sec_cpu1_args:
-#if !defined(CONFIG_SYS_DCACHE_OFF)
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        .balign CONFIG_SYS_CACHELINE_SIZE
        .rept  CONFIG_SYS_CACHELINE_SIZE/4
        .word 0
index 600a31280c7af631f3b9aa2590232edf63159e46..b45d3ee544910758575375bd02a5ab8999aa1d51 100644 (file)
@@ -333,7 +333,7 @@ int secure_tee_install(u32 addr)
        debug("tee_info.tee_arg0 = %08X\n", tee_info.tee_arg0);
        debug("tee_file_size = %d\n", tee_file_size);
 
-#if !defined(CONFIG_SYS_DCACHE_OFF)
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        flush_dcache_range(
                rounddown((u32)loadptr, ARCH_DMA_MINALIGN),
                roundup((u32)loadptr + tee_file_size, ARCH_DMA_MINALIGN));
@@ -356,7 +356,7 @@ int secure_tee_install(u32 addr)
                /* Reuse the tee_info buffer for SMC params */
                smc_cpu1_params = (u32 *)&tee_info;
                smc_cpu1_params[0] = 0;
-#if !defined(CONFIG_SYS_DCACHE_OFF)
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
                flush_dcache_range((u32)smc_cpu1_params, (u32)smc_cpu1_params +
                                roundup(sizeof(u32), ARCH_DMA_MINALIGN));
 #endif
index b0686ed2035c3e8905c701de50e179ce16937b9d..784a2a28d5c2cadd7ada9348210f4e5b2a3f42f4 100644 (file)
@@ -17,7 +17,7 @@ int arch_cpu_init(void)
 
 /* R-Car Gen3 D-cache is enabled in memmap-gen3.c */
 #ifndef CONFIG_RCAR_GEN3
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        dcache_enable();
index 2094a4336d0b584be2f51255cf97ad1bdbf3db7c..e6ea0e9a6ae520b4018457e5377f25a0048ad152 100644 (file)
@@ -48,7 +48,7 @@ int dram_init(void)
 }
 #endif
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index b1c66382e356911cdee3838c991c0b91ead50eb1..fa71685af80dcf8e882c585cc35beefd6df6c337 100644 (file)
@@ -57,7 +57,7 @@ int dram_init_banksize(void)
        return 0;
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index e03759f78929abdfc6b85c12c46cefda51d4d0e6..80d8c4241ec36a77575b9b300b271621cdf5e87d 100644 (file)
@@ -75,7 +75,7 @@ err:
 #endif
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index 6170c76f8b944297493bf87840fe62e03b2673a2..e7a1e54874d6d01641c730d477e1b03f01283fb8 100644 (file)
@@ -58,7 +58,7 @@ int dram_init_banksize(void)
        return 0;
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index 41e9786d46fa473658252ca9ee0d16c7a503b6bc..e2de5b2fddba5afe51c9c693e4b73d685bcf87ff 100644 (file)
@@ -186,7 +186,7 @@ err:
 #endif
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index 33596f628c9effe10ad2d37747c456e9968a3c31..66aeb3ffcc9094f07e97ef3db69044e3eaa5ca5c 100644 (file)
@@ -6,7 +6,7 @@
 
 #include <common.h>
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index 12c9d7ce3af181c9a7288a022093a28b1eafbb2b..0b879b545dde27d2371a746c7407d2fc8b03b77d 100644 (file)
@@ -9,7 +9,7 @@
 
 #include <common.h>
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        dcache_enable();
index d887f0201f7b050a0815e4e8dd64997c3ace13dd..db1983dc311dd1617a11323818f802d9b5e5b284 100644 (file)
@@ -48,10 +48,10 @@ int dram_init(void)
 
 void enable_caches(void)
 {
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        icache_enable();
 #endif
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        dcache_enable();
 #endif
 }
index c6dd7b8e54b05c74c04394064cdb7d6139ec7a03..7f5b633e0125067d5acee73beb7ccc4bf9760756 100644 (file)
@@ -300,7 +300,7 @@ void reset_cpu(ulong addr)
 #endif
 }
 
-#if !defined(CONFIG_SYS_DCACHE_OFF) && !defined(CONFIG_ARM64)
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) && !defined(CONFIG_ARM64)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index f8fc042a1dcc273a1f3967f2073b00f9981cfe30..4e159075d379bdb90aad5253ef2088dc6dfbc5f8 100644 (file)
@@ -226,7 +226,7 @@ U_BOOT_DEVICE(ns16550_com1) = {
 };
 #endif
 
-#if !defined(CONFIG_SYS_DCACHE_OFF) && !defined(CONFIG_ARM64)
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) && !defined(CONFIG_ARM64)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index a3422cd5cf2c059e7d91b1e6a6526b193dd959e2..e5f557716b7b004f97069089856b4de8967b4ccb 100644 (file)
@@ -83,7 +83,7 @@ void reset_cpu(ulong addr)
                ;
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index d72ff4611307c2cea37c7ca19334aef8a770fe36..b6f16bf1244662c91ad9bdac861c684600b955e0 100644 (file)
@@ -16,6 +16,32 @@ config TARGET_ADP_AE3XX
 
 endchoice
 
+config SYS_ICACHE_OFF
+       bool "Do not enable icache"
+       default n
+       help
+         Do not enable instruction cache in U-Boot.
+
+config SPL_SYS_ICACHE_OFF
+       bool "Do not enable icache in SPL"
+       depends on SPL
+       default SYS_ICACHE_OFF
+       help
+         Do not enable instruction cache in SPL.
+
+config SYS_DCACHE_OFF
+       bool "Do not enable dcache"
+       default n
+       help
+         Do not enable data cache in U-Boot.
+
+config SPL_SYS_DCACHE_OFF
+       bool "Do not enable dcache in SPL"
+       depends on SPL
+       default SYS_DCACHE_OFF
+       help
+         Do not enable data cache in SPL.
+
 source "board/AndesTech/adp-ag101p/Kconfig"
 source "board/AndesTech/adp-ae3xx/Kconfig"
 
index cf966e2132e8e438a5c8cf55b00adddb017ca592..691888157fb1b9db41dab6ec62cd298770bd22a0 100644 (file)
@@ -129,7 +129,7 @@ set_ivb:
        mfsr    $r1, $mr8
        and     $r1, $r1, $r0
        mtsr    $r1, $mr8
-#if (!defined(CONFIG_SYS_ICACHE_OFF) || !defined(CONFIG_SYS_DCACHE_OFF))
+#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
 /*
  * MMU_CTL NTC0 Cacheable/Write-Back
  */
@@ -139,7 +139,7 @@ set_ivb:
        mtsr    $r1, $mr0
 #endif
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 #ifdef CONFIG_ARCH_MAP_SYSMEM
 /*
  * MMU_CTL NTC1 Non-cacheable
@@ -158,14 +158,14 @@ set_ivb:
 #endif
 #endif
 
-#if !defined(CONFIG_SYS_ICACHE_OFF)
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        li      $r0, 0x1
        mfsr    $r1, $mr8
        or      $r1, $r1, $r0
        mtsr    $r1, $mr8
 #endif
 
-#if !defined(CONFIG_SYS_DCACHE_OFF)
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        li      $r0, 0x2
        mfsr    $r1, $mr8
        or      $r1, $r1, $r0
index 9ab30d19653b6c8727e4f2c8bb69e3675b3194f7..27065136dd2df2e25f573df6e53e726236ac10de 100644 (file)
@@ -6,7 +6,7 @@
  */
 
 #include <common.h>
-#if (!defined(CONFIG_SYS_ICACHE_OFF) || !defined(CONFIG_SYS_DCACHE_OFF))
+#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
 static inline unsigned long CACHE_SET(unsigned char cache)
 {
        if (cache == ICACHE)
@@ -38,7 +38,7 @@ static inline unsigned long CACHE_LINE_SIZE(enum cache_t cache)
 }
 #endif
 
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
 void invalidate_icache_all(void)
 {
        unsigned long end, line_size;
@@ -133,7 +133,7 @@ int icache_status(void)
 
 #endif
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void dcache_wbinval_all(void)
 {
        unsigned long end, line_size;
index 362f3cdc6558bb1c51ca839225ccafbabcc6d0b5..0d04d91ad49517f10962180105a0009ccfe41d4a 100644 (file)
@@ -19,6 +19,32 @@ config TARGET_SIFIVE_FU540
 
 endchoice
 
+config SYS_ICACHE_OFF
+       bool "Do not enable icache"
+       default n
+       help
+         Do not enable instruction cache in U-Boot.
+
+config SPL_SYS_ICACHE_OFF
+       bool "Do not enable icache in SPL"
+       depends on SPL
+       default SYS_ICACHE_OFF
+       help
+         Do not enable instruction cache in SPL.
+
+config SYS_DCACHE_OFF
+       bool "Do not enable dcache"
+       default n
+       help
+         Do not enable data cache in U-Boot.
+
+config SPL_SYS_DCACHE_OFF
+       bool "Do not enable dcache in SPL"
+       depends on SPL
+       default SYS_DCACHE_OFF
+       help
+         Do not enable data cache in SPL.
+
 # board-specific options below
 source "board/AndesTech/ax25-ae350/Kconfig"
 source "board/emulation/qemu-riscv/Kconfig"
index 228fc55f56bc9bf9667a400474d87c66e1e8d2e4..cd95058d9d839c05113e55712dba95354477857c 100644 (file)
@@ -30,7 +30,7 @@ void invalidate_dcache_range(unsigned long start, unsigned long end)
 
 void icache_enable(void)
 {
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
 #ifdef CONFIG_RISCV_NDS_CACHE
        asm volatile (
                "csrr t1, mcache_ctl\n\t"
@@ -43,7 +43,7 @@ void icache_enable(void)
 
 void icache_disable(void)
 {
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
 #ifdef CONFIG_RISCV_NDS_CACHE
        asm volatile (
                "fence.i\n\t"
@@ -57,7 +57,7 @@ void icache_disable(void)
 
 void dcache_enable(void)
 {
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 #ifdef CONFIG_RISCV_NDS_CACHE
        asm volatile (
                "csrr t1, mcache_ctl\n\t"
@@ -70,7 +70,7 @@ void dcache_enable(void)
 
 void dcache_disable(void)
 {
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 #ifdef CONFIG_RISCV_NDS_CACHE
        asm volatile (
                "fence\n\t"
index bc18b710c94da6624f963b4589e1aae71cd79663..37e0424b5e6f3516342bd2b9ca4e7c4b16f051fc 100644 (file)
@@ -109,6 +109,10 @@ static void cb_parse_string(unsigned char *ptr, char **info)
        *info = (char *)((struct cb_string *)ptr)->string;
 }
 
+__weak void cb_parse_unhandled(u32 tag, unsigned char *ptr)
+{
+}
+
 static int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
 {
        struct cb_header *header;
@@ -211,6 +215,9 @@ static int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
                case CB_TAG_VBNV:
                        cb_parse_vbnv(ptr, info);
                        break;
+               default:
+                       cb_parse_unhandled(rec->tag, ptr);
+                       break;
                }
 
                ptr += rec->size;
index 2ba7132c20cc9efbd3eea2b9d97f708ce978e62d..6de31e8c1e05d0e94bb099a8bd74d5102bf5dc3d 100644 (file)
@@ -16,6 +16,32 @@ config TARGET_XTFPGA
 
 endchoice
 
+config SYS_ICACHE_OFF
+       bool "Do not enable icache"
+       default n
+       help
+         Do not enable instruction cache in U-Boot.
+
+config SPL_SYS_ICACHE_OFF
+       bool "Do not enable icache in SPL"
+       depends on SPL
+       default SYS_ICACHE_OFF
+       help
+         Do not enable instruction cache in SPL.
+
+config SYS_DCACHE_OFF
+       bool "Do not enable dcache"
+       default n
+       help
+         Do not enable data cache in U-Boot.
+
+config SPL_SYS_DCACHE_OFF
+       bool "Do not enable dcache in SPL"
+       depends on SPL
+       default SYS_DCACHE_OFF
+       help
+         Do not enable data cache in SPL.
+
 source "board/cadence/xtfpga/Kconfig"
 
 endmenu
index 66acb4c61044c46e826bdaf6f63d44fa8c2ea478..38d2fa2fe13b5a0f397b9128eb955b81b1afa5b9 100644 (file)
@@ -164,19 +164,19 @@ _start:
         * enable data/instruction cache for relocated image.
         */
 #if XCHAL_HAVE_SPANNING_WAY && \
-       (!defined(CONFIG_SYS_DCACHE_OFF) || \
-        !defined(CONFIG_SYS_ICACHE_OFF))
+       !(CONFIG_IS_ENABLED(SYS_DCACHE_OFF) && \
+         CONFIG_IS_ENABLED(SYS_ICACHE_OFF))
        srli    a7, a4, 29
        slli    a7, a7, 29
        addi    a7, a7, XCHAL_SPANNING_WAY
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        rdtlb1  a8, a7
        srli    a8, a8, 4
        slli    a8, a8, 4
        addi    a8, a8, CA_WRITEBACK
        wdtlb   a8, a7
 #endif
-#ifndef CONFIG_SYS_ICACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF)
        ritlb1  a8, a7
        srli    a8, a8, 4
        slli    a8, a8, 4
index b4fc8f3ce16ea66fa2fa8a350f7386d10c77916e..111e64b995ff8e44f51593851ab8edb5ba75f422 100644 (file)
@@ -26,7 +26,7 @@ int dram_init_banksize(void)
        return 0;
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */
index cbeba6ba28f771e3ce9ddf3d13efea6d9298350c..f576e226ee90e6630c63feab269e46eb281c4b15 100644 (file)
@@ -321,7 +321,7 @@ static int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc,
        print_eths();
 #endif
        print_baudrate();
-#if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
+#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
        print_num("TLB addr", gd->arch.tlb_addr);
 #endif
        print_num("relocaddr", gd->relocaddr);
index 7ef20f204231335088c0c8ec7f191987d7416b09..c25eb188fb2506b8399edc25571998baafae64e6 100644 (file)
@@ -381,7 +381,7 @@ static int reserve_round_4k(void)
 #ifdef CONFIG_ARM
 __weak int reserve_mmu(void)
 {
-#if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
+#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
        /* reserve TLB table */
        gd->arch.tlb_size = PGTABLE_SIZE;
        gd->relocaddr -= gd->arch.tlb_size;
index cd630405d44a3345438e88787b602d7a7e822b26..95526b1e17e8f00e64722830274633206838ff0d 100644 (file)
@@ -61,7 +61,7 @@ void lcd_sync(void)
         * architectures do not actually implement it. Is there a way to find
         * out whether it exists? For now, ARM is safe.
         */
-#if defined(CONFIG_ARM) && !defined(CONFIG_SYS_DCACHE_OFF)
+#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        int line_length;
 
        if (lcd_flush_dcache)
index 0a6a47c202019c1885c25173d6520a95f467886a..4ddeff9b51ee657144855e8f884e3f3234b00a33 100644 (file)
@@ -195,10 +195,12 @@ static int spl_load_fit_image(struct spl_image_info *spl_image,
 #ifdef CONFIG_SPL_FIT_SIGNATURE
        images.verify = 1;
 #endif
-       fit_image_load(&images, (ulong)header,
+       ret = fit_image_load(&images, (ulong)header,
                       &fit_uname_fdt, &fit_uname_config,
                       IH_ARCH_DEFAULT, IH_TYPE_FLATDT, -1,
                       FIT_LOAD_OPTIONAL, &dt_data, &dt_len);
+       if (ret >= 0)
+               spl_image->fdt_addr = (void *)dt_data;
 
        conf_noffset = fit_conf_get_node((const void *)header,
                                         fit_uname_config);
index afda7eda59728e3d9861d4fe5e5edd2b123c4873..8cb397c7570b7b43b3a5a5d4964c89ecfd95bf02 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x00600000
 CONFIG_TARGET_SBx81LIFKW=y
index 4cb4797a11b97d5771ea5ee133c526e398b8c127..1f7ff812f4782a42dc87d5d0216d54e5d926d724 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x00600000
 CONFIG_TARGET_SBx81LIFXCAT=y
index b1d923c06996cac1fd84a2b71267bae03987a2ec..8168c3a7f7363b3da55ab77017e26839c399a9d8 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 # CONFIG_SYS_THUMB_BUILD is not set
 CONFIG_ARCH_RMOBILE=y
 CONFIG_SYS_TEXT_BASE=0xE80C0000
index bcc5a0aa4aaa806e87f118cf920171432d264a98..73febdf42383c51e9131f090195e34a023e91338 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_THUMB_BUILD=y
 # CONFIG_SPL_USE_ARCH_MEMCPY is not set
 # CONFIG_SPL_USE_ARCH_MEMSET is not set
index 214a6a66fe34638c1f4ac414aaed50425863e119..baffb2d11733a3515d2f40475404e2079ce7feb8 100644 (file)
@@ -1,4 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_ICACHE_OFF=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
 CONFIG_TARGET_BCM23550_W1D=y
 CONFIG_SYS_TEXT_BASE=0x9f000000
index 321bc2269966c0d6c128fcf6765e01550eed6a05..dfd69069c7c507b817b3c424816c9269b5b801e2 100644 (file)
@@ -16,7 +16,6 @@ CONFIG_IMAGE_FORMAT_LEGACY=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_HUSH_PARSER=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
 # CONFIG_CMD_LZMADEC is not set
 # CONFIG_CMD_UNZIP is not set
 # CONFIG_CMD_FLASH is not set
index d6509e30bc4d5b1fb8453a4c103a5c0bb768c373..d331e4e807f9f75e0589bc0478580a26c8c27309 100644 (file)
@@ -14,7 +14,6 @@ CONFIG_IMAGE_FORMAT_LEGACY=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_HUSH_PARSER=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MTD=y
 CONFIG_CMD_NAND=y
index 63acd28c7e76f6726aa5cdfde0af881fd38e1018..3787a9573a3b3e7f0b3836dc84b1c62488913bf1 100644 (file)
@@ -3,6 +3,7 @@ CONFIG_SYS_VENDOR="bitmain"
 CONFIG_SYS_BOARD="antminer_s9"
 CONFIG_SYS_CONFIG_NAME="bitmain_antminer_s9"
 CONFIG_ARCH_ZYNQ=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_ENV_OFFSET=0x300000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 6cd948e15927c796733933c6473759e43ada3451..492ee9eaaf0a64eb70e85a25c9bdefea743c21af 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_TARGET_COLIBRI_PXA270=y
 CONFIG_SYS_TEXT_BASE=0x0
 CONFIG_NR_DRAM_BANKS=1
index 9a4d770180430c7916bc06400e1a74a3c9a2a72c..845565d620df3115e408be69b1de070fdfb30d77 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_NET2BIG_V2=y
index 09c6147e2d1b370504024e8b67d89a4a47e3d2fe..8c16d5c4f5a7935cd2542b19dd8622c3f8e86141 100644 (file)
@@ -47,6 +47,7 @@ CONFIG_DM=y
 CONFIG_SPL_DM=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SPL_OF_TRANSLATE=y
+CONFIG_SPL_BLOCK_CACHE=y
 CONFIG_DM_GPIO=y
 CONFIG_DA8XX_GPIO=y
 CONFIG_DM_I2C=y
index 3004347792574e64ddfafa17100294eb1860b856..ffb24eaf58dae3b42bcf8faea3f9ad695bd0a023 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
index e0596806adbec0eccc46d4011307d31be13496c7..4b1b158d4d0b2c1e6035557a91c60d95acb31249 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
index b41a97f75639a70efcbecf5035f15a66c6bd6489..c7a7983976ba3f680452596b1e75ba475d4e5345 100644 (file)
@@ -1,4 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_ICACHE_OFF=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_LPC32XX=y
 CONFIG_SYS_TEXT_BASE=0x83F00000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
index 20c662895648136c5b541b67cb2e3babc64afb22..aca8abbe9ce18bae2530f5f09808b2e2a14e2b6b 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_DNS325=y
index 41a70c9e3ff5e88cc6d0d5d8d017db7835be187b..679c18236f52421d204dbc8d19cf72d20e292e4f 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_DOCKSTAR=y
index 728b470b94b3e78c4abe615a74772bf006197829..e148208f9955d8127cf18a61fe7f731f436ec802 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_DREAMPLUG=y
index 22996e893d6b75cb84ed2512d0cf03037c879be5..671572b97643a3f4cd754a9d41215375e3fb4686 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_DS109=y
index 7fb52d273249f593ff14cc3ba33ba0cd2f08c039..b73da72b1654fa44f40f9570495be9a01ee4e942 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ASPEED=y
 CONFIG_SYS_TEXT_BASE=0x0
 CONFIG_ASPEED_AST2500=y
index f6e8048b6006461cb1f486291f722baae4d95c4e..a13f609da4281d8ad8d5447056e87583b130f0da 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_TARGET_FLEA3=y
 CONFIG_SYS_TEXT_BASE=0xA0000000
 CONFIG_NR_DRAM_BANKS=1
index c9abfb505ca866ba9cebc56e708b471101e134bb..b5d31db3226b667ecaea206943bbe03e3d013a4e 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_GOFLEXHOME=y
index b12dec28ae824bc9291c9496852e29d3cc2815d3..fe2e00a0b6411f0789ad632bb3c942b48d9bec46 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_TARGET_GPLUGD=y
 CONFIG_SYS_TEXT_BASE=0x00f00000
 CONFIG_NR_DRAM_BANKS=2
index c0e798e412f5d26368d2bfe6740b7f7593f4bf7f..787ba6c87a52dfef2985ec801690a0db2596c690 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_GURUPLUG=y
index ea64ca7755604b001b879881b950f74753416722..50e6bce80b6974693e941140a9c21d05867fc9b0 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_ARCH_HIGHBANK=y
 CONFIG_SYS_TEXT_BASE=0x00008000
index 5cadc5651585b09f1e7c169b93a2ec277a5138c2..979f724d8513cdf28bd3d1625e244aef971d7bf1 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_IB62X0=y
index e1fb3c7bbe1d57a82c02cfc27fe6a70be2d06b7c..eb0e8a9c8855a3df7e1fde611e5c167ec1a9314b 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_ICONNECT=y
index 6811a62bd11cc74ff104c6daaa772fd8f347479f..73831248518347f02c93dcb564bf15a8f7efad6c 100644 (file)
@@ -1,5 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_IMX8M=y
+CONFIG_SPL_SYS_ICACHE_OFF=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0x40200000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_TARGET_IMX8MQ_EVK=y
index 238d44d1f58f6e98a60eeb9d59974372e275574b..1a6ce3abf85d663eeeb7aeff7d5a4200b0f6ae9f 100644 (file)
@@ -1,5 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_IMX8=y
+CONFIG_SPL_SYS_ICACHE_OFF=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0x80020000
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
index 59675e56b926a61f09762e92888547f314775f79..c4a8cf3881a9393d7c698a8bd9241824b0d5ad6e 100644 (file)
@@ -1,5 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_IMX8=y
+CONFIG_SPL_SYS_ICACHE_OFF=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0x80020000
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
index 2d43a6760638f5a31e6d8b400abc7a614eb6d808..53898a15c5a990459864a8ea352c4699da1ff72c 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_NETSPACE_V2=y
index d68045bd2417fade92f55718b33a3c4cb0e16b80..78864f2419c06e0c017271cf0e8bd2773e2db31c 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_ISW_ENTRY_ADDR=0xC100000
 CONFIG_SYS_TEXT_BASE=0xC000000
index bcc8a693a9e1986f7e5eeb5097a7b766233adab3..5fabbb42d97b7f503eded0cd22a0a12768dbb402 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_TI_SECURE_DEVICE=y
 CONFIG_ISW_ENTRY_ADDR=0xC100000
index 13cf9c911657e1ca7f87afe8d667a288db951365..48d7fdc0af1cdb032a2f6c07f4665dc91cd37536 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_ISW_ENTRY_ADDR=0xC0A0000
 CONFIG_SYS_TEXT_BASE=0xC000000
index e93fc001fa7c3d4d72a4a0998dbef3f48487335a..05f535b8d0fb720b622cec20f4a5cebf23cbd7f1 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_TI_SECURE_DEVICE=y
 CONFIG_ISW_ENTRY_ADDR=0xC0A0000
index 37308aa336774b474877e0eeaf122c713b645e6b..12358d15a936f56697e834e4deeb75422c248635 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_ISW_ENTRY_ADDR=0xC200000
 CONFIG_SYS_TEXT_BASE=0xC000000
index cfa595956ac6e16198792897ffe1a14445738a08..64537cea0a6d5ef7e924c9b13e94801501bdc331 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_TI_SECURE_DEVICE=y
 CONFIG_ISW_ENTRY_ADDR=0xC200000
index cbe1fdff45e87a177abd4f8dc195ba7e0fde1019..1eef7f8997710f7d9fbb09d52920f0ae00393a14 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_ISW_ENTRY_ADDR=0xC100000
 CONFIG_SYS_TEXT_BASE=0xC000000
index 66f48a1922ffa7b4b3468fd26637641d4be85f4d..c412c6f51b1e68f10a74ab73c422eccbb704982b 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_TI_SECURE_DEVICE=y
 CONFIG_ISW_ENTRY_ADDR=0xC100000
index 92fb24811128f8fb3c66f930fe55b24148bec218..0bd9a7f4a3ff523565d9e7475eae2be0e19a0114 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
index b1a95cb381ef6abe62e17fe38d6f9819ec557fcc..08b8825196f628cc56bfdbcc8c6ae929ba689f77 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
index 443399daf2b3f3a899e9b1d19323e352525a95e9..5abf543270aa38a9b2efc6d994e3c4ac3b3d616b 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
index 7ec728149d8fad882af92c7c5cc7df293aeb3d6a..b6ac31e0ff7cf2709c06c8308861f9a6ba4fddc4 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
index 34ece1888a3081381a4c322f804ecee3f8aaa3e5..08e9b7566ab87f3a507f08f68a5e9a52fbe81283 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
index 63c5925fdc66c794d676497febc3377befdea5ca..cafc1f97cb4dc9827bf31e0f472426632b6de533 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
index b2d62320a4c895f47c0350f7e0f61f12de03a141..14c1c168f68a111128affa47be860193ad5bd583 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
index 906800c2fd16cd2db9991c118544b4b45a0caf5a..f02776da24b8cb1d15b9f0f1f43397de73867eb0 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_LSXL=y
index 038f9d1bb6d4ac4ec6f164f65ce4a7729fa0074b..daeecb5e51b5c6327f87f6290c785b8f7fbf1d8f 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_LSXL=y
index d85a216ddba26afa12c26dd0772894a2b99e2ee9..6b36cf9ce88e124388d38e2e4bd5c4ffaddd0e66 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
index 5ca82234903e8ff29752bbc4152a6b9d6c05f62c..80b122d74f411ecfe1a9eec0f5547c8522389874 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_NAS220=y
index cec280ba5aac3ffc034ba729d1da48e8827b93a1..9ae774a0ec040963b2181018f8583c7bf2cfb019 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_NET2BIG_V2=y
index 3fa5938b81296db78c7267440f0809eac992e2ce..6611046803d5ffd565017e07229ebee7f84d49b6 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_NETSPACE_V2=y
index 33678897538ffb25a9a324902d804ed413a3b971..41eeab8ad1c35e5e845ca7fe7fdade303aa34de1 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_NETSPACE_V2=y
index 9a0afaa2cff07d5c397863fa0533203f70a66378..fd56ae0dc2f1997877a7efb8876287e594121299 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_NETSPACE_V2=y
index 2f3f4d35aa7c4ae5bfc8a656eee6dbc0d5146780..ffb60dabcf97fd3333e4a739858b0561eda587e4 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_NETSPACE_V2=y
index eb29a70157c9ddff663b3d29a517fabd4c53d259..a428d761290f5ae541b3ac09c5d7ee70dede0945 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_NSA310S=y
index ea27731da309f420ba1915096d1a974e460753cc..3a529e8836fea8df56c6b6d17fdcee03684a2ec6 100644 (file)
@@ -4,7 +4,6 @@ CONFIG_ARM=y
 CONFIG_ARCH_OMAP2PLUS=y
 CONFIG_SYS_TEXT_BASE=0x80100000
 CONFIG_TI_COMMON_CMD_OPTIONS=y
-# CONFIG_SPL_GPIO_SUPPORT is not set
 CONFIG_SYS_MALLOC_F_LEN=0x4000
 CONFIG_TARGET_OMAP3_LOGIC=y
 # CONFIG_SPL_OMAP3_ID_NAND is not set
index 446a6d41f247edacdc36645288a6f87c34119754..0868e33131233b83be502e2a71d20addcb3fe241 100644 (file)
@@ -4,7 +4,6 @@ CONFIG_ARM=y
 CONFIG_ARCH_OMAP2PLUS=y
 CONFIG_SYS_TEXT_BASE=0x80100000
 CONFIG_TI_COMMON_CMD_OPTIONS=y
-# CONFIG_SPL_GPIO_SUPPORT is not set
 CONFIG_SYS_MALLOC_F_LEN=0x4000
 CONFIG_TARGET_OMAP3_LOGIC=y
 # CONFIG_SPL_OMAP3_ID_NAND is not set
index 151e3c25f9d6cf5620c0b120e953277a5d931d71..23521b295f308369ebc3c4cc8699b09e81aedafe 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
index c5404eff9c172712df3573057ce433a4f034a1fa..ea53231555378e567ccf07ac10d3f0a4d68e3abf 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
index d6dcbb6cc74ffe1b6d3dcda3096a615bba2f2c8f..589e248bbdc04171e4e54adaa573779cc243bf13 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
index 9d5bf7e1502f90228f24e04f8dc6cbbaf54d1e2a..e7d2f455f80a94a96924849faea48e9cf4ce7c99 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_SYS_TEXT_BASE=0x43E00000
 CONFIG_ARCH_EXYNOS4=y
index 943a5008af4a6b96f51207a84366bf2adda81691..58780607eb9938560112e2ed2acec79177b43b08 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_POGO_E02=y
index 7e0abaa8371d2a09c021769fec4f2c6cf44ff2e1..fa546aa994e92f47115133baded4e410ff4aecf5 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
index 3ffcb4ae6f485b54e0b1ea55c0db0fb5a1a2ce18..d8792d6157f90e585f394295b49349b7b96b5dc3 100644 (file)
@@ -63,6 +63,7 @@ CONFIG_SPL_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_SPL_SYSCON=y
 CONFIG_CPU=y
+CONFIG_NVME=y
 CONFIG_SPL_DM_RTC=y
 CONFIG_SPI=y
 CONFIG_SPL_TIMER=y
index e290c38bc22831860ba44a3d5b594145061f15f6..74a52e6670fb828daae826f662ff789ae01d1506 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
index 005b6e904467f6222400aff96b0eb53d76a28ce0..ffe50b1fd79498822f3bd6a9dcab7f517998f19c 100644 (file)
@@ -2,6 +2,8 @@ CONFIG_ARM=y
 CONFIG_SPL_SYS_THUMB_BUILD=y
 # CONFIG_SPL_USE_ARCH_MEMCPY is not set
 # CONFIG_SPL_USE_ARCH_MEMSET is not set
+CONFIG_SPL_SYS_ICACHE_OFF=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_AT91=y
 CONFIG_SYS_TEXT_BASE=0x23000000
 CONFIG_TARGET_SMARTWEB=y
index 834a75fde32cc0a10efd1ea1cde1fbf53cb3cc49..0012374e69470e36c27d408f126dff3055398fde 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_TARGET_STV0991=y
 CONFIG_SYS_TEXT_BASE=0x00010000
 CONFIG_SYS_MALLOC_F_LEN=0x2000
index 896232a715bb0bd37f1cff45e33c99680a9c9b2f..5616b3e23ac7a11ad2e383b78e76d32ac35c3493 100644 (file)
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_SYS_VENDOR="opalkelly"
 CONFIG_SYS_CONFIG_NAME="syzygy_hub"
 CONFIG_ARCH_ZYNQ=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
index 02a89592d747bb5d31ca6eb24c6e2dbb96288cd5..8af7dd7c3ab128784a8d88a7b810007fda4de011 100644 (file)
@@ -2,6 +2,8 @@ CONFIG_ARM=y
 CONFIG_SYS_THUMB_BUILD=y
 # CONFIG_SPL_USE_ARCH_MEMCPY is not set
 # CONFIG_SPL_USE_ARCH_MEMSET is not set
+CONFIG_SPL_SYS_ICACHE_OFF=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_AT91=y
 CONFIG_SPL_LDSCRIPT="arch/$(ARCH)/cpu/u-boot-spl.lds"
 CONFIG_SYS_TEXT_BASE=0x21000000
index b55885669d22b789bda8eef9ac7a5a230849c1ff..bb8d37a370df268cde91db0e8f0c21d133278d46 100644 (file)
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_SYS_VENDOR="topic"
 CONFIG_SYS_CONFIG_NAME="topic_miami"
 CONFIG_ARCH_ZYNQ=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
index 69832451734c9099642db60ef3d3cb028ad03c32..87af8c81d3d48d9260fbf062a267dc501b59d20e 100644 (file)
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_SYS_VENDOR="topic"
 CONFIG_SYS_CONFIG_NAME="topic_miami"
 CONFIG_ARCH_ZYNQ=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
index 89461ee6d20795403b2d6ae8b3c087aca3e3d016..874ca8a7469485215a30817ed5eec2f0b3c36d4c 100644 (file)
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_SYS_VENDOR="topic"
 CONFIG_SYS_CONFIG_NAME="topic_miami"
 CONFIG_ARCH_ZYNQ=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
index bb74542b67e7ddd61451b2e7fece4b21999029ac..ebc12abc27a60d64468e4b18e74ff3455962d351 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_TARGET_WOODBURN=y
 CONFIG_SYS_TEXT_BASE=0xA0000000
 CONFIG_NR_DRAM_BANKS=1
index 4976a70194b7d6f8a8ff1ed0a9175446bd856759..7182affbca533c880283ba54766c57b625a1c349 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_TARGET_WOODBURN_SD=y
 CONFIG_SYS_TEXT_BASE=0x82000000
 CONFIG_SPL_GPIO_SUPPORT=y
index 2cfcf4d337e95881d09e61a70d517405397e83ae..bbd13e0cd9f398bf8d8e4ee2a6f824408e6e19f2 100644 (file)
@@ -1,4 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_ICACHE_OFF=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_LPC32XX=y
 CONFIG_SYS_TEXT_BASE=0x80100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
index 186c1641bf9e68692ac94055ceac82b090466b64..19fac9012219483ab50d12ccacabafa6a7ccc9f5 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="xilinx_versal_mini_qspi"
+CONFIG_SYS_ICACHE_OFF=y
 CONFIG_ARCH_VERSAL=y
 CONFIG_SYS_TEXT_BASE=0xFFFC0000
 CONFIG_ENV_SIZE=0x80
index 7f12da62acedd5520f13c712c2cf966628631c6b..60c368c7661cc9b8e727a26a63ff15d99e6e7cba 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="xilinx_versal_mini"
+CONFIG_SYS_ICACHE_OFF=y
 CONFIG_ARCH_VERSAL=y
 CONFIG_SYS_TEXT_BASE=0x10000
 CONFIG_ENV_SIZE=0x80
index 720b0dda872bf6425690c375fb4f2cbb0601b430..cbbf75fe42aad706804baef650bf5340fb4d4696 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="xilinx_versal_mini"
+CONFIG_SYS_ICACHE_OFF=y
 CONFIG_ARCH_VERSAL=y
 CONFIG_SYS_TEXT_BASE=0x10000
 CONFIG_ENV_SIZE=0x80
index e54c81cb48c80cfe5dc12141e5440bc4c93a756a..aa9dd230b5f0406845e0c1c0ead4a992dc4f90b0 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_mini_qspi"
+CONFIG_SYS_ICACHE_OFF=y
 CONFIG_ARCH_ZYNQMP=y
 CONFIG_SYS_TEXT_BASE=0xFFFC0000
 CONFIG_ENV_SIZE=0x80
index c8d68864930807f9fb724c91db75d56a7c5271da..0faa3326132da7fdf82f0e711942798a93010096 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_mini_emmc"
+CONFIG_SYS_ICACHE_OFF=y
 CONFIG_ARCH_ZYNQMP=y
 CONFIG_SYS_TEXT_BASE=0x10000
 CONFIG_ENV_SIZE=0x80
index 29e472842a46ab1518ac7266f9cec9485a75e13c..867d2e5d9cee296aa64d625b14d27fd6dd9efa47 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_mini_emmc"
+CONFIG_SYS_ICACHE_OFF=y
 CONFIG_ARCH_ZYNQMP=y
 CONFIG_SYS_TEXT_BASE=0x10000
 CONFIG_ENV_SIZE=0x80
index 6dc0690fe2969137d222c0cea3e095830e2b5e30..4be624813ccf32ba65c0783e657d873979e09467 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_mini_nand"
+CONFIG_SYS_ICACHE_OFF=y
 CONFIG_ARCH_ZYNQMP=y
 CONFIG_SYS_TEXT_BASE=0x10000
 CONFIG_ENV_SIZE=0x80
index 3fe9820ad36cda346dbd27ca5e8f1e8ef0d5a789..d3cc851176273255a6e647cb6f392437160e1bb0 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="xilinx_zynqmp_mini_qspi"
+CONFIG_SYS_ICACHE_OFF=y
 CONFIG_ARCH_ZYNQMP=y
 CONFIG_SYS_TEXT_BASE=0xFFFC0000
 CONFIG_ENV_SIZE=0x80
index 089df8db15183c063977e3c9d71a3aa379e2de5a..966bb150d16f3a0be5728ff167b6c4a7b9e06d5b 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 23f9549bee988b09fe4a036e14e4eca872ae7cfa..76b85d4cb3902ec69288c1fb7349abf5319cb9ce 100644 (file)
@@ -1,6 +1,9 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="zynq_cse"
+CONFIG_SYS_ICACHE_OFF=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0x100000
 CONFIG_ENV_SIZE=0x190
 CONFIG_SPL_STACK_R_ADDR=0x200000
index d2bddecc27cc6a3b1ab4d0c2b9b254ca1a1721b8..fad7b5d66e05bfde59e24928cf82ad9f324c5c59 100644 (file)
@@ -1,6 +1,9 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="zynq_cse"
+CONFIG_SYS_ICACHE_OFF=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_SYS_TEXT_BASE=0xFFFC0000
 CONFIG_ENV_SIZE=0x190
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 2d33b6231e8ee539030e3fe06dc5cf32973066e7..8adeffcec964f3da99bfb210ab5317cb21658c90 100644 (file)
@@ -1,5 +1,7 @@
 CONFIG_ARM=y
 CONFIG_SYS_CONFIG_NAME="zynq_cse"
+CONFIG_SYS_ICACHE_OFF=y
+CONFIG_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0xFFFC0000
 CONFIG_ENV_SIZE=0x190
index 913581e504b065d58e2f30ca2cb712ef8a385c63..f9d2b31aacfafcbdd3738ce6d03374fe8a393830 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 83fa967641e7de1cee59a995ba006a5acde5b01a..5e7ff1666e237cbadeaccfbb5e9ea4483a8d043c 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 809fa91e96960a5e8e37013f5a533ba35d7d37d1..f253483b4888a1e9c26fd6835c8e412c47b90503 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 09d78dc8baa66a1d10378037045674fb147e53a6..0650ce2624af7fff8421df1004b46e42f0575b4e 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index f24fe31dc79774a06fc2b0602cace2839adf0cf6..4839ee238fc1582a78f3b447fda8510052d3c51c 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 748b080c7c2708f727e94e3807b53d17650c81ab..71559b09b075af70bcb94ead5002e4ca30d7f30e 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 9b0ddb0c937d0642ec259137dddc4fee3e921979..132ef6c0d75b73f5be709dcaa676d11a606c387d 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 8653d7a6797f2bf3108e76f8cb5be51c16b5c319..8ba35cb98309c2c8ab094660cf84b33f3fffb3d5 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index eb2583609768033d45e2a4134c3a5e87f44e5389..84f46a79244c81bd1877fb02babdb3e1b759102a 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 4e403394e053f335d7190ef72a4a7c071096e4fd..43ff1f4d16c1f0e7aa51327133a5ef69f3044aa1 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 868b73b59054adcf3263cd124af5a40ecbe861f1..2adf6868814c3e6079056c6cd802fe3ce3ac0359 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index b1d19f1cc27f0e7db7900931abbe7ae46e8fe3d6..ed6506d1ca5ebdeb86b446ff80779b9fcca1df80 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 09fc1c3b7205d568f44cd656368068da0ecc7592..2da6d40b49fce3491c3c8201a4502bdd31710e04 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 607bc276b4a5e51f850a9fdeceb223cf42826f1a..b51272b354b18c733acadfb0e902ba57dce01e87 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 81da0d28acc0859831b6d15f836459e4f7a69a6d..4deb14eefa27c413478dd491467b33abff7323df 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SPL_SYS_DCACHE_OFF=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SPL_STACK_R_ADDR=0x200000
index 188d8431975056b5c2e5680ad6557b2d91b4357f..e3135bb75fddb303cd3e826f02926df0c25e2cfe 100644 (file)
@@ -55,17 +55,6 @@ __weak void __iomem *ahci_port_base(void __iomem *base, u32 port)
        return base + 0x100 + (port * 0x80);
 }
 
-
-static void ahci_setup_port(struct ahci_ioports *port, void __iomem *base,
-                           unsigned int port_idx)
-{
-       base = ahci_port_base(base, port_idx);
-
-       port->cmd_addr = base;
-       port->scr_addr = base + PORT_SCR;
-}
-
-
 #define msleep(a) udelay(a * 1000)
 
 static void ahci_dcache_flush_range(unsigned long begin, unsigned long len)
@@ -240,7 +229,6 @@ static int ahci_host_init(struct ahci_uc_priv *uc_priv)
                        continue;
                uc_priv->port[i].port_mmio = ahci_port_base(mmio, i);
                port_mmio = (u8 *)uc_priv->port[i].port_mmio;
-               ahci_setup_port(&uc_priv->port[i], mmio, i);
 
                /* make sure port is not active */
                tmp = readl(port_mmio + PORT_CMD);
index 017cc89a89ff9ef15b72b19634e27753a5bd10f7..ac589feeb7d8bd7bb3446ade1820b1ae254782b6 100644 (file)
@@ -81,7 +81,7 @@ static int mxs_dma_read_semaphore(int channel)
        return tmp;
 }
 
-#ifndef        CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void mxs_dma_flush_desc(struct mxs_dma_desc *desc)
 {
        uint32_t addr;
index be4ee2c7f8a809f2ef08702bde29c2e4d94919ea..b93d77a39518ed0db5d48e7d151790bb04fcf172 100644 (file)
@@ -50,7 +50,7 @@ struct nand_ecclayout fake_ecc_layout;
 /*
  * Cache management functions
  */
-#ifndef        CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 static void mxs_nand_flush_data_buf(struct mxs_nand_info *info)
 {
        uint32_t addr = (uint32_t)info->data_buf;
index 9f1c5af46e992aec87b4ff826adc68ba27ccf47f..590e756f5c6ba8b265ed5b8b394b24f098c7bd53 100644 (file)
@@ -241,7 +241,7 @@ struct eqos_tegra186_regs {
  */
 #if EQOS_DESCRIPTOR_SIZE < ARCH_DMA_MINALIGN
 #if !defined(CONFIG_SYS_NONCACHED_MEMORY) && \
-       !defined(CONFIG_SYS_DCACHE_OFF) && !defined(CONFIG_X86)
+       !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) && !defined(CONFIG_X86)
 #warning Cache line size is larger than descriptor size
 #endif
 #endif
index bc052e72564bcd257233392d5ab0f873c379fffc..521e5909a256ebfd4b39a60a43e8278d4f984a2d 100644 (file)
@@ -302,7 +302,7 @@ static unsigned char rxdata[RX_BUF_LEN];
  */
 #if RTL8169_DESC_SIZE < ARCH_DMA_MINALIGN
 #if !defined(CONFIG_SYS_NONCACHED_MEMORY) && \
-       !defined(CONFIG_SYS_DCACHE_OFF) && !defined(CONFIG_X86)
+       !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) && !defined(CONFIG_X86)
 #warning cache-line size is larger than descriptor size
 #endif
 #endif
index 8e54e7cc7a7feaa7d0815f516b6751fffc960b84..da79b766a62241e4708af9d5f27cc6e09d0edc81 100644 (file)
@@ -34,7 +34,8 @@
 # error "Please define CONFIG_SH_ETHER_PHY_ADDR"
 #endif
 
-#if defined(CONFIG_SH_ETHER_CACHE_WRITEBACK) && !defined(CONFIG_SYS_DCACHE_OFF)
+#if defined(CONFIG_SH_ETHER_CACHE_WRITEBACK) && \
+       !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 #define flush_cache_wback(addr, len)    \
                flush_dcache_range((u32)addr, \
                (u32)(addr + ALIGN(len, CONFIG_SH_ETHER_ALIGNE_SIZE)))
index 1ee0a0aefb14e350d878e2237a29962af57d6834..d4965e2ef635984da967f06967ab30846ec00e17 100644 (file)
@@ -577,7 +577,7 @@ static int nvme_get_info_from_identify(struct nvme_dev *dev)
        int ret;
        int shift = NVME_CAP_MPSMIN(dev->cap) + 12;
 
-       ret = nvme_identify(dev, 0, 1, (dma_addr_t)ctrl);
+       ret = nvme_identify(dev, 0, 1, (dma_addr_t)(long)ctrl);
        if (ret)
                return -EIO;
 
@@ -646,7 +646,7 @@ static int nvme_blk_probe(struct udevice *udev)
        ns->dev = ndev;
        /* extract the namespace id from the block device name */
        ns->ns_id = trailing_strtol(udev->name) + 1;
-       if (nvme_identify(ndev, ns->ns_id, 0, (dma_addr_t)id))
+       if (nvme_identify(ndev, ns->ns_id, 0, (dma_addr_t)(long)id))
                return -EIO;
 
        flbas = id->flbas & NVME_NS_FLBAS_LBA_MASK;
index 395b0618e6448d87947dd766f173d31ce3fe4436..15e459da1acd4eb5e23005f461479fc51ca0d82c 100644 (file)
@@ -111,14 +111,14 @@ int nvme_print_info(struct udevice *udev)
        ALLOC_CACHE_ALIGN_BUFFER(char, buf_ctrl, sizeof(struct nvme_id_ctrl));
        struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf_ctrl;
 
-       if (nvme_identify(dev, 0, 1, (dma_addr_t)ctrl))
+       if (nvme_identify(dev, 0, 1, (dma_addr_t)(long)ctrl))
                return -EIO;
 
        print_optional_admin_cmd(le16_to_cpu(ctrl->oacs), ns->devnum);
        print_optional_nvm_cmd(le16_to_cpu(ctrl->oncs), ns->devnum);
        print_format_nvme_attributes(ctrl->fna, ns->devnum);
 
-       if (nvme_identify(dev, ns->ns_id, 0, (dma_addr_t)id))
+       if (nvme_identify(dev, ns->ns_id, 0, (dma_addr_t)(long)id))
                return -EIO;
 
        print_formats(id, ns);
index 14aac88d6d277576758ee3369bb4e76a179b8635..b19bfb4f2ff587e821c959afd511ad289737da8d 100644 (file)
@@ -149,7 +149,7 @@ void video_sync(struct udevice *vid, bool force)
         * architectures do not actually implement it. Is there a way to find
         * out whether it exists? For now, ARM is safe.
         */
-#if defined(CONFIG_ARM) && !defined(CONFIG_SYS_DCACHE_OFF)
+#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
        struct video_priv *priv = dev_get_uclass_priv(vid);
 
        if (priv->flush_dcache) {
index 44f56620382ff52dfd178cd56f5c4f7e420eab9b..9f14e7d77745219e205ee88641b539dd27c1cba5 100644 (file)
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <dm.h>
 #include <wdt.h>
+#include <clk.h>
 #include <asm/io.h>
 
 /* WDT Value register */
@@ -26,6 +27,7 @@
 
 struct bcm6345_wdt_priv {
        void __iomem *regs;
+       unsigned long clk_rate;
 };
 
 static int bcm6345_wdt_reset(struct udevice *dev)
@@ -41,16 +43,17 @@ static int bcm6345_wdt_reset(struct udevice *dev)
 static int bcm6345_wdt_start(struct udevice *dev, u64 timeout, ulong flags)
 {
        struct bcm6345_wdt_priv *priv = dev_get_priv(dev);
+       u32 val = priv->clk_rate / 1000 * timeout;
 
-       if (timeout < WDT_VAL_MIN) {
+       if (val < WDT_VAL_MIN) {
                debug("watchdog won't fire with less than 2 ticks\n");
-               timeout = WDT_VAL_MIN;
-       } else if (timeout > WDT_VAL_MAX) {
+               val = WDT_VAL_MIN;
+       } else if (val > WDT_VAL_MAX) {
                debug("maximum watchdog timeout exceeded\n");
-               timeout = WDT_VAL_MAX;
+               val = WDT_VAL_MAX;
        }
 
-       writel(timeout, priv->regs + WDT_VAL_REG);
+       writel(val, priv->regs + WDT_VAL_REG);
 
        return bcm6345_wdt_reset(dev);
 }
@@ -85,11 +88,19 @@ static const struct udevice_id bcm6345_wdt_ids[] = {
 static int bcm6345_wdt_probe(struct udevice *dev)
 {
        struct bcm6345_wdt_priv *priv = dev_get_priv(dev);
+       struct clk clk;
+       int ret;
 
        priv->regs = dev_remap_addr(dev);
        if (!priv->regs)
                return -EINVAL;
 
+       ret = clk_get_by_index(dev, 0, &clk);
+       if (!ret)
+               priv->clk_rate = clk_get_rate(&clk);
+       else
+               return -EINVAL;
+
        bcm6345_wdt_stop(dev);
 
        return 0;
index b42df6c77e30bcaf0c0fc77416f09e7f9d3331ea..fb96dd886115c77ddb103d3942e4c3356c06accc 100644 (file)
@@ -134,8 +134,6 @@ struct ahci_sg {
 };
 
 struct ahci_ioports {
-       void __iomem    *cmd_addr;
-       void __iomem    *scr_addr;
        void __iomem    *port_mmio;
        struct ahci_cmd_hdr     *cmd_slot;
        struct ahci_sg          *cmd_tbl_sg;
diff --git a/include/android_bootloader_message.h b/include/android_bootloader_message.h
new file mode 100644 (file)
index 0000000..b84789f
--- /dev/null
@@ -0,0 +1,246 @@
+/*
+ * This is from the Android Project,
+ * Repository: https://android.googlesource.com/platform/bootable/recovery
+ * File: bootloader_message/include/bootloader_message/bootloader_message.h
+ * Commit: c784ce50e8c10eaf70e1f97e24e8324aef45faf5
+ *
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef __ANDROID_BOOTLOADER_MESSAGE_H
+#define __ANDROID_BOOTLOADER_MESSAGE_H
+
+/* compiler.h defines the types that otherwise are included from stdint.h and
+ * stddef.h
+ */
+#include <compiler.h>
+
+/* Spaces used by misc partition are as below:
+ * 0   - 2K     For bootloader_message
+ * 2K  - 16K    Used by Vendor's bootloader (the 2K - 4K range may be optionally used
+ *              as bootloader_message_ab struct)
+ * 16K - 64K    Used by uncrypt and recovery to store wipe_package for A/B devices
+ * Note that these offsets are admitted by bootloader,recovery and uncrypt, so they
+ * are not configurable without changing all of them. */
+static const size_t BOOTLOADER_MESSAGE_OFFSET_IN_MISC = 0;
+static const size_t WIPE_PACKAGE_OFFSET_IN_MISC = 16 * 1024;
+
+/* Bootloader Message (2-KiB)
+ *
+ * This structure describes the content of a block in flash
+ * that is used for recovery and the bootloader to talk to
+ * each other.
+ *
+ * The command field is updated by linux when it wants to
+ * reboot into recovery or to update radio or bootloader firmware.
+ * It is also updated by the bootloader when firmware update
+ * is complete (to boot into recovery for any final cleanup)
+ *
+ * The status field was used by the bootloader after the completion
+ * of an "update-radio" or "update-hboot" command, which has been
+ * deprecated since Froyo.
+ *
+ * The recovery field is only written by linux and used
+ * for the system to send a message to recovery or the
+ * other way around.
+ *
+ * The stage field is written by packages which restart themselves
+ * multiple times, so that the UI can reflect which invocation of the
+ * package it is.  If the value is of the format "#/#" (eg, "1/3"),
+ * the UI will add a simple indicator of that status.
+ *
+ * We used to have slot_suffix field for A/B boot control metadata in
+ * this struct, which gets unintentionally cleared by recovery or
+ * uncrypt. Move it into struct bootloader_message_ab to avoid the
+ * issue.
+ */
+struct bootloader_message {
+    char command[32];
+    char status[32];
+    char recovery[768];
+
+    /* The 'recovery' field used to be 1024 bytes.  It has only ever
+     * been used to store the recovery command line, so 768 bytes
+     * should be plenty.  We carve off the last 256 bytes to store the
+     * stage string (for multistage packages) and possible future
+     * expansion. */
+    char stage[32];
+
+    /* The 'reserved' field used to be 224 bytes when it was initially
+     * carved off from the 1024-byte recovery field. Bump it up to
+     * 1184-byte so that the entire bootloader_message struct rounds up
+     * to 2048-byte. */
+    char reserved[1184];
+};
+
+/**
+ * We must be cautious when changing the bootloader_message struct size,
+ * because A/B-specific fields may end up with different offsets.
+ */
+#if (__STDC_VERSION__ >= 201112L) || defined(__cplusplus)
+static_assert(sizeof(struct bootloader_message) == 2048,
+              "struct bootloader_message size changes, which may break A/B devices");
+#endif
+
+/**
+ * The A/B-specific bootloader message structure (4-KiB).
+ *
+ * We separate A/B boot control metadata from the regular bootloader
+ * message struct and keep it here. Everything that's A/B-specific
+ * stays after struct bootloader_message, which should be managed by
+ * the A/B-bootloader or boot control HAL.
+ *
+ * The slot_suffix field is used for A/B implementations where the
+ * bootloader does not set the androidboot.ro.boot.slot_suffix kernel
+ * commandline parameter. This is used by fs_mgr to mount /system and
+ * other partitions with the slotselect flag set in fstab. A/B
+ * implementations are free to use all 32 bytes and may store private
+ * data past the first NUL-byte in this field. It is encouraged, but
+ * not mandatory, to use 'struct bootloader_control' described below.
+ *
+ * The update_channel field is used to store the Omaha update channel
+ * if update_engine is compiled with Omaha support.
+ */
+struct bootloader_message_ab {
+    struct bootloader_message message;
+    char slot_suffix[32];
+    char update_channel[128];
+
+    /* Round up the entire struct to 4096-byte. */
+    char reserved[1888];
+};
+
+/**
+ * Be cautious about the struct size change, in case we put anything post
+ * bootloader_message_ab struct (b/29159185).
+ */
+#if (__STDC_VERSION__ >= 201112L) || defined(__cplusplus)
+static_assert(sizeof(struct bootloader_message_ab) == 4096,
+              "struct bootloader_message_ab size changes");
+#endif
+
+#define BOOT_CTRL_MAGIC   0x42414342 /* Bootloader Control AB */
+#define BOOT_CTRL_VERSION 1
+
+struct slot_metadata {
+    /* Slot priority with 15 meaning highest priority, 1 lowest
+     * priority and 0 the slot is unbootable. */
+    uint8_t priority : 4;
+    /* Number of times left attempting to boot this slot. */
+    uint8_t tries_remaining : 3;
+    /* 1 if this slot has booted successfully, 0 otherwise. */
+    uint8_t successful_boot : 1;
+    /* 1 if this slot is corrupted from a dm-verity corruption, 0
+     * otherwise. */
+    uint8_t verity_corrupted : 1;
+    /* Reserved for further use. */
+    uint8_t reserved : 7;
+} __attribute__((packed));
+
+/* Bootloader Control AB
+ *
+ * This struct can be used to manage A/B metadata. It is designed to
+ * be put in the 'slot_suffix' field of the 'bootloader_message'
+ * structure described above. It is encouraged to use the
+ * 'bootloader_control' structure to store the A/B metadata, but not
+ * mandatory.
+ */
+struct bootloader_control {
+    /* NUL terminated active slot suffix. */
+    char slot_suffix[4];
+    /* Bootloader Control AB magic number (see BOOT_CTRL_MAGIC). */
+    uint32_t magic;
+    /* Version of struct being used (see BOOT_CTRL_VERSION). */
+    uint8_t version;
+    /* Number of slots being managed. */
+    uint8_t nb_slot : 3;
+    /* Number of times left attempting to boot recovery. */
+    uint8_t recovery_tries_remaining : 3;
+    /* Ensure 4-bytes alignment for slot_info field. */
+    uint8_t reserved0[2];
+    /* Per-slot information.  Up to 4 slots. */
+    struct slot_metadata slot_info[4];
+    /* Reserved for further use. */
+    uint8_t reserved1[8];
+    /* CRC32 of all 28 bytes preceding this field (little endian
+     * format). */
+    uint32_t crc32_le;
+} __attribute__((packed));
+
+#if (__STDC_VERSION__ >= 201112L) || defined(__cplusplus)
+static_assert(sizeof(struct bootloader_control) ==
+              sizeof(((struct bootloader_message_ab *)0)->slot_suffix),
+              "struct bootloader_control has wrong size");
+#endif
+
+#ifndef __UBOOT__
+
+#ifdef __cplusplus
+
+#include <string>
+#include <vector>
+
+/* Return the block device name for the bootloader message partition and waits
+ * for the device for up to 10 seconds. In case of error returns the empty
+ * string. */
+std::string get_bootloader_message_blk_device(std::string* err);
+
+/* Read bootloader message into boot. Error message will be set in err. */
+bool read_bootloader_message(bootloader_message* boot, std::string* err);
+
+/* Read bootloader message from the specified misc device into boot. */
+bool read_bootloader_message_from(bootloader_message* boot, const std::string& misc_blk_device,
+                                  std::string* err);
+
+/* Write bootloader message to BCB. */
+bool write_bootloader_message(const bootloader_message& boot, std::string* err);
+
+/* Write bootloader message to the specified BCB device. */
+bool write_bootloader_message_to(const bootloader_message& boot,
+                                 const std::string& misc_blk_device, std::string* err);
+
+/* Write bootloader message (boots into recovery with the options) to BCB. Will
+ * set the command and recovery fields, and reset the rest. */
+bool write_bootloader_message(const std::vector<std::string>& options, std::string* err);
+
+/* Write bootloader message (boots into recovery with the options) to the specific BCB device. Will
+ * set the command and recovery fields, and reset the rest. */
+bool write_bootloader_message_to(const std::vector<std::string>& options,
+                                 const std::string& misc_blk_device, std::string* err);
+
+/* Update bootloader message (boots into recovery with the options) to BCB. Will
+ * only update the command and recovery fields. */
+bool update_bootloader_message(const std::vector<std::string>& options, std::string* err);
+
+/* Update bootloader message (boots into recovery with the |options|) in |boot|. Will only update
+ * the command and recovery fields. */
+bool update_bootloader_message_in_struct(bootloader_message* boot,
+                                         const std::vector<std::string>& options);
+
+/* Clear BCB. */
+bool clear_bootloader_message(std::string* err);
+
+/* Writes the reboot-bootloader reboot reason to the bootloader_message. */
+bool write_reboot_bootloader(std::string* err);
+
+/* Read the wipe package from BCB (from offset WIPE_PACKAGE_OFFSET_IN_MISC). */
+bool read_wipe_package(std::string* package_data, size_t size, std::string* err);
+
+/* Write the wipe package into BCB (to offset WIPE_PACKAGE_OFFSET_IN_MISC). */
+bool write_wipe_package(const std::string& package_data, std::string* err);
+
+#else
+
+#include <stdbool.h>
+
+/* C Interface. */
+bool write_bootloader_message(const char* options);
+bool write_reboot_bootloader(void);
+
+#endif  /* ifdef __cplusplus */
+
+#endif  /* __UBOOT__ */
+
+#endif  /* __ANDROID_BOOTLOADER_MESSAGE_H */
index 771189d877703642053d95fe1ccca73bf30b76d5..0cb40e721cef16b33a013cdab6415a8842574773 100644 (file)
@@ -21,7 +21,6 @@
 #define CONFIG_SYS_TIMER_COUNTS_DOWN
 #define CONFIG_SYS_TIMER_COUNTER       (TMU_BASE + 0xc)        /* TCNT0 */
 #define CONFIG_SYS_TIMER_RATE          (CONFIG_SYS_CLK_FREQ / 4)
-#define CONFIG_SYS_DCACHE_OFF
 
 /* STACK */
 #define CONFIG_SYS_INIT_SP_ADDR                0xE8083000
index 46062492cd0a8c5dd71f86d6934865f09d3c9e71..6815c5ff2cfa0d4712b1c19f7439830f03c41698 100644 (file)
@@ -15,9 +15,6 @@
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_INITRD_TAG
 
-/* Enable cache controller */
-#define CONFIG_SYS_DCACHE_OFF
-
 #define CONFIG_SYS_SDRAM_BASE          0x80000000
 
 #ifdef CONFIG_PRE_CON_BUF_SZ
index d0c7de34a0137df34701b9f9510a98434a5b9998..deafb7b702da52cac45b740e899ecdfa14f8175e 100644 (file)
 
 #define CONFIG_USBID_ADDR              0x34052c46
 
-#define CONFIG_SYS_ICACHE_OFF
-#define CONFIG_SYS_DCACHE_OFF
 #define CONFIG_SYS_L2CACHE_OFF
 
 #endif /* __BCM23550_W1D_H */
index 2de6f2186170c0839d29c6905b71c385c7209e97..a0f7ead4c749402fe4e73e8a384e848ae6b1b1a4 100644 (file)
@@ -34,7 +34,6 @@
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
 #define CONFIG_SYS_NAND_SELF_INIT
 #define CONFIG_SYS_NAND_ONFI_DETECTION
-#define CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
 #endif /* CONFIG_NAND */
 
 /*
index 355f3ef5be5e8fa30a068ec6c8d7520faebff971..aa6ce67d53363dfd10a57120ab3828a7ca06f666 100644 (file)
@@ -12,5 +12,4 @@
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
 #define CONFIG_SYS_NAND_SELF_INIT
 #define CONFIG_SYS_NAND_ONFI_DETECTION
-#define CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
 #endif /* CONFIG_NAND */
index 52b4f55f7c5fe2ef40f16356a2c192f49bf8c420..fdb620341dc719a04fa05ea385876983ba43ad33 100644 (file)
@@ -33,7 +33,6 @@
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
 #define CONFIG_SYS_NAND_SELF_INIT
 #define CONFIG_SYS_NAND_ONFI_DETECTION
-#define CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
 #endif /* CONFIG_NAND */
 
 /*
index 622b02492dd2d2eeb0f1f5befa80fc37b7bc404c..d4802f9914c8d32e70925847abd79944c2c469ec 100644 (file)
@@ -16,9 +16,6 @@
 /* Avoid overwriting factory configuration block */
 #define CONFIG_BOARD_SIZE_LIMIT                0x40000
 
-/* We will never enable dcache because we have to setup MMU first */
-#define CONFIG_SYS_DCACHE_OFF
-
 /*
  * Environment settings
  */
index 680de8f29422d8d0c1d53550180021eb47b77d81..97af9a6258fb07a502eb935c136d286435b055f5 100644 (file)
@@ -94,6 +94,4 @@
 
 #define CONFIG_SYS_LOAD_ADDR  0x1000000      /* default location for tftp and bootm */
 
-#define CONFIG_SYS_DCACHE_OFF
-
 #endif /* _CONFIG_DB_88F6281_BP_H */
index ae9e4d4a2c88f6bd6a982056c02c3d79592e60d7..c93a5deb99b269983d2aed42d979920acc1173f3 100644 (file)
@@ -14,8 +14,6 @@
 
 #define CONFIG_MACH_TYPE               MACH_TYPE_DEVKIT3250
 
-#define CONFIG_SYS_ICACHE_OFF
-#define CONFIG_SYS_DCACHE_OFF
 #if !defined(CONFIG_SPL_BUILD)
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #endif
index e7f8b7a2aeaf586a7a406422ed941c2a78972846..4cd823fa363e618db6848dce34855b83494ff869 100644 (file)
@@ -17,8 +17,6 @@
  /* High Level Configuration Options */
 #define CONFIG_MX35
 
-#define CONFIG_SYS_DCACHE_OFF
-
 #define CONFIG_MACH_TYPE               MACH_TYPE_FLEA3
 
 /* Set TEXT at the beginning of the NOR flash */
index a8c4ddf0fd461ff308c13a1a9ab22ece9fce929c..7da8739a19600099140e35b87aac8f54f04949a0 100644 (file)
@@ -33,9 +33,6 @@
  * Commands configuration
  */
 
-/* Disable DCACHE */
-#define CONFIG_SYS_DCACHE_OFF
-
 /* Network configuration */
 #ifdef CONFIG_CMD_NET
 #define CONFIG_ARMADA100_FEC
index 2566867e821b46a7ab05b91bb1592cfdea447d0e..c0e295b6b745c7cd410017f44e7f610d9471c9e9 100644 (file)
@@ -6,8 +6,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_SYS_DCACHE_OFF
-
 #define CONFIG_SYS_BOOTMAPSZ           (16 << 20)
 
 #define CONFIG_SYS_TIMER_RATE          (150000000/256)
index 7759bbf2645f7d05ae303c91b409d9bcdbcd00a2..e4fa2df34253849466dbdb03dc15eaa4dbfb41dd 100644 (file)
@@ -36,8 +36,6 @@
 #define CONFIG_SYS_SPL_MALLOC_START    0x42200000
 #define CONFIG_SYS_SPL_MALLOC_SIZE    0x80000  /* 512 KB */
 #define CONFIG_SYS_SPL_PTE_RAM_BASE    0x41580000
-#define CONFIG_SYS_ICACHE_OFF
-#define CONFIG_SYS_DCACHE_OFF
 
 /* malloc f used before GD_FLG_FULL_MALLOC_INIT set */
 #define CONFIG_MALLOC_F_ADDR           0x182000
index 02c5d1c05476af5d502e59d5b954013bf0214c64..2bdf3be65460cae08923eec82bd2179cd086d942 100644 (file)
@@ -24,8 +24,6 @@
 #define CONFIG_SYS_SPL_MALLOC_START    0x00120000
 #define CONFIG_SYS_SPL_MALLOC_SIZE     0x3000  /* 12 KB */
 #define CONFIG_SERIAL_LPUART_BASE      0x5a060000
-#define CONFIG_SYS_ICACHE_OFF
-#define CONFIG_SYS_DCACHE_OFF
 #define CONFIG_MALLOC_F_ADDR           0x00120000
 
 #define CONFIG_SPL_RAW_IMAGE_ARM_TRUSTED_FIRMWARE
index 40163c8d5049ef16acf4be399437f3758013676a..261661a9782ddb3deead1ded5b606cfd775808f9 100644 (file)
@@ -23,8 +23,6 @@
 #define CONFIG_SYS_SPL_MALLOC_START    0x00120000
 #define CONFIG_SYS_SPL_MALLOC_SIZE     0x3000  /* 12 KB */
 #define CONFIG_SERIAL_LPUART_BASE      0x5a060000
-#define CONFIG_SYS_ICACHE_OFF
-#define CONFIG_SYS_DCACHE_OFF
 #define CONFIG_MALLOC_F_ADDR           0x00120000
 
 #define CONFIG_SPL_RAW_IMAGE_ARM_TRUSTED_FIRMWARE
index 5bd63929735ebfa82383ff23e0a6f96fd10f449c..2af5a4fe3e613abce5118fea8651a05b2115acca 100644 (file)
 #define CONFIG_SYS_INIT_SP_ADDR \
        (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 #define CONFIG_CMD_CACHE
 #endif
 
index 1075084ba32f6cb5b35d892040708b8869564e14..44561acbf4a63a87ce9f48debf6f66ee9cb38bf2 100644 (file)
@@ -14,8 +14,6 @@
 #define CONFIG_EXYNOS4210              1       /* which is a EXYNOS4210 SoC */
 #define CONFIG_ORIGEN                  1       /* working with ORIGEN*/
 
-#define CONFIG_SYS_DCACHE_OFF          1
-
 /* ORIGEN has 4 bank of DRAM */
 #define CONFIG_SYS_SDRAM_BASE          0x40000000
 #define PHYS_SDRAM_1                   CONFIG_SYS_SDRAM_BASE
index 0d0c6bdc69d9e2251173d601310e065ac841de82..776d7d7970531b007c069e704a32fa27f3d28713 100644 (file)
 #define CONFIG_SYS_MCKR_CSS            (0x02 | CONFIG_SYS_MCKR)
 #define CONFIG_SYS_AT91_PLLB           0x10483f0e
 
-#if defined(CONFIG_SPL_BUILD)
-#define CONFIG_SYS_ICACHE_OFF
-#define CONFIG_SYS_DCACHE_OFF
-#endif
-
 #define CONFIG_SPL_PAD_TO              CONFIG_SYS_NAND_U_BOOT_OFFS
 #define CONFIG_SYS_SPL_LEN             CONFIG_SPL_PAD_TO
 
index 3177b7a75952af083ba63bfd161f4f34eea5f65b..e5262085fc75aa688268ed3fa0d2a8f42f6c7b3c 100644 (file)
@@ -6,7 +6,6 @@
 
 #ifndef __CONFIG_STV0991_H
 #define __CONFIG_STV0991_H
-#define CONFIG_SYS_DCACHE_OFF
 #define CONFIG_SYS_EXCEPTION_VECTORS_HIGH
 
 /* ram memory-related information */
index 45a4a800c5809726641b47a861194d76fb180156..dbb01af43979a525139d63bd39ba97380b3f29b6 100644 (file)
 #include <asm/hardware.h>
 #include <linux/sizes.h>
 
-#if defined(CONFIG_SPL_BUILD)
-#define CONFIG_SYS_ICACHE_OFF
-#define CONFIG_SYS_DCACHE_OFF
-#endif
 /*
  * Warning: changing CONFIG_SYS_TEXT_BASE requires
  * adapting the initial boot program.
index 6c867671cf1adc1663aded165910b134a2554ff7..b44b51bbd1a604a4604cd3e623caf4b275f6b210 100644 (file)
@@ -17,7 +17,6 @@
 /* SoC Configuration */
 #define CONFIG_ARCH_CPU_INIT
 #define CONFIG_SPL_TARGET              "u-boot-spi.gph"
-#define CONFIG_SYS_DCACHE_OFF
 
 /* Memory Configuration */
 #define CONFIG_SYS_LPAE_SDRAM_BASE     0x800000000
index bec7b68794cd572a731db019e397f1e8b52e2727..5b42e0c1dee53ca106cd204f3cca29dd850a271b 100644 (file)
  * MMU and Cache Setting
  *----------------------------------------------------------------------*/
 
-/* Comment out the following to enable L1 cache */
-/* #define CONFIG_SYS_ICACHE_OFF */
-/* #define CONFIG_SYS_DCACHE_OFF */
-
 #define CONFIG_SYS_MALLOC_LEN          (4 * 1024 * 1024)
 
 #define CONFIG_TIMESTAMP
index 82c57b65e6f0e0e6e10169ae258dc6bd0ca562bf..5ad3dab51c4a952bec80096530f692142565305c 100644 (file)
@@ -17,8 +17,6 @@
 #define CONFIG_MX35_HCLK_FREQ  24000000
 #define CONFIG_SYS_FSL_CLK
 
-#define CONFIG_SYS_DCACHE_OFF
-
 #define CONFIG_MACH_TYPE               MACH_TYPE_FLEA3
 
 /* This is required to setup the ESDC controller */
index 8d97905a59511c38e0424596e97baf54d6e0de8c..e260a637d6fd82de6e25207cca5eb5b53ac888f5 100644 (file)
@@ -19,8 +19,6 @@
  */
 #define CONFIG_MACH_TYPE               736
 
-#define CONFIG_SYS_ICACHE_OFF
-#define CONFIG_SYS_DCACHE_OFF
 #if !defined(CONFIG_SPL_BUILD)
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #endif
index c15fb5fc3b678fd64849848fb7b5a5e55adfd796..4b3691b407336420785c62a816e5c9cb42ed5736 100644 (file)
@@ -10,9 +10,6 @@
 #ifndef __CONFIG_VERSAL_MINI_H
 #define __CONFIG_VERSAL_MINI_H
 
-/* #define CONFIG_SYS_DCACHE_OFF */
-#define CONFIG_SYS_ICACHE_OFF
-
 #define CONFIG_SYS_MEMTEST_SCRATCH     0xfffc0000
 
 #define CONFIG_EXTRA_ENV_SETTINGS
index 8fdff505283fe0e1d21776eef56a9fee4b537afc..a7ae30d4d70d396d5728c005723cfa4342bafc5e 100644 (file)
@@ -12,7 +12,6 @@
 
 #include <configs/xilinx_zynqmp_mini.h>
 
-#define CONFIG_SYS_ICACHE_OFF
 #define CONFIG_SYS_INIT_SP_ADDR        CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_MALLOC_LEN  0x800000
 
index aaa9eee009607f32ef8cc0905566d8b3136eea48..692f6e5d1ae8ce4fd0314a3f3f389844fbc0d233 100644 (file)
@@ -12,7 +12,6 @@
 
 #include <configs/xilinx_zynqmp_mini.h>
 
-#define CONFIG_SYS_ICACHE_OFF
 #define CONFIG_SYS_SDRAM_SIZE  0x1000000
 #define CONFIG_SYS_SDRAM_BASE  0x0
 #define CONFIG_SYS_INIT_SP_ADDR        (CONFIG_SYS_SDRAM_BASE + 0x40000)
index 679ad0be3e00cda717c7f57673b34dc32fc5be25..129af6e932944e3bd64e9b187ebcefeff6c4cc77 100644 (file)
@@ -12,7 +12,6 @@
 
 #include <configs/xilinx_zynqmp_mini.h>
 
-#define CONFIG_SYS_ICACHE_OFF
 #define CONFIG_SYS_INIT_SP_ADDR        (CONFIG_SYS_TEXT_BASE + 0x20000)
 #define CONFIG_SYS_MALLOC_LEN  0x2000
 
index 523d4da56b2ebc79fafa3d46a23a53d460cc77f9..143dc7bb22471a257cebc402a9f6284823eaf4d9 100644 (file)
 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME     "u-boot.img"
 #endif
 
-/* Disable dcache for SPL just for sure */
-#ifdef CONFIG_SPL_BUILD
-#define CONFIG_SYS_DCACHE_OFF
-#endif
-
 /* Address in RAM where the parameters must be copied by SPL. */
 #define CONFIG_SYS_SPL_ARGS_ADDR       0x10000000
 
index e7a4d4108ae93b3980d947f2141f6946ada042cd..daf7d75d3008b652d6466388a822bfda73f40a73 100644 (file)
@@ -10,8 +10,6 @@
 #define __CONFIG_ZYNQ_CSE_H
 
 #define CONFIG_SKIP_LOWLEVEL_INIT
-#define CONFIG_SYS_DCACHE_OFF
-#define CONFIG_SYS_ICACHE_OFF
 
 #include <configs/zynq-common.h>
 
index f09909e189ba9314d321e79d807f9a66c92ce5c1..a9aaef345faf3821272d56bd7633da80984f1c28 100644 (file)
@@ -67,7 +67,7 @@ struct spl_image_info {
        u8 os;
        uintptr_t load_addr;
        uintptr_t entry_point;
-#if CONFIG_IS_ENABLED(LOAD_FIT)
+#if CONFIG_IS_ENABLED(LOAD_FIT) || CONFIG_IS_ENABLED(LOAD_FIT_FULL)
        void *fdt_addr;
 #endif
        u32 boot_device;
index 62adc751cbce4a8ab236ee2abd627e91c4912a44..45287437928cceae95863b18bda1a7775eb0268c 100644 (file)
@@ -70,10 +70,10 @@ int main(int argc, char **argv)
                usage(*argv);
        }
 
-       ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false);
+       ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false, true);
        if (ffd < 0)
                return EXIT_FAILURE;
-       kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false);
+       kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false, true);
        if (kfd < 0)
                return EXIT_FAILURE;
 
index 9506390214ce028bbe0045d88161538ec652da2d..cdf987d3c1389004ccf98135cd1d88aa54e174ff 100644 (file)
@@ -41,13 +41,14 @@ int fit_check_image_types(uint8_t type)
 }
 
 int mmap_fdt(const char *cmdname, const char *fname, size_t size_inc,
-            void **blobp, struct stat *sbuf, bool delete_on_error)
+            void **blobp, struct stat *sbuf, bool delete_on_error,
+            bool read_only)
 {
        void *ptr;
        int fd;
 
        /* Load FIT blob into memory (we need to write hashes/signatures) */
-       fd = open(fname, O_RDWR | O_BINARY);
+       fd = open(fname, (read_only ? O_RDONLY : O_RDWR) | O_BINARY);
 
        if (fd < 0) {
                fprintf(stderr, "%s: Can't open %s: %s\n",
@@ -71,7 +72,9 @@ int mmap_fdt(const char *cmdname, const char *fname, size_t size_inc,
        }
 
        errno = 0;
-       ptr = mmap(0, sbuf->st_size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
+       ptr = mmap(0, sbuf->st_size,
+                  (read_only ? PROT_READ : PROT_READ | PROT_WRITE), MAP_SHARED,
+                  fd, 0);
        if ((ptr == MAP_FAILED) || (errno != 0)) {
                fprintf(stderr, "%s: Can't read %s: %s\n",
                        cmdname, fname, strerror(errno));
index 9e09624f64eea18989d3cfc0f5d96f985ee70dbd..1e81d4c68b61eafd6f91635ae3fe205bed57b213 100644 (file)
@@ -32,9 +32,11 @@ int fit_check_image_types(uint8_t type);
  * @blobp:     Returns pointer to FDT blob
  * @sbuf:      File status information is stored here
  * @delete_on_error:   true to delete the file if we get an error
+ * @read_only: true to open in read-only mode
  * @return 0 if OK, -1 on error.
  */
 int mmap_fdt(const char *cmdname, const char *fname, size_t size_inc,
-            void **blobp, struct stat *sbuf, bool delete_on_error);
+            void **blobp, struct stat *sbuf, bool delete_on_error,
+            bool read_only);
 
 #endif /* _FIT_COMMON_H_ */
index 3b867e06564e34e2e80f4997b3ce84967fd35f76..5aca634b5e935e6baf95312eef48f028f7cd8f2e 100644 (file)
@@ -33,7 +33,8 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc,
        void *ptr;
        int ret = 0;
 
-       tfd = mmap_fdt(params->cmdname, tmpfile, size_inc, &ptr, &sbuf, true);
+       tfd = mmap_fdt(params->cmdname, tmpfile, size_inc, &ptr, &sbuf, true,
+                      false);
        if (tfd < 0)
                return -EIO;
 
@@ -41,7 +42,8 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc,
                struct stat dest_sbuf;
 
                destfd = mmap_fdt(params->cmdname, params->keydest, size_inc,
-                                 &dest_blob, &dest_sbuf, false);
+                                 &dest_blob, &dest_sbuf, false,
+                                 false);
                if (destfd < 0) {
                        ret = -EIO;
                        goto err_keydest;
@@ -420,7 +422,7 @@ static int fit_extract_data(struct image_tool_params *params, const char *fname)
        int images;
        int node;
 
-       fd = mmap_fdt(params->cmdname, fname, 0, &fdt, &sbuf, false);
+       fd = mmap_fdt(params->cmdname, fname, 0, &fdt, &sbuf, false, false);
        if (fd < 0)
                return -EIO;
        fit_size = fdt_totalsize(fdt);
@@ -531,7 +533,7 @@ static int fit_import_data(struct image_tool_params *params, const char *fname)
        int images;
        int node;
 
-       fd = mmap_fdt(params->cmdname, fname, 0, &old_fdt, &sbuf, false);
+       fd = mmap_fdt(params->cmdname, fname, 0, &old_fdt, &sbuf, false, false);
        if (fd < 0)
                return -EIO;
        fit_size = fdt_totalsize(old_fdt);
index 45e0b310f778791e1c4d53e8b2cf136f5db5bb62..b2642ec5b763a606408ff4422da64e7f26b151ec 100644 (file)
@@ -80,7 +80,7 @@ int main(int argc, char **argv)
                fprintf(stderr, "%s: Missing property name\n", *argv);
                usage(*argv);
        }
-       ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false);
+       ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false, false);
 
        if (ffd < 0) {
                printf("Could not open %s\n", fdtfile);