|
|
Log in / Subscribe / Register

Add HiSilicon system timer driver

From:  Yicong Yang <yangyicong-AT-huawei.com>
To:  <mark.rutland-AT-arm.com>, <maz-AT-kernel.org>, <linux-arm-kernel-AT-lists.infradead.org>, <linux-kernel-AT-vger.kernel.org>
Subject:  [RFC PATCH 0/3] Add HiSilicon system timer driver
Date:  Tue, 10 Oct 2023 20:30:30 +0800
Message-ID:  <20231010123033.23258-1-yangyicong@huawei.com>
Cc:  <daniel.lezcano-AT-linaro.org>, <tglx-AT-linutronix.de>, <jonathan.cameron-AT-huawei.com>, <prime.zeng-AT-huawei.com>, <wanghuiqiang-AT-huawei.com>, <wangwudi-AT-hisilicon.com>, <guohanjun-AT-huawei.com>, <yangyicong-AT-hisilicon.com>, <linuxarm-AT-huawei.com>
Archive-link:  Article

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



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds