From 3b8dfc42a239cbb1561e7ecbc116b69fb6913355 Mon Sep 17 00:00:00 2001
From: Tom Rini <trini@konsulko.com>
Date: Wed, 16 Nov 2022 13:10:38 -0500
Subject: [PATCH] Convert CONFIG_SYS_TIMER_COUNTS_DOWN to Kconfig

This converts the following to Kconfig:
   CONFIG_SYS_TIMER_COUNTS_DOWN

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
 arch/arm/mach-kirkwood/include/mach/config.h | 1 -
 arch/sh/include/asm/config.h                 | 1 -
 configs/alt_defconfig                        | 1 +
 configs/bitmain_antminer_s9_defconfig        | 1 +
 configs/blanche_defconfig                    | 1 +
 configs/gose_defconfig                       | 1 +
 configs/koelsch_defconfig                    | 1 +
 configs/lager_defconfig                      | 1 +
 configs/porter_defconfig                     | 1 +
 configs/r2dplus_defconfig                    | 1 +
 configs/silk_defconfig                       | 1 +
 configs/socfpga_arria5_defconfig             | 1 +
 configs/socfpga_cyclone5_defconfig           | 1 +
 configs/socfpga_dbm_soc1_defconfig           | 1 +
 configs/socfpga_de0_nano_soc_defconfig       | 1 +
 configs/socfpga_de10_nano_defconfig          | 1 +
 configs/socfpga_de10_standard_defconfig      | 1 +
 configs/socfpga_de1_soc_defconfig            | 1 +
 configs/socfpga_is1_defconfig                | 1 +
 configs/socfpga_mcvevk_defconfig             | 1 +
 configs/socfpga_secu1_defconfig              | 1 +
 configs/socfpga_sockit_defconfig             | 1 +
 configs/socfpga_socrates_defconfig           | 1 +
 configs/socfpga_sr1500_defconfig             | 1 +
 configs/socfpga_vining_fpga_defconfig        | 1 +
 configs/stout_defconfig                      | 1 +
 configs/syzygy_hub_defconfig                 | 1 +
 configs/topic_miami_defconfig                | 1 +
 configs/topic_miamilite_defconfig            | 1 +
 configs/topic_miamiplus_defconfig            | 1 +
 configs/vexpress_ca9x4_defconfig             | 1 +
 configs/xilinx_zynq_virt_defconfig           | 1 +
 configs/zynq_cse_nand_defconfig              | 1 +
 configs/zynq_cse_nor_defconfig               | 1 +
 configs/zynq_cse_qspi_defconfig              | 1 +
 include/configs/rcar-gen2-common.h           | 1 -
 include/configs/socfpga_common.h             | 1 -
 include/configs/vexpress_common.h            | 1 -
 include/configs/zynq-common.h                | 1 -
 lib/Kconfig                                  | 3 +++
 40 files changed, 36 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-kirkwood/include/mach/config.h b/arch/arm/mach-kirkwood/include/mach/config.h
index ae1f6fee53..5186f6e4f9 100644
--- a/arch/arm/mach-kirkwood/include/mach/config.h
+++ b/arch/arm/mach-kirkwood/include/mach/config.h
@@ -52,7 +52,6 @@
 
 /* Use common timer */
 #ifndef CONFIG_TIMER
-#define CONFIG_SYS_TIMER_COUNTS_DOWN
 #define CONFIG_SYS_TIMER_COUNTER	(MVEBU_TIMER_BASE + 0x14)
 #define CONFIG_SYS_TIMER_RATE		CONFIG_SYS_TCLK
 #endif
diff --git a/arch/sh/include/asm/config.h b/arch/sh/include/asm/config.h
index 09a15da485..99d8797a54 100644
--- a/arch/sh/include/asm/config.h
+++ b/arch/sh/include/asm/config.h
@@ -9,7 +9,6 @@
 #include <asm/processor.h>
 
 /* Timer */
-#define CONFIG_SYS_TIMER_COUNTS_DOWN
 #define CONFIG_SYS_TIMER_COUNTER	(TMU_BASE + 0xc)	/* TCNT0 */
 #define CONFIG_SYS_TIMER_RATE		(get_board_sys_clk() / 4)
 
diff --git a/configs/alt_defconfig b/configs/alt_defconfig
index e4d6fc2d2c..d28cdf4b36 100644
--- a/configs/alt_defconfig
+++ b/configs/alt_defconfig
@@ -105,3 +105,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_STORAGE=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/bitmain_antminer_s9_defconfig b/configs/bitmain_antminer_s9_defconfig
index cbcbc9b18d..02257176e3 100644
--- a/configs/bitmain_antminer_s9_defconfig
+++ b/configs/bitmain_antminer_s9_defconfig
@@ -93,4 +93,5 @@ CONFIG_ZYNQ_SERIAL=y
 # CONFIG_WATCHDOG is not set
 CONFIG_WDT=y
 CONFIG_WDT_CDNS=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
 # CONFIG_EFI_LOADER is not set
diff --git a/configs/blanche_defconfig b/configs/blanche_defconfig
index bed7370807..630a13f929 100644
--- a/configs/blanche_defconfig
+++ b/configs/blanche_defconfig
@@ -81,3 +81,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_STORAGE=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/gose_defconfig b/configs/gose_defconfig
index 55222ebe01..b918b131d3 100644
--- a/configs/gose_defconfig
+++ b/configs/gose_defconfig
@@ -103,3 +103,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_STORAGE=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/koelsch_defconfig b/configs/koelsch_defconfig
index b4e6baef48..24eff4648e 100644
--- a/configs/koelsch_defconfig
+++ b/configs/koelsch_defconfig
@@ -103,3 +103,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_STORAGE=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/lager_defconfig b/configs/lager_defconfig
index 472d8dafc4..56057e272d 100644
--- a/configs/lager_defconfig
+++ b/configs/lager_defconfig
@@ -105,3 +105,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_STORAGE=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/porter_defconfig b/configs/porter_defconfig
index 83cc54aef9..ca56008cb5 100644
--- a/configs/porter_defconfig
+++ b/configs/porter_defconfig
@@ -103,3 +103,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_STORAGE=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/r2dplus_defconfig b/configs/r2dplus_defconfig
index cee9a1ff5c..4217175345 100644
--- a/configs/r2dplus_defconfig
+++ b/configs/r2dplus_defconfig
@@ -57,4 +57,5 @@ CONFIG_SPECIFY_CONSOLE_INDEX=y
 CONFIG_DM_SERIAL=y
 CONFIG_SERIAL_RX_BUFFER=y
 CONFIG_SCIF_CONSOLE=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/silk_defconfig b/configs/silk_defconfig
index 9ff9e23ef9..5005e1677f 100644
--- a/configs/silk_defconfig
+++ b/configs/silk_defconfig
@@ -105,3 +105,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_STORAGE=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_arria5_defconfig b/configs/socfpga_arria5_defconfig
index 2951574464..67c6e74eb8 100644
--- a/configs/socfpga_arria5_defconfig
+++ b/configs/socfpga_arria5_defconfig
@@ -78,3 +78,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
index 9c3c0f66b2..ce1a349299 100644
--- a/configs/socfpga_cyclone5_defconfig
+++ b/configs/socfpga_cyclone5_defconfig
@@ -79,3 +79,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_dbm_soc1_defconfig b/configs/socfpga_dbm_soc1_defconfig
index b3ba9ff21e..01c29a25e3 100644
--- a/configs/socfpga_dbm_soc1_defconfig
+++ b/configs/socfpga_dbm_soc1_defconfig
@@ -82,3 +82,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
index 5f5706fbdb..905afb7d04 100644
--- a/configs/socfpga_de0_nano_soc_defconfig
+++ b/configs/socfpga_de0_nano_soc_defconfig
@@ -75,3 +75,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_de10_nano_defconfig b/configs/socfpga_de10_nano_defconfig
index 1f835bea92..f2a53ba247 100644
--- a/configs/socfpga_de10_nano_defconfig
+++ b/configs/socfpga_de10_nano_defconfig
@@ -72,3 +72,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_de10_standard_defconfig b/configs/socfpga_de10_standard_defconfig
index 412b0da0db..dbf979ee47 100644
--- a/configs/socfpga_de10_standard_defconfig
+++ b/configs/socfpga_de10_standard_defconfig
@@ -72,3 +72,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_de1_soc_defconfig b/configs/socfpga_de1_soc_defconfig
index 68a36892fb..613bf44262 100644
--- a/configs/socfpga_de1_soc_defconfig
+++ b/configs/socfpga_de1_soc_defconfig
@@ -60,4 +60,5 @@ CONFIG_SPI=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
 # CONFIG_EFI_LOADER is not set
diff --git a/configs/socfpga_is1_defconfig b/configs/socfpga_is1_defconfig
index 3a21bc77a2..32d7b74520 100644
--- a/configs/socfpga_is1_defconfig
+++ b/configs/socfpga_is1_defconfig
@@ -69,3 +69,4 @@ CONFIG_DM_RESET=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_mcvevk_defconfig b/configs/socfpga_mcvevk_defconfig
index 8be8b85c0c..4d16ec32b6 100644
--- a/configs/socfpga_mcvevk_defconfig
+++ b/configs/socfpga_mcvevk_defconfig
@@ -73,3 +73,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_secu1_defconfig b/configs/socfpga_secu1_defconfig
index debe22f30a..7a805df5a3 100644
--- a/configs/socfpga_secu1_defconfig
+++ b/configs/socfpga_secu1_defconfig
@@ -112,4 +112,5 @@ CONFIG_DESIGNWARE_SPI=y
 CONFIG_WATCHDOG_TIMEOUT_MSECS=60000
 CONFIG_DESIGNWARE_WATCHDOG=y
 CONFIG_WDT=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
 # CONFIG_GZIP is not set
diff --git a/configs/socfpga_sockit_defconfig b/configs/socfpga_sockit_defconfig
index 31cc03a5fd..b3de6701f9 100644
--- a/configs/socfpga_sockit_defconfig
+++ b/configs/socfpga_sockit_defconfig
@@ -79,3 +79,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig
index 72a7037536..80a98712f6 100644
--- a/configs/socfpga_socrates_defconfig
+++ b/configs/socfpga_socrates_defconfig
@@ -80,3 +80,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_sr1500_defconfig b/configs/socfpga_sr1500_defconfig
index 44e9ba6c88..cbe37d22fe 100644
--- a/configs/socfpga_sr1500_defconfig
+++ b/configs/socfpga_sr1500_defconfig
@@ -76,3 +76,4 @@ CONFIG_DM_RESET=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 # CONFIG_SPL_WDT is not set
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/socfpga_vining_fpga_defconfig b/configs/socfpga_vining_fpga_defconfig
index 96c0ebbc0c..cdad36bbfd 100644
--- a/configs/socfpga_vining_fpga_defconfig
+++ b/configs/socfpga_vining_fpga_defconfig
@@ -116,3 +116,4 @@ CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_DESIGNWARE_WATCHDOG=y
 CONFIG_WDT=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/stout_defconfig b/configs/stout_defconfig
index 231e22a2a0..53dce6a161 100644
--- a/configs/stout_defconfig
+++ b/configs/stout_defconfig
@@ -104,3 +104,4 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_STORAGE=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/syzygy_hub_defconfig b/configs/syzygy_hub_defconfig
index 179cb52212..aa28a68a86 100644
--- a/configs/syzygy_hub_defconfig
+++ b/configs/syzygy_hub_defconfig
@@ -78,3 +78,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x0300
 CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_THOR=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/topic_miami_defconfig b/configs/topic_miami_defconfig
index e3ed0b2732..96aa62a7ec 100644
--- a/configs/topic_miami_defconfig
+++ b/configs/topic_miami_defconfig
@@ -78,3 +78,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x0300
 CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_THOR=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/topic_miamilite_defconfig b/configs/topic_miamilite_defconfig
index cb156562ba..41ba8a7487 100644
--- a/configs/topic_miamilite_defconfig
+++ b/configs/topic_miamilite_defconfig
@@ -78,3 +78,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x0300
 CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_THOR=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/topic_miamiplus_defconfig b/configs/topic_miamiplus_defconfig
index 03d1887cda..763bd8cccd 100644
--- a/configs/topic_miamiplus_defconfig
+++ b/configs/topic_miamiplus_defconfig
@@ -78,3 +78,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x0300
 CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_THOR=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/vexpress_ca9x4_defconfig b/configs/vexpress_ca9x4_defconfig
index 234686eb7b..70ce13eccc 100644
--- a/configs/vexpress_ca9x4_defconfig
+++ b/configs/vexpress_ca9x4_defconfig
@@ -54,3 +54,4 @@ CONFIG_SMC911X=y
 CONFIG_SMC911X_32_BIT=y
 CONFIG_BAUDRATE=38400
 CONFIG_CONS_INDEX=0
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig
index 1db3a2c635..a4c555dac5 100644
--- a/configs/xilinx_zynq_virt_defconfig
+++ b/configs/xilinx_zynq_virt_defconfig
@@ -146,6 +146,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x0300
 CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_THOR=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
 CONFIG_SPL_GZIP=y
 CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
 CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
diff --git a/configs/zynq_cse_nand_defconfig b/configs/zynq_cse_nand_defconfig
index 7ca74837ae..74c35f3a4d 100644
--- a/configs/zynq_cse_nand_defconfig
+++ b/configs/zynq_cse_nand_defconfig
@@ -78,5 +78,6 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_ZYNQ=y
 CONFIG_SYS_NAND_ONFI_DETECTION=y
 CONFIG_ARM_DCC=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
 # CONFIG_GZIP is not set
 # CONFIG_LMB is not set
diff --git a/configs/zynq_cse_nor_defconfig b/configs/zynq_cse_nor_defconfig
index 28e9c45981..f1c648a8f9 100644
--- a/configs/zynq_cse_nor_defconfig
+++ b/configs/zynq_cse_nor_defconfig
@@ -80,5 +80,6 @@ CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_FLASH_QUIET_TEST=y
 CONFIG_ARM_DCC=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
 # CONFIG_GZIP is not set
 # CONFIG_LMB is not set
diff --git a/configs/zynq_cse_qspi_defconfig b/configs/zynq_cse_qspi_defconfig
index 215d5ed5eb..c623caf564 100644
--- a/configs/zynq_cse_qspi_defconfig
+++ b/configs/zynq_cse_qspi_defconfig
@@ -90,5 +90,6 @@ CONFIG_SPI_FLASH_WINBOND=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_QSPI=y
+CONFIG_SYS_TIMER_COUNTS_DOWN=y
 # CONFIG_GZIP is not set
 # CONFIG_LMB is not set
diff --git a/include/configs/rcar-gen2-common.h b/include/configs/rcar-gen2-common.h
index 61b9447ea5..606a0a7ecd 100644
--- a/include/configs/rcar-gen2-common.h
+++ b/include/configs/rcar-gen2-common.h
@@ -22,7 +22,6 @@
 
 /* Timer */
 #define CONFIG_TMU_TIMER
-#define CONFIG_SYS_TIMER_COUNTS_DOWN
 #define CONFIG_SYS_TIMER_COUNTER	(TMU_BASE + 0xc)	/* TCNT0 */
 #define CONFIG_SYS_TIMER_RATE		(get_board_sys_clk() / 8)
 
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 2656c97767..7ef7c5da82 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -55,7 +55,6 @@
  */
 #ifndef CONFIG_TIMER
 #define CONFIG_SYS_TIMERBASE		SOCFPGA_OSC1TIMER0_ADDRESS
-#define CONFIG_SYS_TIMER_COUNTS_DOWN
 #define CONFIG_SYS_TIMER_COUNTER	(CONFIG_SYS_TIMERBASE + 0x4)
 #ifndef CONFIG_SYS_TIMER_RATE
 #define CONFIG_SYS_TIMER_RATE		25000000
diff --git a/include/configs/vexpress_common.h b/include/configs/vexpress_common.h
index ef136c75a8..de571f63ee 100644
--- a/include/configs/vexpress_common.h
+++ b/include/configs/vexpress_common.h
@@ -114,7 +114,6 @@
 
 #define CONFIG_SYS_TIMER_RATE		1000000
 #define CONFIG_SYS_TIMER_COUNTER	(V2M_TIMER01 + 0x4)
-#define CONFIG_SYS_TIMER_COUNTS_DOWN
 
 /* PL011 Serial Configuration */
 #define CONFIG_PL011_CLOCK		24000000
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index 6574cf92e2..2d6522af81 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -16,7 +16,6 @@
 
 #define ZYNQ_SCUTIMER_BASEADDR		0xF8F00600
 #define CONFIG_SYS_TIMERBASE		ZYNQ_SCUTIMER_BASEADDR
-#define CONFIG_SYS_TIMER_COUNTS_DOWN
 #define CONFIG_SYS_TIMER_COUNTER	(CONFIG_SYS_TIMERBASE + 0x4)
 
 /* GUIDs for capsule updatable firmware images */
diff --git a/lib/Kconfig b/lib/Kconfig
index 6abe1d0a86..c39fc52321 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -15,6 +15,9 @@ config SYS_NUM_ADDR_MAP
 	help
 	  Sets the number of entries in the virtual-physical mapping table.
 
+config SYS_TIMER_COUNTS_DOWN
+	bool "System timer counts down rathe than up"
+
 config PHYSMEM
 	bool "Access to physical memory region (> 4G)"
 	help
-- 
2.39.5