Convert CONFIG_SYS_NONCACHED_MEMORY to Kconfig

This converts the following to Kconfig:
   CONFIG_SYS_NONCACHED_MEMORY

To do this we introduce CONFIG_SYS_HAS_NONCACHED_MEMORY as a bool to
gate if we are going to have noncached_... functions available and then
continue to use CONFIG_SYS_NONCACHED_MEMORY to store the size of said
cache. We make this new option depend on both the architectures which
implement support and the drivers which make use of it.

Cc: Tom Warren <twarren@nvidia.com>
Cc: "Ying-Chun Liu (PaulLiu)" <paul.liu@linaro.org>
Cc: Alban Bedel <alban.bedel@avionic-design.de>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Cc: Allen Martin <amartin@nvidia.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/README b/README
index 351c039..389943d 100644
--- a/README
+++ b/README
@@ -1473,25 +1473,6 @@
 		boards which do not use the full malloc in SPL (which is
 		enabled with CONFIG_SYS_SPL_MALLOC).
 
-- CONFIG_SYS_NONCACHED_MEMORY:
-		Size of non-cached memory area. This area of memory will be
-		typically located right below the malloc() area and mapped
-		uncached in the MMU. This is useful for drivers that would
-		otherwise require a lot of explicit cache maintenance. For
-		some drivers it's also impossible to properly maintain the
-		cache. For example if the regions that need to be flushed
-		are not a multiple of the cache-line size, *and* padding
-		cannot be allocated between the regions to align them (i.e.
-		if the HW requires a contiguous array of regions, and the
-		size of each region is not cache-aligned), then a flush of
-		one region may result in overwriting data that hardware has
-		written to another region in the same cache-line. This can
-		happen for example in network drivers where descriptors for
-		buffers are typically smaller than the CPU cache-line (e.g.
-		16 bytes vs. 32 or 64 bytes).
-
-		Non-cached memory is only supported on 32-bit ARM at present.
-
 - CONFIG_SYS_BOOTMAPSZ:
 		Maximum size of memory mapped by the startup code of
 		the Linux kernel; all data that must be processed by
diff --git a/arch/Kconfig b/arch/Kconfig
index e3a456a..ae39716 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -438,6 +438,30 @@
 	  normal CP15 init (such as enabling the instruction cache) is still
 	  performed.
 
+config SYS_HAS_NONCACHED_MEMORY
+	bool "Enable reserving a non-cached memory area for drivers"
+	depends on (ARM || MIPS) && (RTL8169 || MEDIATEK_ETH)
+	help
+	  This is useful for drivers that would otherwise require a lot of
+	  explicit cache maintenance. For some drivers it's also impossible to
+	  properly maintain the cache. For example if the regions that need to
+	  be flushed are not a multiple of the cache-line size, *and* padding
+	  cannot be allocated between the regions to align them (i.e.  if the
+	  HW requires a contiguous array of regions, and the size of each
+	  region is not cache-aligned), then a flush of one region may result
+	  in overwriting data that hardware has written to another region in
+	  the same cache-line. This can happen for example in network drivers
+	  where descriptors for buffers are typically smaller than the CPU
+	  cache-line (e.g.  16 bytes vs. 32 or 64 bytes).
+
+config SYS_NONCACHED_MEMORY
+	hex "Size in bytes of the non-cached memory area"
+	depends on SYS_HAS_NONCACHED_MEMORY
+	default 0x100000
+	help
+	  Size of non-cached memory area. This area of memory will be typically
+	  located right below the malloc() area and mapped uncached in the MMU.
+
 source "arch/arc/Kconfig"
 source "arch/arm/Kconfig"
 source "arch/m68k/Kconfig"
diff --git a/configs/apalis-tk1_defconfig b/configs/apalis-tk1_defconfig
index 70ef62a..6c27901 100644
--- a/configs/apalis-tk1_defconfig
+++ b/configs/apalis-tk1_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/apalis_t30_defconfig b/configs/apalis_t30_defconfig
index 587af46..b50665b 100644
--- a/configs/apalis_t30_defconfig
+++ b/configs/apalis_t30_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
index 24f619c..0967367 100644
--- a/configs/beaver_defconfig
+++ b/configs/beaver_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/cardhu_defconfig b/configs/cardhu_defconfig
index 87aa930..9bfa759 100644
--- a/configs/cardhu_defconfig
+++ b/configs/cardhu_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/cei-tk1-som_defconfig b/configs/cei-tk1-som_defconfig
index f716f62..58d75a5 100644
--- a/configs/cei-tk1-som_defconfig
+++ b/configs/cei-tk1-som_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/colibri_t20_defconfig b/configs/colibri_t20_defconfig
index 224de94..95fef40 100644
--- a/configs/colibri_t20_defconfig
+++ b/configs/colibri_t20_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x00110000
diff --git a/configs/colibri_t30_defconfig b/configs/colibri_t30_defconfig
index a616eae..a69acd9 100644
--- a/configs/colibri_t30_defconfig
+++ b/configs/colibri_t30_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
index cc46f4e..ea8bc8a 100644
--- a/configs/dalmore_defconfig
+++ b/configs/dalmore_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/harmony_defconfig b/configs/harmony_defconfig
index 353d1a3..5a3c509 100644
--- a/configs/harmony_defconfig
+++ b/configs/harmony_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x00110000
diff --git a/configs/imx8mp_rsb3720a1_4G_defconfig b/configs/imx8mp_rsb3720a1_4G_defconfig
index 5e29320..48436ff 100644
--- a/configs/imx8mp_rsb3720a1_4G_defconfig
+++ b/configs/imx8mp_rsb3720a1_4G_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_ARCH_IMX8M=y
 CONFIG_TEXT_BASE=0x40200000
 CONFIG_SYS_MALLOC_LEN=0x2000000
diff --git a/configs/imx8mp_rsb3720a1_6G_defconfig b/configs/imx8mp_rsb3720a1_6G_defconfig
index 11c3e1f..3cba4e2 100644
--- a/configs/imx8mp_rsb3720a1_6G_defconfig
+++ b/configs/imx8mp_rsb3720a1_6G_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_ARCH_IMX8M=y
 CONFIG_TEXT_BASE=0x40200000
 CONFIG_SYS_MALLOC_LEN=0x2000000
diff --git a/configs/jetson-tk1_defconfig b/configs/jetson-tk1_defconfig
index 1187974..b391a86 100644
--- a/configs/jetson-tk1_defconfig
+++ b/configs/jetson-tk1_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/medcom-wide_defconfig b/configs/medcom-wide_defconfig
index 76e4eb3..cb5324b 100644
--- a/configs/medcom-wide_defconfig
+++ b/configs/medcom-wide_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x00110000
diff --git a/configs/mt7621_nand_rfb_defconfig b/configs/mt7621_nand_rfb_defconfig
index ee30f48..5291bb3 100644
--- a/configs/mt7621_nand_rfb_defconfig
+++ b/configs/mt7621_nand_rfb_defconfig
@@ -1,4 +1,5 @@
 CONFIG_MIPS=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
diff --git a/configs/mt7621_rfb_defconfig b/configs/mt7621_rfb_defconfig
index 9987cc5..70280ad 100644
--- a/configs/mt7621_rfb_defconfig
+++ b/configs/mt7621_rfb_defconfig
@@ -1,4 +1,5 @@
 CONFIG_MIPS=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
diff --git a/configs/mt7622_rfb_defconfig b/configs/mt7622_rfb_defconfig
index a0d33c0..3f18add 100644
--- a/configs/mt7622_rfb_defconfig
+++ b/configs/mt7622_rfb_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_POSITION_INDEPENDENT=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_TEXT_BASE=0x41e00000
diff --git a/configs/mt7623a_unielec_u7623_02_defconfig b/configs/mt7623a_unielec_u7623_02_defconfig
index 82397b2..c56b4bb 100644
--- a/configs/mt7623a_unielec_u7623_02_defconfig
+++ b/configs/mt7623a_unielec_u7623_02_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_TEXT_BASE=0x81e00000
diff --git a/configs/mt7623n_bpir2_defconfig b/configs/mt7623n_bpir2_defconfig
index 34960c0..e36943b 100644
--- a/configs/mt7623n_bpir2_defconfig
+++ b/configs/mt7623n_bpir2_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_TEXT_BASE=0x81e00000
diff --git a/configs/mt7629_rfb_defconfig b/configs/mt7629_rfb_defconfig
index b5dbbea..d7669d5 100644
--- a/configs/mt7629_rfb_defconfig
+++ b/configs/mt7629_rfb_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_ARCH_TIMER=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_ARCH_MEDIATEK=y
diff --git a/configs/mt7981_emmc_rfb_defconfig b/configs/mt7981_emmc_rfb_defconfig
index 557c8e7..4832a22 100644
--- a/configs/mt7981_emmc_rfb_defconfig
+++ b/configs/mt7981_emmc_rfb_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_POSITION_INDEPENDENT=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_TEXT_BASE=0x41e00000
diff --git a/configs/mt7981_rfb_defconfig b/configs/mt7981_rfb_defconfig
index f9776ffc..c397527 100644
--- a/configs/mt7981_rfb_defconfig
+++ b/configs/mt7981_rfb_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_POSITION_INDEPENDENT=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_TEXT_BASE=0x41e00000
diff --git a/configs/mt7981_sd_rfb_defconfig b/configs/mt7981_sd_rfb_defconfig
index 5e0c8c8..17592dc 100644
--- a/configs/mt7981_sd_rfb_defconfig
+++ b/configs/mt7981_sd_rfb_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_POSITION_INDEPENDENT=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_TEXT_BASE=0x41e00000
diff --git a/configs/mt7986_rfb_defconfig b/configs/mt7986_rfb_defconfig
index e3ded76..1363f9d 100644
--- a/configs/mt7986_rfb_defconfig
+++ b/configs/mt7986_rfb_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_POSITION_INDEPENDENT=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_TEXT_BASE=0x41e00000
diff --git a/configs/mt7986a_bpir3_emmc_defconfig b/configs/mt7986a_bpir3_emmc_defconfig
index 6d29885..354159d 100644
--- a/configs/mt7986a_bpir3_emmc_defconfig
+++ b/configs/mt7986a_bpir3_emmc_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_POSITION_INDEPENDENT=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_TEXT_BASE=0x41e00000
diff --git a/configs/mt7986a_bpir3_sd_defconfig b/configs/mt7986a_bpir3_sd_defconfig
index 222987a..db7ef98 100644
--- a/configs/mt7986a_bpir3_sd_defconfig
+++ b/configs/mt7986a_bpir3_sd_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_POSITION_INDEPENDENT=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_TEXT_BASE=0x41e00000
diff --git a/configs/mt8512_bm1_emmc_defconfig b/configs/mt8512_bm1_emmc_defconfig
index 772306c..888da16 100644
--- a/configs/mt8512_bm1_emmc_defconfig
+++ b/configs/mt8512_bm1_emmc_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_COUNTER_FREQUENCY=13000000
 CONFIG_POSITION_INDEPENDENT=y
 CONFIG_ARCH_MEDIATEK=y
diff --git a/configs/mt8518_ap1_emmc_defconfig b/configs/mt8518_ap1_emmc_defconfig
index d75e299..43c166d 100644
--- a/configs/mt8518_ap1_emmc_defconfig
+++ b/configs/mt8518_ap1_emmc_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_COUNTER_FREQUENCY=13000000
 CONFIG_POSITION_INDEPENDENT=y
 CONFIG_ARCH_MEDIATEK=y
diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
index e2e8beb..b140ec8 100644
--- a/configs/nyan-big_defconfig
+++ b/configs/nyan-big_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x81000100
diff --git a/configs/p2371-0000_defconfig b/configs/p2371-0000_defconfig
index e807491..6ffe922 100644
--- a/configs/p2371-0000_defconfig
+++ b/configs/p2371-0000_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80080000
diff --git a/configs/p2371-2180_defconfig b/configs/p2371-2180_defconfig
index ca630a4..ea62e18 100644
--- a/configs/p2371-2180_defconfig
+++ b/configs/p2371-2180_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_COUNTER_FREQUENCY=19200000
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
diff --git a/configs/p2571_defconfig b/configs/p2571_defconfig
index bc3fb3e..fb1cc68 100644
--- a/configs/p2571_defconfig
+++ b/configs/p2571_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80080000
diff --git a/configs/p2771-0000-000_defconfig b/configs/p2771-0000-000_defconfig
index 8b1d2b2..682be7d 100644
--- a/configs/p2771-0000-000_defconfig
+++ b/configs/p2771-0000-000_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_COUNTER_FREQUENCY=19200000
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
diff --git a/configs/p2771-0000-500_defconfig b/configs/p2771-0000-500_defconfig
index 4a2f622..c5925b1 100644
--- a/configs/p2771-0000-500_defconfig
+++ b/configs/p2771-0000-500_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_COUNTER_FREQUENCY=19200000
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
diff --git a/configs/p3450-0000_defconfig b/configs/p3450-0000_defconfig
index 0160546..8e16afd 100644
--- a/configs/p3450-0000_defconfig
+++ b/configs/p3450-0000_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_COUNTER_FREQUENCY=19200000
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
diff --git a/configs/paz00_defconfig b/configs/paz00_defconfig
index 558375d..135e740 100644
--- a/configs/paz00_defconfig
+++ b/configs/paz00_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x00110000
diff --git a/configs/plutux_defconfig b/configs/plutux_defconfig
index 170ac86..0fe41c1 100644
--- a/configs/plutux_defconfig
+++ b/configs/plutux_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x00110000
diff --git a/configs/seaboard_defconfig b/configs/seaboard_defconfig
index 686a3c0..40d8836 100644
--- a/configs/seaboard_defconfig
+++ b/configs/seaboard_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x00110000
diff --git a/configs/tec-ng_defconfig b/configs/tec-ng_defconfig
index 02d6b49..1caac5a 100644
--- a/configs/tec-ng_defconfig
+++ b/configs/tec-ng_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/tec_defconfig b/configs/tec_defconfig
index 967d305..852d73e 100644
--- a/configs/tec_defconfig
+++ b/configs/tec_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x00110000
diff --git a/configs/trimslice_defconfig b/configs/trimslice_defconfig
index a9f774c..5da3a27 100644
--- a/configs/trimslice_defconfig
+++ b/configs/trimslice_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x00110000
diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
index a754c20..226480b 100644
--- a/configs/venice2_defconfig
+++ b/configs/venice2_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x80110000
diff --git a/configs/ventana_defconfig b/configs/ventana_defconfig
index 3c924ec..7a5e47b 100644
--- a/configs/ventana_defconfig
+++ b/configs/ventana_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_SYS_L2CACHE_OFF=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_TEXT_BASE=0x00110000
diff --git a/include/configs/imx8mp_rsb3720.h b/include/configs/imx8mp_rsb3720.h
index b8abdb0..5caabf2 100644
--- a/include/configs/imx8mp_rsb3720.h
+++ b/include/configs/imx8mp_rsb3720.h
@@ -41,10 +41,6 @@
 #if defined(CONFIG_CMD_NET)
 #define CONFIG_FEC_MXC_PHYADDR          4
 
-#ifdef CONFIG_DWC_ETH_QOS
-#define CONFIG_SYS_NONCACHED_MEMORY     (1 * SZ_1M)     /* 1M */
-#endif
-
 #define PHY_ANEG_TIMEOUT 20000
 
 #endif
diff --git a/include/configs/mt7621.h b/include/configs/mt7621.h
index 6a55e7a..9b1ba36 100644
--- a/include/configs/mt7621.h
+++ b/include/configs/mt7621.h
@@ -15,8 +15,6 @@
 
 #define CONFIG_SYS_INIT_SP_OFFSET	0x800000
 
-#define CONFIG_SYS_NONCACHED_MEMORY	0x100000
-
 /* MMC */
 #define MMC_SUPPORTS_TUNING
 
diff --git a/include/configs/mt7622.h b/include/configs/mt7622.h
index f995399..fd8e30a 100644
--- a/include/configs/mt7622.h
+++ b/include/configs/mt7622.h
@@ -9,10 +9,6 @@
 #ifndef __MT7622_H
 #define __MT7622_H
 
-#include <linux/sizes.h>
-
-#define CONFIG_SYS_NONCACHED_MEMORY	SZ_1M
-
 /* Uboot definition */
 #define CONFIG_SYS_UBOOT_BASE                   CONFIG_TEXT_BASE
 
diff --git a/include/configs/mt7623.h b/include/configs/mt7623.h
index 0cd8b08..73093f9 100644
--- a/include/configs/mt7623.h
+++ b/include/configs/mt7623.h
@@ -13,8 +13,6 @@
 
 /* Miscellaneous configurable options */
 
-#define CONFIG_SYS_NONCACHED_MEMORY	SZ_1M
-
 /* Environment */
 
 /* Preloader -> Uboot */
diff --git a/include/configs/mt7629.h b/include/configs/mt7629.h
index 22d11d0..668dc3c 100644
--- a/include/configs/mt7629.h
+++ b/include/configs/mt7629.h
@@ -13,8 +13,6 @@
 
 /* Miscellaneous configurable options */
 
-#define CONFIG_SYS_NONCACHED_MEMORY	SZ_1M
-
 /* Environment */
 
 /* Defines for SPL */
diff --git a/include/configs/mt7981.h b/include/configs/mt7981.h
index 1f81b0b..9f26b0b 100644
--- a/include/configs/mt7981.h
+++ b/include/configs/mt7981.h
@@ -9,10 +9,6 @@
 #ifndef __MT7981_H
 #define __MT7981_H
 
-#include <linux/sizes.h>
-
-#define CONFIG_SYS_NONCACHED_MEMORY	SZ_1M
-
 /* Uboot definition */
 #define CONFIG_SYS_UBOOT_BASE		CONFIG_TEXT_BASE
 
diff --git a/include/configs/mt7986.h b/include/configs/mt7986.h
index 00e1c57..4fbd57a 100644
--- a/include/configs/mt7986.h
+++ b/include/configs/mt7986.h
@@ -9,10 +9,6 @@
 #ifndef __MT7986_H
 #define __MT7986_H
 
-#include <linux/sizes.h>
-
-#define CONFIG_SYS_NONCACHED_MEMORY	SZ_1M
-
 /* Uboot definition */
 #define CONFIG_SYS_UBOOT_BASE		CONFIG_TEXT_BASE
 
diff --git a/include/configs/mt8512.h b/include/configs/mt8512.h
index 5ff5541..d159416 100644
--- a/include/configs/mt8512.h
+++ b/include/configs/mt8512.h
@@ -9,10 +9,6 @@
 #ifndef __MT8512_H
 #define __MT8512_H
 
-#include <linux/sizes.h>
-
-#define CONFIG_SYS_NONCACHED_MEMORY		SZ_1M
-
 /* Uboot definition */
 #define CONFIG_SYS_UBOOT_START			CONFIG_TEXT_BASE
 
diff --git a/include/configs/mt8518.h b/include/configs/mt8518.h
index 6d47046..7cabbef 100644
--- a/include/configs/mt8518.h
+++ b/include/configs/mt8518.h
@@ -9,11 +9,6 @@
 #ifndef __MT8518_H
 #define __MT8518_H
 
-#include <linux/sizes.h>
-
-#define CONFIG_SYS_NONCACHED_MEMORY		SZ_1M
-
-
 /* DRAM definition */
 #define CONFIG_SYS_SDRAM_BASE			0x40000000
 #define CONFIG_SYS_SDRAM_SIZE			0x20000000
diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h
index 4e20e1d..69acabf 100644
--- a/include/configs/tegra-common-post.h
+++ b/include/configs/tegra-common-post.h
@@ -7,8 +7,6 @@
 #ifndef __TEGRA_COMMON_POST_H
 #define __TEGRA_COMMON_POST_H
 
-#define CONFIG_SYS_NONCACHED_MEMORY	(1 << 20)	/* 1 MiB */
-
 #if CONFIG_IS_ENABLED(CMD_USB)
 # define BOOT_TARGET_USB(func) func(USB, usb, 0)
 #else