[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250521-vt8500-timer-updates-v5-0-7e4bd11df72e@gmail.com>
Date: Wed, 21 May 2025 17:00:08 +0400
From: Alexey Charkov <alchark@...il.com>
To: Krzysztof Kozlowski <krzk@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>, Rob Herring <robh@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Wim Van Sebroeck <wim@...ux-watchdog.org>,
Guenter Roeck <linux@...ck-us.net>
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, linux-watchdog@...r.kernel.org,
Alexey Charkov <alchark@...il.com>
Subject: [PATCH v5 0/4] clocksource/drivers/timer-vt8500: clean up and add
watchdog function
Add named defines for all registers and bits in timer-vt8500.
Move the system events timer from channel 0 to channel 1 when enough
information is provided by the device tree (i.e. more than one IRQ).
Use channel 0 for the system watchdog
Signed-off-by: Alexey Charkov <alchark@...il.com>
---
Changes in v5:
- Make sure the watchdog timeout value is clamped to hardware limits
before writing it to the registers (thanks Guenter)
- Add a comment about the watchdog match value (deadline) wrapping around
the U32_MAX boundary, which is expected behavior (thanks Guenter)
- Avoid moving register definitions to the shared header file to reduce
churn: the watchdog driver gets direct pointers to the two registers it
uses anyway, so it doesn't have to know all those offsets and bits
- Put the watchdog Kconfig entry with other ARM platforms where it belongs
- Link to v4: https://lore.kernel.org/r/20250521-vt8500-timer-updates-v4-0-2d4306a16ae4@gmail.com
Changes in v4:
- Changed the watchdog driver to use auxiliary bus instead of platform
(thanks Guenter)
- Split out the register definitions into a header file shared between
the clocksource driver and the watchdog driver
- Replaced -1UL with U32_MAX in watchdog max_heartbeat_ms to make builds
on non-32bit platforms happier
- Link to v3: https://lore.kernel.org/r/20250515-vt8500-timer-updates-v3-0-2197a1b062bd@gmail.com
Changes in v3:
- Dropped the DTS patch already applied by Krzysztof
- Rebased onto v6.15-rc5 as requested by Daniel
- Split out the watchdog code into a dedicated platform driver, like
timer-gxp does (thanks Daniel)
- Link to v2: https://lore.kernel.org/r/20250507-vt8500-timer-updates-v2-0-65e5d1b0855e@gmail.com
Changes in v2:
- Included the previously reviewed binding change that is directly related
to this series as the first patch here (thanks Krzysztof)
- Created a separate config symbol for the watchdog function to let users
build a kernel without forcing watchdog functionality upon them
(thanks Krzysztof)
- Link to the previous binding submission: https://lore.kernel.org/all/20250506-via_vt8500_timer_binding-v3-1-88450907503f@gmail.com/
- Link to v1: https://lore.kernel.org/r/20250507-vt8500-timer-updates-v1-0-6b76f7f340a6@gmail.com
---
Alexey Charkov (4):
dt-bindings: timer: via,vt8500-timer: Convert to YAML
clocksource/drivers/timer-vt8500: Add defines for magic constants
clocksource/drivers/timer-vt8500: Prepare for watchdog functionality
watchdog: Add support for VIA/WonderMedia SoC watchdog functionality
.../devicetree/bindings/timer/via,vt8500-timer.txt | 15 --
.../bindings/timer/via,vt8500-timer.yaml | 51 +++++++
MAINTAINERS | 3 +
drivers/clocksource/Kconfig | 1 +
drivers/clocksource/timer-vt8500.c | 166 +++++++++++++++++----
drivers/watchdog/Kconfig | 15 ++
drivers/watchdog/Makefile | 1 +
drivers/watchdog/vt8500-wdt.c | 88 +++++++++++
include/linux/vt8500-timer.h | 18 +++
9 files changed, 316 insertions(+), 42 deletions(-)
---
base-commit: 088d13246a4672bc03aec664675138e3f5bff68c
change-id: 20250506-vt8500-timer-updates-44a0d22cd720
Best regards,
--
Alexey Charkov <alchark@...il.com>
Powered by blists - more mailing lists