mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Document the device tree bindings for the Renesas RZ/G3L SoC Clock Pulse
Generator (CPG). RZ/G3L CPG is similar to RZ/G2L CPG but has 5 clocks
compared to 1 clock on other SoCs.
Also define RZ/G3L (R9A08G046) Clock Pulse Generator Core Clocks, as
listed in section 4.4.4.1 ("Block Diagram of the Clock System"), module
clock outputs, as listed in section 4.4.2 ("Clock List r1.00") and add
Reset definitions referring to registers CPG_RST_* in Section 4.4.3
("Register") of the RZ/G3L Hardware User's Manual (Rev.1.00 Oct, 2025).
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260324114329.268249-2-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
120 lines
3.4 KiB
YAML
120 lines
3.4 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/clock/renesas,rzg2l-cpg.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Renesas RZ/{G2L,V2L,V2M} Clock Pulse Generator / Module Standby Mode
|
|
|
|
maintainers:
|
|
- Geert Uytterhoeven <geert+renesas@glider.be>
|
|
|
|
description: |
|
|
On Renesas RZ/{G2L,V2L}-alike SoC's, the CPG (Clock Pulse Generator) and Module
|
|
Standby Mode share the same register block. On RZ/V2M, the functionality is
|
|
similar, but does not have Clock Monitor Registers.
|
|
|
|
They provide the following functionalities:
|
|
- The CPG block generates various core clocks,
|
|
- The Module Standby Mode block provides two functions:
|
|
1. Module Standby, providing a Clock Domain to control the clock supply
|
|
to individual SoC devices,
|
|
2. Reset Control, to perform a software reset of individual SoC devices.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- renesas,r9a07g043-cpg # RZ/G2UL{Type-1,Type-2} and RZ/Five
|
|
- renesas,r9a07g044-cpg # RZ/G2{L,LC}
|
|
- renesas,r9a07g054-cpg # RZ/V2L
|
|
- renesas,r9a08g045-cpg # RZ/G3S
|
|
- renesas,r9a08g046-cpg # RZ/G3L
|
|
- renesas,r9a09g011-cpg # RZ/V2M
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
items:
|
|
- description: Clock source to CPG can be either from external clock
|
|
input (EXCLK) or crystal oscillator (XIN/XOUT).
|
|
- description: ETH0 TXC clock input
|
|
- description: ETH0 RXC clock input
|
|
- description: ETH1 TXC clock input
|
|
- description: ETH1 RXC clock input
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
items:
|
|
- const: extal
|
|
- const: eth0_txc_tx_clk
|
|
- const: eth0_rxc_rx_clk
|
|
- const: eth1_txc_tx_clk
|
|
- const: eth1_rxc_rx_clk
|
|
|
|
'#clock-cells':
|
|
description: |
|
|
- For CPG core clocks, the two clock specifier cells must be "CPG_CORE"
|
|
and a core clock reference, as defined in
|
|
<dt-bindings/clock/r9a0*-cpg.h>,
|
|
- For module clocks, the two clock specifier cells must be "CPG_MOD" and
|
|
a module number, as defined in <dt-bindings/clock/r9a0*-cpg.h>.
|
|
const: 2
|
|
|
|
'#power-domain-cells':
|
|
description:
|
|
SoC devices that are part of the CPG/Module Standby Mode Clock Domain and
|
|
can be power-managed through Module Standby should refer to the CPG device
|
|
node in their "power-domains" property, as documented by the generic PM
|
|
Domain bindings in Documentation/devicetree/bindings/power/power-domain.yaml.
|
|
const: 0
|
|
|
|
'#reset-cells':
|
|
description:
|
|
The single reset specifier cell must be the reset number, as defined in
|
|
<dt-bindings/clock/r9a0*-cpg.h>.
|
|
const: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- clock-names
|
|
- '#clock-cells'
|
|
- '#power-domain-cells'
|
|
- '#reset-cells'
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: renesas,r9a08g046-cpg
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 5
|
|
clock-names:
|
|
minItems: 5
|
|
else:
|
|
properties:
|
|
clocks:
|
|
maxItems: 1
|
|
clock-names:
|
|
maxItems: 1
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
cpg: clock-controller@11010000 {
|
|
compatible = "renesas,r9a07g044-cpg";
|
|
reg = <0x11010000 0x10000>;
|
|
clocks = <&extal_clk>;
|
|
clock-names = "extal";
|
|
#clock-cells = <2>;
|
|
#power-domain-cells = <0>;
|
|
#reset-cells = <1>;
|
|
};
|