Commit 5028f424 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'timers-clocksource-2025-11-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull clocksource updates from Thomas Gleixner:
 "Updates for clocksource and clockevent drivers:

   - A new driver for the Realtel system timer

   - Prevent the unbinding of timers when the drivers do not support
     that

   - Expand the timer counter readout for the SPRD driver to 64 bit
     to allow IOT devices suspend times of more than 36 hours, which
     is the current limit of the 32-bi readout

   - The usual small cleanups, fixes and enhancements all over the
     place"

* tag 'timers-clocksource-2025-11-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clocksource/drivers: Add Realtek system timer driver
  dt-bindings: timer: Add Realtek SYSTIMER
  clocksource/drivers/stm32-lp: Drop unused module alias
  clocksource/drivers/rda: Add sched_clock_register for RDA8810PL SoC
  clocksource/drivers/nxp-stm: Prevent driver unbind
  clocksource/drivers/nxp-pit: Prevent driver unbind
  clocksource/drivers/arm_arch_timer_mmio: Prevent driver unbind
  clocksource/drivers/nxp-stm: Fix section mismatches
  clocksource/drivers/sh_cmt: Always leave device running after probe
  clocksource/drivers/stm: Fix double deregistration on probe failure
  clocksource/drivers/ralink: Fix resource leaks in init error path
  clocksource/drivers/timer-sp804: Fix read_current_timer() issue when clock source is not registered
  clocksource/drivers/sprd: Enable register for timer counter from 32 bit to 64 bit
parents 9ce62ebb 2437f798
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/realtek,rtd1625-systimer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Realtek System Timer

maintainers:
  - Hao-Wen Ting <haowen.ting@realtek.com>

description:
  The Realtek SYSTIMER (System Timer) is a 64-bit global hardware counter operating
  at a fixed 1MHz frequency. Thanks to its compare match interrupt capability,
  the timer natively supports oneshot mode for tick broadcast functionality.

properties:
  compatible:
    oneOf:
      - const: realtek,rtd1625-systimer
      - items:
          - const: realtek,rtd1635-systimer
          - const: realtek,rtd1625-systimer

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    timer@89420 {
        compatible = "realtek,rtd1635-systimer",
                     "realtek,rtd1625-systimer";
        reg = <0x89420 0x18>;
        interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
    };
+5 −0
Original line number Diff line number Diff line
@@ -21681,6 +21681,11 @@ S: Maintained
F:	Documentation/devicetree/bindings/spi/realtek,rtl9301-snand.yaml
F:	drivers/spi/spi-realtek-rtl-snand.c
REALTEK SYSTIMER DRIVER
M:	Hao-Wen Ting <haowen.ting@realtek.com>
S:	Maintained
F:	drivers/clocksource/timer-realtek.c
REALTEK WIRELESS DRIVER (rtlwifi family)
M:	Ping-Ke Shih <pkshih@realtek.com>
L:	linux-wireless@vger.kernel.org
+11 −0
Original line number Diff line number Diff line
@@ -782,4 +782,15 @@ config NXP_STM_TIMER
          Enables the support for NXP System Timer Module found in the
          s32g NXP platform series.

config RTK_SYSTIMER
	bool "Realtek SYSTIMER support"
	depends on ARM || ARM64
	depends on ARCH_REALTEK || COMPILE_TEST
	select TIMER_OF
	help
	  This option enables the driver that registers the global 1 MHz hardware
	  counter as a clock event device on Realtek SoCs. Make sure to enable
	  this option only when building for a Realtek platform or for compilation
	  testing.

endmenu
+1 −0
Original line number Diff line number Diff line
@@ -95,3 +95,4 @@ obj-$(CONFIG_CLKSRC_LOONGSON1_PWM) += timer-loongson1-pwm.o
obj-$(CONFIG_EP93XX_TIMER)		+= timer-ep93xx.o
obj-$(CONFIG_RALINK_TIMER)		+= timer-ralink.o
obj-$(CONFIG_NXP_STM_TIMER)		+= timer-nxp-stm.o
obj-$(CONFIG_RTK_SYSTIMER)		+= timer-realtek.o
+2 −0
Original line number Diff line number Diff line
@@ -426,6 +426,7 @@ static struct platform_driver arch_timer_mmio_drv = {
	.driver	= {
		.name = "arch-timer-mmio",
		.of_match_table	= arch_timer_mmio_of_table,
		.suppress_bind_attrs = true,
	},
	.probe	= arch_timer_mmio_probe,
};
@@ -434,6 +435,7 @@ builtin_platform_driver(arch_timer_mmio_drv);
static struct platform_driver arch_timer_mmio_acpi_drv = {
	.driver	= {
		.name = "gtdt-arm-mmio-timer",
		.suppress_bind_attrs = true,
	},
	.probe	= arch_timer_mmio_probe,
};
Loading