This commit replaces legacy timer code with usage of arc timer driver. Also it adds timer0 device tree node with corresponding "clock-frequency" property.
Therefore we remove legacy CONFIG_SYS_TIMER_RATE config symbol that is not longer required. Furthermore the commit selects CONFIG_TIMER and CONFIG_ARC_TIMER by default when selecting ARC architecture. Signed-off-by: Vlad Zakharov <vzak...@synopsys.com> Reviewed-by: Simon Glass <s...@chromium.org> --- Changes v1..v2 - Moved TIMER and ARC_TIMER config symbols from each defconfig to arch Kconfig file to avoid duplication arch/Kconfig | 2 ++ arch/arc/dts/skeleton.dtsi | 6 ++++++ arch/arc/lib/Makefile | 1 - arch/arc/lib/timer.c | 24 ------------------------ include/configs/axs10x.h | 2 -- 5 files changed, 8 insertions(+), 27 deletions(-) delete mode 100644 arch/arc/lib/timer.c diff --git a/arch/Kconfig b/arch/Kconfig index ffc7b45..56fa70e 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -12,6 +12,8 @@ config ARC bool "ARC architecture" select HAVE_PRIVATE_LIBGCC select SUPPORT_OF_CONTROL + select TIMER + select ARC_TIMER config ARM bool "ARM architecture" diff --git a/arch/arc/dts/skeleton.dtsi b/arch/arc/dts/skeleton.dtsi index b41d241..3e93d697 100644 --- a/arch/arc/dts/skeleton.dtsi +++ b/arch/arc/dts/skeleton.dtsi @@ -10,4 +10,10 @@ chosen { }; aliases { }; memory { device_type = "memory"; reg = <0 0>; }; + + timer@0 { + compatible = "snps,arc-timer"; + clock-frequency = <100000000>; + reg = <0>; + }; }; diff --git a/arch/arc/lib/Makefile b/arch/arc/lib/Makefile index eb62b3c..12097bf 100644 --- a/arch/arc/lib/Makefile +++ b/arch/arc/lib/Makefile @@ -18,7 +18,6 @@ obj-y += memcmp.o obj-y += memcpy-700.o obj-y += memset.o obj-y += reset.o -obj-y += timer.o obj-y += ints_low.o obj-y += init_helpers.o diff --git a/arch/arc/lib/timer.c b/arch/arc/lib/timer.c deleted file mode 100644 index a0acbbc..0000000 --- a/arch/arc/lib/timer.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <asm/arcregs.h> - -#define NH_MODE (1 << 1) /* Disable timer if CPU is halted */ - -int timer_init(void) -{ - write_aux_reg(ARC_AUX_TIMER0_CTRL, NH_MODE); - /* Set max value for counter/timer */ - write_aux_reg(ARC_AUX_TIMER0_LIMIT, 0xffffffff); - /* Set initial count value and restart counter/timer */ - write_aux_reg(ARC_AUX_TIMER0_CNT, 0); - return 0; -} - -unsigned long timer_read_counter(void) -{ - return read_aux_reg(ARC_AUX_TIMER0_CNT); -} diff --git a/include/configs/axs10x.h b/include/configs/axs10x.h index 3546c8d..0476223 100644 --- a/include/configs/axs10x.h +++ b/include/configs/axs10x.h @@ -11,8 +11,6 @@ /* * CPU configuration */ -#define CONFIG_SYS_TIMER_RATE CONFIG_SYS_CLK_FREQ - #define ARC_FPGA_PERIPHERAL_BASE 0xE0000000 #define ARC_APB_PERIPHERAL_BASE 0xF0000000 #define ARC_DWMMC_BASE (ARC_FPGA_PERIPHERAL_BASE + 0x15000) -- 2.7.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot