Messages in this thread | | | From | Yicong Yang <> | Subject | [RFC PATCH 0/3] Add HiSilicon system timer driver | Date | Tue, 10 Oct 2023 20:30:30 +0800 |
| |
From: Yicong Yang <yangyicong@hisilicon.com>
HiSilicon system timer is a memory mapped platform timer compatible with the arm's generic timer specification. The timer supports both SPI and LPI interrupt and can be enumerated through ACPI DSDT table. Since the timer is fully compatible with the spec, it can reuse most codes of the arm_arch_timer driver. However since the arm_arch_timer driver only supports GTDT and SPI interrupt, this series support the HiSilicon system timer by:
- refactor some of the arm_arch_timer codes and export the function to register a arch memory timer by other drivers - retrieve the IO memory and interrupt resource through DSDT in a separate driver, then setup and register the clockevent device reuse the arm_arch_timer function
Using LPI for the timer is mentioned in BSA Spec section 3.8.1 (DEN0094C 1.0C).
Yicong Yang (3): clocksource/drivers/arm_arch_timer: Split the function of __arch_timer_setup() clocksource/drivers/arm_arch_timer: Extend and export arch_timer_mem_register() clocksource/drivers: Add HiSilicon system timer driver
drivers/clocksource/Kconfig | 10 +++ drivers/clocksource/Makefile | 1 + drivers/clocksource/arm_arch_timer.c | 123 +++++++++++++++------------ drivers/clocksource/timer-hisi-sys.c | 68 +++++++++++++++ include/clocksource/arm_arch_timer.h | 2 + 5 files changed, 148 insertions(+), 56 deletions(-) create mode 100644 drivers/clocksource/timer-hisi-sys.c
-- 2.24.0
| |