arch/non-x86: Flip HAVE_MONOTONIC_TIMER default

Also remove allwinner/a10 dummy monotonic_timer
implementation.

Change-Id: I9dfa9b92dc63375465e3bb87b73eeefad601c810
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34112
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/src/Kconfig b/src/Kconfig
index 38209ee..f79a390 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -501,14 +501,20 @@
 	bool
 	default n
 
-config HAVE_MONOTONIC_TIMER
+config NO_MONOTONIC_TIMER
 	def_bool n
+
+config HAVE_MONOTONIC_TIMER
+	bool
+	depends on !NO_MONOTONIC_TIMER
+	default y if !ARCH_X86
 	help
 	 The board/chipset provides a monotonic timer.
 
 config GENERIC_UDELAY
-	def_bool n
+	bool
 	depends on HAVE_MONOTONIC_TIMER
+	default y if !ARCH_X86
 	help
 	 The board/chipset uses a generic udelay function utilizing the
 	 monotonic timer.
diff --git a/src/cpu/allwinner/a10/Kconfig b/src/cpu/allwinner/a10/Kconfig
index 87693ed..0b5d9bf 100644
--- a/src/cpu/allwinner/a10/Kconfig
+++ b/src/cpu/allwinner/a10/Kconfig
@@ -10,7 +10,7 @@
 	select ARCH_VERSTAGE_ARMV7
 	select ARCH_ROMSTAGE_ARMV7
 	select ARCH_RAMSTAGE_ARMV7
-	select HAVE_MONOTONIC_TIMER
+	select NO_MONOTONIC_TIMER
 	select HAVE_UART_SPECIAL
 	select UART_OVERRIDE_REFCLK
 	select BOOT_DEVICE_NOT_SPI_FLASH
diff --git a/src/cpu/allwinner/a10/Makefile.inc b/src/cpu/allwinner/a10/Makefile.inc
index a6cd4b4..cbdb5ae 100644
--- a/src/cpu/allwinner/a10/Makefile.inc
+++ b/src/cpu/allwinner/a10/Makefile.inc
@@ -17,7 +17,6 @@
 ramstage-y	+= cbmem.c
 ramstage-y	+= clock.c
 ramstage-y	+= cpu.c
-ramstage-y	+= monotonic_timer.c
 ramstage-y	+= timer.c
 ramstage-y	+= twi.c
 
diff --git a/src/cpu/allwinner/a10/monotonic_timer.c b/src/cpu/allwinner/a10/monotonic_timer.c
deleted file mode 100644
index 479dee9..0000000
--- a/src/cpu/allwinner/a10/monotonic_timer.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013  Alexandru Gagniuc <mr.nuke.me@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the Licenseor (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * Placeholder for code to come (needed to complete build)
- *
- */
-
-#include <timer.h>
-
-void timer_monotonic_get(struct mono_time *mt)
-{
-	(void)mt;
-}
diff --git a/src/cpu/qemu-power8/Kconfig b/src/cpu/qemu-power8/Kconfig
index c1f8309..ef995b6 100644
--- a/src/cpu/qemu-power8/Kconfig
+++ b/src/cpu/qemu-power8/Kconfig
@@ -19,3 +19,4 @@
 	select ARCH_VERSTAGE_PPC64
 	select ARCH_ROMSTAGE_PPC64
 	select ARCH_RAMSTAGE_PPC64
+	select NO_MONOTONIC_TIMER
diff --git a/src/cpu/ti/am335x/Kconfig b/src/cpu/ti/am335x/Kconfig
index 20e7458..6de5eb4 100644
--- a/src/cpu/ti/am335x/Kconfig
+++ b/src/cpu/ti/am335x/Kconfig
@@ -3,9 +3,7 @@
 	select ARCH_VERSTAGE_ARMV7
 	select ARCH_ROMSTAGE_ARMV7
 	select ARCH_RAMSTAGE_ARMV7
-	select HAVE_MONOTONIC_TIMER
 	select HAVE_UART_SPECIAL
-	select GENERIC_UDELAY
 	select UART_OVERRIDE_REFCLK
 	select BOOT_DEVICE_NOT_SPI_FLASH
 	bool
diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig
index 0bb5f3a..fc770cf 100644
--- a/src/mainboard/emulation/qemu-armv7/Kconfig
+++ b/src/mainboard/emulation/qemu-armv7/Kconfig
@@ -35,6 +35,7 @@
 	select BOARD_ROMSIZE_KB_4096
 	select BOOT_DEVICE_NOT_SPI_FLASH
 	select MISSING_BOARD_RESET
+	select NO_MONOTONIC_TIMER
 
 config MAINBOARD_DIR
 	string
diff --git a/src/soc/cavium/cn81xx/Kconfig b/src/soc/cavium/cn81xx/Kconfig
index 9119bcc..f64350e 100644
--- a/src/soc/cavium/cn81xx/Kconfig
+++ b/src/soc/cavium/cn81xx/Kconfig
@@ -6,8 +6,6 @@
 	select ARCH_ROMSTAGE_ARMV8_64
 	select ARCH_VERSTAGE_ARMV8_64
 	select DRIVERS_UART_PL011
-	select GENERIC_UDELAY
-	select HAVE_MONOTONIC_TIMER
 	select UART_OVERRIDE_REFCLK
 	select SOC_CAVIUM_COMMON
 	select CAVIUM_BDK_DDR_TUNE_HW_OFFSETS
diff --git a/src/soc/imgtec/pistachio/Kconfig b/src/soc/imgtec/pistachio/Kconfig
index 40b63c3..30d7bee 100644
--- a/src/soc/imgtec/pistachio/Kconfig
+++ b/src/soc/imgtec/pistachio/Kconfig
@@ -20,8 +20,6 @@
 	select ARCH_VERSTAGE_MIPS
 	select ARCH_ROMSTAGE_MIPS
 	select ARCH_RAMSTAGE_MIPS
-	select GENERIC_UDELAY
-	select HAVE_MONOTONIC_TIMER
 	select HAVE_UART_SPECIAL
 	select GENERIC_GPIO_LIB
 	select UART_OVERRIDE_REFCLK
diff --git a/src/soc/mediatek/mt8173/Kconfig b/src/soc/mediatek/mt8173/Kconfig
index e966b8e..6476d42 100644
--- a/src/soc/mediatek/mt8173/Kconfig
+++ b/src/soc/mediatek/mt8173/Kconfig
@@ -8,8 +8,6 @@
 	select ARCH_VERSTAGE_ARMV8_64
 	select ARM64_USE_ARM_TRUSTED_FIRMWARE
 	select HAVE_UART_SPECIAL
-	select HAVE_MONOTONIC_TIMER
-	select GENERIC_UDELAY
 	select GENERIC_GPIO_LIB
 	select RTC
 
diff --git a/src/soc/mediatek/mt8183/Kconfig b/src/soc/mediatek/mt8183/Kconfig
index f96282c..c60cdea 100644
--- a/src/soc/mediatek/mt8183/Kconfig
+++ b/src/soc/mediatek/mt8183/Kconfig
@@ -6,9 +6,7 @@
 	select ARCH_ROMSTAGE_ARMV8_64
 	select ARCH_VERSTAGE_ARMV8_64
 	select ARM64_USE_ARM_TRUSTED_FIRMWARE
-	select GENERIC_UDELAY
 	select HAVE_UART_SPECIAL
-	select HAVE_MONOTONIC_TIMER
 	select COMPRESS_BOOTBLOCK
 
 if SOC_MEDIATEK_MT8183
diff --git a/src/soc/nvidia/tegra124/Kconfig b/src/soc/nvidia/tegra124/Kconfig
index 475d50e..c962aea 100644
--- a/src/soc/nvidia/tegra124/Kconfig
+++ b/src/soc/nvidia/tegra124/Kconfig
@@ -7,8 +7,6 @@
 	select ARCH_ROMSTAGE_ARMV7
 	select ARCH_RAMSTAGE_ARMV7
 	select HAVE_UART_SPECIAL
-	select HAVE_MONOTONIC_TIMER
-	select GENERIC_UDELAY
 	select ARM_LPAE
 	select GENERIC_GPIO_LIB
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
diff --git a/src/soc/nvidia/tegra210/Kconfig b/src/soc/nvidia/tegra210/Kconfig
index 6750aa9..0e1efd7 100644
--- a/src/soc/nvidia/tegra210/Kconfig
+++ b/src/soc/nvidia/tegra210/Kconfig
@@ -7,8 +7,6 @@
 	select ARCH_ROMSTAGE_ARMV4
 	select ARCH_RAMSTAGE_ARMV8_64
 	select GIC
-	select HAVE_MONOTONIC_TIMER
-	select GENERIC_UDELAY
 	select HAVE_UART_SPECIAL
 	select ARM64_USE_ARM_TRUSTED_FIRMWARE
 	select GENERIC_GPIO_LIB
diff --git a/src/soc/qualcomm/ipq40xx/Kconfig b/src/soc/qualcomm/ipq40xx/Kconfig
index 90744d5..ef80772 100644
--- a/src/soc/qualcomm/ipq40xx/Kconfig
+++ b/src/soc/qualcomm/ipq40xx/Kconfig
@@ -7,10 +7,12 @@
 	select ARCH_RAMSTAGE_ARMV7
 	select HAVE_UART_SPECIAL
 	select GENERIC_GPIO_LIB
-	select HAVE_MONOTONIC_TIMER
 
 if SOC_QC_IPQ40XX
 
+config GENERIC_UDELAY
+	def_bool n
+
 config VBOOT
 	select VBOOT_STARTS_IN_BOOTBLOCK
 	select VBOOT_SEPARATE_VERSTAGE
diff --git a/src/soc/qualcomm/ipq806x/Kconfig b/src/soc/qualcomm/ipq806x/Kconfig
index 0b112d9..fa0fefe 100644
--- a/src/soc/qualcomm/ipq806x/Kconfig
+++ b/src/soc/qualcomm/ipq806x/Kconfig
@@ -7,6 +7,7 @@
 	select ARCH_RAMSTAGE_ARMV7
 	select HAVE_UART_SPECIAL
 	select GENERIC_GPIO_LIB
+	select NO_MONOTONIC_TIMER
 
 if SOC_QC_IPQ806X
 
diff --git a/src/soc/qualcomm/qcs405/Kconfig b/src/soc/qualcomm/qcs405/Kconfig
index aa867c2..48e2fd4 100644
--- a/src/soc/qualcomm/qcs405/Kconfig
+++ b/src/soc/qualcomm/qcs405/Kconfig
@@ -8,8 +8,6 @@
 	select ARCH_VERSTAGE_ARMV8_64
 	select BOOTBLOCK_CONSOLE
 	select GENERIC_GPIO_LIB
-	select GENERIC_UDELAY
-	select HAVE_MONOTONIC_TIMER
 	select ARM64_USE_ARCH_TIMER
 	select HAVE_UART_SPECIAL
 
diff --git a/src/soc/qualcomm/sdm845/Kconfig b/src/soc/qualcomm/sdm845/Kconfig
index 459a441..dbe025e 100644
--- a/src/soc/qualcomm/sdm845/Kconfig
+++ b/src/soc/qualcomm/sdm845/Kconfig
@@ -7,8 +7,6 @@
 	select ARCH_ROMSTAGE_ARMV8_64
 	select ARCH_VERSTAGE_ARMV8_64
 	select GENERIC_GPIO_LIB
-	select GENERIC_UDELAY
-	select HAVE_MONOTONIC_TIMER
 	select ARM64_USE_ARCH_TIMER
 	select SOC_QUALCOMM_COMMON
 
diff --git a/src/soc/rockchip/rk3288/Kconfig b/src/soc/rockchip/rk3288/Kconfig
index f845f07..3aebab9 100644
--- a/src/soc/rockchip/rk3288/Kconfig
+++ b/src/soc/rockchip/rk3288/Kconfig
@@ -21,8 +21,6 @@
 	select ARCH_ROMSTAGE_ARMV7
 	select ARCH_RAMSTAGE_ARMV7
 	select DRIVERS_UART_8250MEM_32
-	select HAVE_MONOTONIC_TIMER
-	select GENERIC_UDELAY
 	select UNCOMPRESSED_RAMSTAGE
 	select GENERIC_GPIO_LIB
 	select RTC
diff --git a/src/soc/rockchip/rk3399/Kconfig b/src/soc/rockchip/rk3399/Kconfig
index 83fc437..7e3c44b 100644
--- a/src/soc/rockchip/rk3399/Kconfig
+++ b/src/soc/rockchip/rk3399/Kconfig
@@ -8,8 +8,6 @@
 	select ARM64_USE_ARM_TRUSTED_FIRMWARE
 	select DRIVERS_UART_8250MEM_32
 	select GENERIC_GPIO_LIB
-	select GENERIC_UDELAY
-	select HAVE_MONOTONIC_TIMER
 	select UART_OVERRIDE_REFCLK
 	select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
 	select COMPRESS_BOOTBLOCK
diff --git a/src/soc/samsung/exynos5250/Kconfig b/src/soc/samsung/exynos5250/Kconfig
index 5b39724..680bd66 100644
--- a/src/soc/samsung/exynos5250/Kconfig
+++ b/src/soc/samsung/exynos5250/Kconfig
@@ -3,8 +3,6 @@
 	select ARCH_VERSTAGE_ARMV7
 	select ARCH_ROMSTAGE_ARMV7
 	select ARCH_RAMSTAGE_ARMV7
-	select HAVE_MONOTONIC_TIMER
-	select GENERIC_UDELAY
 	select HAVE_UART_SPECIAL
 	bool
 	default n
diff --git a/src/soc/samsung/exynos5420/Kconfig b/src/soc/samsung/exynos5420/Kconfig
index 7b87650..3af8e64 100644
--- a/src/soc/samsung/exynos5420/Kconfig
+++ b/src/soc/samsung/exynos5420/Kconfig
@@ -3,8 +3,6 @@
 	select ARCH_VERSTAGE_ARMV7
 	select ARCH_ROMSTAGE_ARMV7
 	select ARCH_RAMSTAGE_ARMV7
-	select HAVE_MONOTONIC_TIMER
-	select GENERIC_UDELAY
 	select HAVE_UART_SPECIAL
 	select RELOCATABLE_MODULES
 	select NO_BOOTBLOCK_CONSOLE
diff --git a/src/soc/sifive/fu540/Kconfig b/src/soc/sifive/fu540/Kconfig
index 6ebde33..82b42e5 100644
--- a/src/soc/sifive/fu540/Kconfig
+++ b/src/soc/sifive/fu540/Kconfig
@@ -22,8 +22,6 @@
 	select ARCH_ROMSTAGE_RISCV
 	select ARCH_RAMSTAGE_RISCV
 	select DRIVERS_UART_SIFIVE
-	select GENERIC_UDELAY
-	select HAVE_MONOTONIC_TIMER
 	select RISCV_USE_ARCH_TIMER
 	select UART_OVERRIDE_REFCLK
 
diff --git a/src/soc/ucb/riscv/Kconfig b/src/soc/ucb/riscv/Kconfig
index ad48c1c..324a0fb 100644
--- a/src/soc/ucb/riscv/Kconfig
+++ b/src/soc/ucb/riscv/Kconfig
@@ -6,8 +6,6 @@
 	select ARCH_VERSTAGE_RISCV
 	select ARCH_ROMSTAGE_RISCV
 	select ARCH_RAMSTAGE_RISCV
-	select GENERIC_UDELAY
-	select HAVE_MONOTONIC_TIMER
 	select RISCV_USE_ARCH_TIMER
 	bool
 	default n