[PATCH v3 00/12] Add RTC support for the Renesas RZ/G3S SoC

Claudiu
2024-08-30T13:02:32Z

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Hi,

On the Renesas RZ/G3S SoC the RTC clock is provided by the VBATTB
IP. A 32 KHz crystall oscillator could be connected to the VBATTB
input pins. The logic to control this clock (and pass it to RTC)
is inside the VBATTB IP. For this, the clk-vbattb driver was added
(patches 01-04/12).

Patches 05-06/12 add the RTC driver.

Patches 07-10/12 update the device trees with proper nodes to enable RTC.

Patches 11-12/12 enable proper config flags for RTC to work on RZ/G3S SoC.

Merge strategy, if any:
- clock patches (01-04/12) need to go though the same tree because of
patch 04/12 using the devm_clk_hw_register_gate_parent_hw() introduced
in patch 03/12
- RTC patches (03-04/12) can go though RTC tree
- DTS and defconfig patches can go though Renesas tree

Thank you,
Claudiu Beznea

Changes in v3:
- dropped patches "mfd: renesas-vbattb: Add a MFD driver for the Renesas
VBATTB IP"
- added patches:
-- dt-bindings: clock: r9a08g045-vbattb: Add clock IDs for
the VBATTB controller
-- clk: linux/clk-provider.h: Add devm_clk_hw_register_gate_parent_hw()
- moved Documentation/devicetree/bindings/mfd/renesas,r9a08g045-vbattb.yaml
to Documentation/devicetree/bindings/clock/renesas,r9a08g045-vbattb.yaml
- addressed review comments
- per patch changes are listed in individual patches

Changes in v2:
- dropped patch "clk: renesas: r9a08g045: Add clock, reset and power domain
support for the VBATTB IP" as it was already integrated
- kept only a documentation file for both VBATT MFD and clock drivers as
suggested
- addressed review comments
- used cleanup.h lock helpers
- update startup sequence for the RTC driver
- switch to 24 hours mode on the RTC driver
- fixed range for the RTC driver
- added a generic compatible for the RTC driver as this will also be
used by RZ/V2H
- used clkin/xin clock names for the VBATTB clock driver to determine
if bypass should be configured on registers instead of having
dedicated DT property
- added mfd driver for VBATTB
- updated Kconfig flag names to include vendor name
- removed DT node labels from Documentation files
- used items to describe the interrupts and clocks

Claudiu Beznea (12):
dt-bindings: clock: renesas,r9a08g045-vbattb: Document VBATTB
dt-bindings: clock: r9a08g045-vbattb: Add clock IDs for the VBATTB
controller
clk: linux/clk-provider.h: Add devm_clk_hw_register_gate_parent_hw()
clk: renesas: clk-vbattb: Add VBATTB clock driver
dt-bindings: rtc: renesas,rzg3s-rtc: Document the Renesas RTCA-3 IP
rtc: renesas-rtca3: Add driver for RTCA-3 available on Renesas RZ/G3S
SoC
arm64: dts: renesas: r9a08g045: Add VBATTB node
arm64: dts: renesas: r9a08g045: Add RTC node
arm64: dts: renesas: rzg3s-smarc-som: Enable VBATTB
arm64: dts: renesas: rzg3s-smarc-som: Enable RTC
arm64: defconfig: Enable VBATTB clock
arm64: defconfig: Enable Renesas RTCA-3 flag

.../clock/renesas,r9a08g045-vbattb.yaml | 81 ++
.../bindings/rtc/renesas,rz-rtca3.yaml | 86 ++
MAINTAINERS | 8 +
arch/arm64/boot/dts/renesas/r9a08g045.dtsi | 36 +
.../boot/dts/renesas/rzg3s-smarc-som.dtsi | 13 +
arch/arm64/configs/defconfig | 2 +
drivers/clk/renesas/Kconfig | 4 +
drivers/clk/renesas/Makefile | 1 +
drivers/clk/renesas/clk-vbattb.c | 204 ++++
drivers/rtc/Kconfig | 10 +
drivers/rtc/Makefile | 1 +
drivers/rtc/rtc-renesas-rtca3.c | 892 ++++++++++++++++++
include/dt-bindings/clock/r9a08g045-vbattb.h | 13 +
include/linux/clk-provider.h | 18 +
14 files changed, 1369 insertions(+)
create mode 100644 Documentation/devicetree/bindings/clock/renesas,r9a08g045-vbattb.yaml
create mode 100644 Documentation/devicetree/bindings/rtc/renesas,rz-rtca3.yaml
create mode 100644 drivers/clk/renesas/clk-vbattb.c
create mode 100644 drivers/rtc/rtc-renesas-rtca3.c
create mode 100644 include/dt-bindings/clock/r9a08g045-vbattb.h

--
2.39.2