Skip to content

Commit dfa983c

Browse files
Thierry Bultelgregkh
authored andcommitted
dt-bindings: serial: renesas,rsci: Add optional secondary clock input
Update the RSCI binding to support an optional secondary clock input on the RZ/T2H SoC. At boot, the RSCI operates using the default synchronous clock (PCLKM core clock), which is enabled by the bootloader. However, to support a wider range of baud rates, the hardware also requires an asynchronous external clock input. Clock selection is controlled internally by the CCR3 register in the RSCI block. Due to an incomplete understanding of the hardware, the original binding defined only a single clock ("fck"), which is insufficient to describe the full capabilities of the RSCI on RZ/T2H. This update corrects the binding by allowing up to three clocks and defining the `clock-names` as "operation", "bus", and optionally "sck" for the asynchronous clock input. This is an ABI change, as it modifies the expected number and names of clocks. However, since there are no in-kernel consumers of this binding yet, the change is considered safe and non-disruptive. Also remove the unneeded `serial0` alias from the DTS example and use the R9A09G077_CLK_PCLKM macro for core clock. Signed-off-by: Thierry Bultel <[email protected]> Signed-off-by: Lad Prabhakar <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Reviewed-by: "Rob Herring (Arm)" <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent a553ab2 commit dfa983c

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

Documentation/devicetree/bindings/serial/renesas,rsci.yaml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,15 @@ properties:
4141
- const: tei
4242

4343
clocks:
44-
maxItems: 1
44+
minItems: 2
45+
maxItems: 3
4546

4647
clock-names:
47-
const: fck # UART functional clock
48+
minItems: 2
49+
items:
50+
- const: operation
51+
- const: bus
52+
- const: sck # optional external clock input
4853

4954
power-domains:
5055
maxItems: 1
@@ -66,10 +71,6 @@ examples:
6671
#include <dt-bindings/interrupt-controller/arm-gic.h>
6772
#include <dt-bindings/clock/renesas-cpg-mssr.h>
6873
69-
aliases {
70-
serial0 = &sci0;
71-
};
72-
7374
sci0: serial@80005000 {
7475
compatible = "renesas,r9a09g077-rsci";
7576
reg = <0x80005000 0x400>;
@@ -78,7 +79,7 @@ examples:
7879
<GIC_SPI 592 IRQ_TYPE_EDGE_RISING>,
7980
<GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>;
8081
interrupt-names = "eri", "rxi", "txi", "tei";
81-
clocks = <&cpg CPG_MOD 108>;
82-
clock-names = "fck";
82+
clocks = <&cpg CPG_MOD 8>, <&cpg CPG_CORE 13>;
83+
clock-names = "operation", "bus";
8384
power-domains = <&cpg>;
8485
};

0 commit comments

Comments
 (0)