Files
linux/Documentation/devicetree/bindings/rtc/renesas,rz-rtca3.yaml
Ovidiu Panait 4800046b56 dt-bindings: rtc: renesas,rz-rtca3: Add RZ/V2H support
The Renesas RZ/V2H RTC IP is based on the same RTCA3 IP as RZ/G3S
(r9a08g045), with the following differences:
- It lacks the time capture functionality
- The maximum supported periodic interrupt frequency is 128Hz instead
  of 256Hz
- It requires two reset lines instead of one

Add new compatible string "renesas,r9a09g057-rtca3" for RZ/V2H and update
the binding accordingly:
- Allow "resets" to contain one or two entries depending on the SoC.
- Add "reset-names" property, but make it required only for RZ/V2H.

Signed-off-by: Ovidiu Panait <ovidiu.panait.rb@renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20251107210706.45044-2-ovidiu.panait.rb@renesas.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2025-12-08 22:28:17 +01:00

121 lines
2.6 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rtc/renesas,rz-rtca3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Renesas RTCA-3 Real Time Clock
maintainers:
- Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
properties:
compatible:
items:
- enum:
- renesas,r9a08g045-rtca3 # RZ/G3S
- renesas,r9a09g057-rtca3 # RZ/V2H
- const: renesas,rz-rtca3
reg:
maxItems: 1
interrupts:
items:
- description: Alarm interrupt
- description: Periodic interrupt
- description: Carry interrupt
interrupt-names:
items:
- const: alarm
- const: period
- const: carry
clocks:
items:
- description: RTC bus clock
- description: RTC counter clock
clock-names:
items:
- const: bus
- const: counter
power-domains:
maxItems: 1
resets:
minItems: 1
maxItems: 2
reset-names:
minItems: 1
maxItems: 2
required:
- compatible
- reg
- interrupts
- interrupt-names
- clocks
- clock-names
- power-domains
- resets
allOf:
- $ref: rtc.yaml#
- if:
properties:
compatible:
contains:
const: renesas,r9a08g045-rtca3
then:
properties:
resets:
items:
- description: VBATTB module reset
reset-names:
const: vbattb
- if:
properties:
compatible:
contains:
const: renesas,r9a09g057-rtca3
then:
properties:
resets:
items:
- description: RTC reset
- description: Reset for the RTEST registers
reset-names:
items:
- const: rtc
- const: rtest
required:
- reset-names
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/r9a08g045-cpg.h>
#include <dt-bindings/clock/renesas,r9a08g045-vbattb.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
rtc@1004ec00 {
compatible = "renesas,r9a08g045-rtca3", "renesas,rz-rtca3";
reg = <0x1004ec00 0x400>;
interrupts = <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "alarm", "period", "carry";
clocks = <&cpg CPG_MOD R9A08G045_VBAT_BCLK>, <&vbattclk VBATTB_VBATTCLK>;
clock-names = "bus", "counter";
power-domains = <&cpg>;
resets = <&cpg R9A08G045_VBAT_BRESETN>;
reset-names = "vbattb";
};