xref: /openbmc/u-boot/drivers/timer/Kconfig (revision 2ca47137)
1menu "Timer Support"
2
3config TIMER
4	bool "Enable driver model for timer drivers"
5	depends on DM
6	help
7	  Enable driver model for timer access. It uses the same API as
8	  lib/time.c, but now implemented by the uclass. The first timer
9	  will be used. The timer is usually a 32 bits free-running up
10	  counter. There may be no real tick, and no timer interrupt.
11
12config SPL_TIMER
13	bool "Enable driver model for timer drivers in SPL"
14	depends on TIMER && SPL
15	help
16	  Enable support for timer drivers in SPL. These can be used to get
17	  a timer value when in SPL, or perhaps for implementing a delay
18	  function. This enables the drivers in drivers/timer as part of an
19	  SPL build.
20
21config TPL_TIMER
22	bool "Enable driver model for timer drivers in TPL"
23	depends on TIMER && TPL
24	help
25	  Enable support for timer drivers in TPL. These can be used to get
26	  a timer value when in TPL, or perhaps for implementing a delay
27	  function. This enables the drivers in drivers/timer as part of an
28	  TPL build.
29
30config TIMER_EARLY
31	bool "Allow timer to be used early in U-Boot"
32	depends on TIMER
33	# initr_bootstage() requires a timer and is called before initr_dm()
34	# so only the early timer is available
35	default y if X86 && BOOTSTAGE
36	help
37	  In some cases the timer must be accessible before driver model is
38	  active. Examples include when using CONFIG_TRACE to trace U-Boot's
39	  execution before driver model is set up. Enable this option to
40	  use an early timer. These functions must be supported by your timer
41	  driver: timer_early_get_count() and timer_early_get_rate().
42
43config AG101P_TIMER
44	bool "AG101P timer support"
45	depends on TIMER && NDS32
46	help
47	  Select this to enable a timer for AG01P devices.
48
49config ALTERA_TIMER
50	bool "Altera timer support"
51	depends on TIMER
52	help
53	  Select this to enable a timer for Altera devices. Please find
54	  details on the "Embedded Peripherals IP User Guide" of Altera.
55
56config ARC_TIMER
57	bool "ARC timer support"
58	depends on TIMER && ARC && CLK
59	help
60	  Select this to enable built-in ARC timers.
61	  ARC cores may have up to 2 built-in timers: timer0 and timer1,
62	  usually at least one of them exists. Either of them is supported
63	  in U-Boot.
64
65config AST_TIMER
66	bool "Aspeed ast2400/ast2500 timer support"
67	depends on TIMER
68	default y if ARCH_ASPEED
69	help
70	  Select this to enable timer for Aspeed ast2400/ast2500 devices.
71	  This is a simple sys timer driver, it is compatible with lib/time.c,
72	  but does not support any interrupts. Even though SoC has 8 hardware
73	  counters, they are all treated as a single device by this driver.
74	  This is mostly because they all share several registers which
75	  makes it difficult to completely separate them.
76
77config ATCPIT100_TIMER
78	bool "ATCPIT100 timer support"
79	depends on TIMER
80	help
81	  Select this to enable a ATCPIT100 timer which will be embedded
82	  in AE3XX, AE250 boards.
83
84config ATMEL_PIT_TIMER
85	bool "Atmel periodic interval timer support"
86	depends on TIMER
87	help
88	  Select this to enable a periodic interval timer for Atmel devices,
89	  it is designed to offer maximum accuracy and efficient management,
90	  even for systems with long response time.
91
92config CADENCE_TTC_TIMER
93	bool "Cadence TTC (Triple Timer Counter)"
94	depends on TIMER
95	help
96	  Enables support for the cadence ttc driver. This driver is present
97	  on Xilinx Zynq and ZynqMP SoCs.
98
99config DESIGNWARE_APB_TIMER
100	bool "Designware APB Timer"
101	depends on TIMER
102	help
103	  Enables support for the Designware APB Timer driver. This timer is
104	  present on Altera SoCFPGA SoCs.
105
106config MPC83XX_TIMER
107	bool "MPC83xx timer support"
108	depends on TIMER
109	help
110	  Select this to enable support for the timer found on
111	  devices based on the MPC83xx family of SoCs.
112
113config X86_TSC_TIMER_EARLY_FREQ
114	int "x86 TSC timer frequency in MHz when used as the early timer"
115	depends on X86_TSC_TIMER
116	default 1000
117	help
118	  Sets the estimated CPU frequency in MHz when TSC is used as the
119	  early timer and the frequency can neither be calibrated via some
120	  hardware ways, nor got from device tree at the time when device
121	  tree is not available yet.
122
123config OMAP_TIMER
124	bool "Omap timer support"
125	depends on TIMER
126	help
127	  Select this to enable an timer for Omap devices.
128
129config RISCV_TIMER
130	bool "RISC-V timer support"
131	depends on TIMER && RISCV
132	help
133	  Select this to enable support for the timer as defined
134	  by the RISC-V privileged architecture spec.
135
136config ROCKCHIP_TIMER
137	bool "Rockchip timer support"
138	depends on TIMER
139	help
140	  Select this to enable support for the timer found on
141	  Rockchip devices.
142
143config SANDBOX_TIMER
144	bool "Sandbox timer support"
145	depends on SANDBOX && TIMER
146	help
147	  Select this to enable an emulated timer for sandbox. It gets
148	  time from host os.
149
150config STI_TIMER
151	bool "STi timer support"
152	depends on TIMER
153	default y if ARCH_STI
154	help
155	  Select this to enable a timer for STi devices.
156
157config STM32_TIMER
158	bool "STM32 timer support"
159	depends on TIMER
160	help
161	  Select this to enable support for the timer found on
162	  STM32 devices.
163
164config X86_TSC_TIMER
165	bool "x86 Time-Stamp Counter (TSC) timer support"
166	depends on TIMER && X86
167	help
168	  Select this to enable Time-Stamp Counter (TSC) timer for x86.
169
170config MTK_TIMER
171	bool "MediaTek timer support"
172	depends on TIMER
173	help
174	  Select this to enable support for the timer found on
175	  MediaTek devices.
176
177endmenu
178