Kyösti Mälkki merged this change.

View Change

Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved
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>
---
M src/Kconfig
M src/cpu/allwinner/a10/Kconfig
M src/cpu/allwinner/a10/Makefile.inc
D src/cpu/allwinner/a10/monotonic_timer.c
M src/cpu/qemu-power8/Kconfig
M src/cpu/ti/am335x/Kconfig
M src/mainboard/emulation/qemu-armv7/Kconfig
M src/soc/cavium/cn81xx/Kconfig
M src/soc/imgtec/pistachio/Kconfig
M src/soc/mediatek/mt8173/Kconfig
M src/soc/mediatek/mt8183/Kconfig
M src/soc/nvidia/tegra124/Kconfig
M src/soc/nvidia/tegra210/Kconfig
M src/soc/qualcomm/ipq40xx/Kconfig
M src/soc/qualcomm/ipq806x/Kconfig
M src/soc/qualcomm/qcs405/Kconfig
M src/soc/qualcomm/sdm845/Kconfig
M src/soc/rockchip/rk3288/Kconfig
M src/soc/rockchip/rk3399/Kconfig
M src/soc/samsung/exynos5250/Kconfig
M src/soc/samsung/exynos5420/Kconfig
M src/soc/sifive/fu540/Kconfig
M src/soc/ucb/riscv/Kconfig
23 files changed, 15 insertions(+), 60 deletions(-)

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

To view, visit change 34112. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I9dfa9b92dc63375465e3bb87b73eeefad601c810
Gerrit-Change-Number: 34112
Gerrit-PatchSet: 6
Gerrit-Owner: Kyösti Mälkki <kyosti.malkki@gmail.com>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Gerrit-Reviewer: Julius Werner <jwerner@chromium.org>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki@gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth@google.com>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Philipp Hug <philipp@hug.cx>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-Reviewer: ron minnich <rminnich@gmail.com>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-MessageType: merged