1
0
Fork 0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-01-22 16:06:04 -05:00
linux/drivers/clk/renesas
Claudiu Beznea 3b42450ce1 clk: renesas: vbattb: Add VBATTB clock driver
The VBATTB IP of the Renesas RZ/G3S SoC controls the clock that is used
by the RTC. The input to the VBATTB could be a 32KHz crystal
or an external clock device.

The HW block diagram for the clock generator is as follows:

           +----------+ XC   `\
RTXIN  --->|          |----->| \       +----+  VBATTCLK
           | 32K clock|      |  |----->|gate|----------->
           | osc      | XBYP |  |      +----+
RTXOUT --->|          |----->| /
           +----------+      ,

After discussions w/ Stephen Boyd the clock tree associated with this
hardware block was exported in Linux as:

vbattb-xtal
   xbyp
   xc
      mux
         vbattbclk

where:
- input-xtal is the input clock (connected to RTXIN, RTXOUT pins)
- xc, xbyp are mux inputs
- mux is the internal mux
- vbattclk is the gate clock that feeds in the end the RTC

to allow selecting the input of the MUX though assigned-clock DT
properties, using the already existing clock drivers and avoid adding
other DT properties. If the crystal is connected on RTXIN,
RTXOUT pins the XC will be selected as mux input. If an external clock
device is connected on RTXIN, RTXOUT pins the XBYP will be selected as
mux input.

The load capacitance of the internal crystal can be configured
with renesas,vbattb-load-nanofarads DT property.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://lore.kernel.org/20241101095720.2247815-4-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2024-11-06 08:52:45 +01:00
..
clk-div6.c
clk-div6.h
clk-emev2.c
clk-mstp.c
clk-r8a73a4.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
clk-r8a7740.c
clk-r8a7778.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
clk-r8a7779.c
clk-rz.c
clk-sh73a0.c
clk-vbattb.c clk: renesas: vbattb: Add VBATTB clock driver 2024-11-06 08:52:45 +01:00
Kconfig clk: renesas: vbattb: Add VBATTB clock driver 2024-11-06 08:52:45 +01:00
Makefile clk: renesas: vbattb: Add VBATTB clock driver 2024-11-06 08:52:45 +01:00
r7s9210-cpg-mssr.c
r8a774a1-cpg-mssr.c
r8a774b1-cpg-mssr.c
r8a774c0-cpg-mssr.c
r8a774e1-cpg-mssr.c
r8a779a0-cpg-mssr.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
r8a779f0-cpg-mssr.c
r8a779g0-cpg-mssr.c
r8a779h0-cpg-mssr.c clk: renesas: r8a779h0: Drop CLK_PLL2_DIV2 to clarify ZCn clocks 2024-10-14 10:04:31 +02:00
r8a7742-cpg-mssr.c
r8a7743-cpg-mssr.c
r8a7745-cpg-mssr.c
r8a7790-cpg-mssr.c
r8a7791-cpg-mssr.c
r8a7792-cpg-mssr.c
r8a7794-cpg-mssr.c
r8a7795-cpg-mssr.c
r8a7796-cpg-mssr.c
r8a77470-cpg-mssr.c
r8a77965-cpg-mssr.c
r8a77970-cpg-mssr.c
r8a77980-cpg-mssr.c
r8a77990-cpg-mssr.c
r8a77995-cpg-mssr.c
r9a06g032-clocks.c
r9a07g043-cpg.c
r9a07g044-cpg.c
r9a08g045-cpg.c clk: renesas: r9a08g045: Add power domain for RTC 2024-10-25 11:08:16 +02:00
r9a09g011-cpg.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
r9a09g057-cpg.c clk: renesas: r9a09g057: Add clock and reset entries for ICU 2024-10-07 10:33:51 +02:00
rcar-cpg-lib.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
rcar-cpg-lib.h
rcar-gen2-cpg.c
rcar-gen2-cpg.h
rcar-gen3-cpg.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
rcar-gen3-cpg.h
rcar-gen4-cpg.c
rcar-gen4-cpg.h
rcar-usb2-clock-sel.c
renesas-cpg-mssr.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
renesas-cpg-mssr.h
rzg2l-cpg.c clk: renesas: rzg2l: Fix FOUTPOSTDIV clk 2024-11-03 11:48:39 +01:00
rzg2l-cpg.h clk: renesas: rzg2l-cpg: Use GENPD_FLAG_* flags instead of local ones 2024-10-25 11:00:33 +02:00
rzv2h-cpg.c
rzv2h-cpg.h clk: renesas: r9a09g057: Add CA55 core clocks 2024-10-07 10:32:56 +02:00