]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
clk: renesas: r9a09g057: Add XSPI clock/reset
authorLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Fri, 27 Jun 2025 20:42:37 +0000 (21:42 +0100)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 2 Jul 2025 18:53:35 +0000 (20:53 +0200)
Add clock and reset entries for the XSPI interface on the R9A09G057 SoC.

While at it, rename CLK_PLLCM33_DIV4_PLLCM33 to CLK_PLLCM33_GEAR to align
with the terminology used in the hardware manual.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250627204237.214635-7-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
drivers/clk/renesas/r9a09g057-cpg.c

index 4fc55c5e87f703f4c297824c9e5606ee9780cbf6..f7de69a93de148c15b2b37e14f726c43010fdcec 100644 (file)
@@ -36,8 +36,8 @@ enum clk_ids {
        CLK_PLLCM33_DIV3,
        CLK_PLLCM33_DIV4,
        CLK_PLLCM33_DIV5,
-       CLK_PLLCM33_DIV4_PLLCM33,
        CLK_PLLCM33_DIV16,
+       CLK_PLLCM33_GEAR,
        CLK_SMUX2_XSPI_CLK0,
        CLK_SMUX2_XSPI_CLK1,
        CLK_PLLCM33_XSPI,
@@ -134,7 +134,7 @@ static const struct cpg_core_clk r9a09g057_core_clks[] __initconst = {
        DEF_FIXED(".pllcm33_div3", CLK_PLLCM33_DIV3, CLK_PLLCM33, 1, 3),
        DEF_FIXED(".pllcm33_div4", CLK_PLLCM33_DIV4, CLK_PLLCM33, 1, 4),
        DEF_FIXED(".pllcm33_div5", CLK_PLLCM33_DIV5, CLK_PLLCM33, 1, 5),
-       DEF_DDIV(".pllcm33_div4_pllcm33", CLK_PLLCM33_DIV4_PLLCM33,
+       DEF_DDIV(".pllcm33_gear", CLK_PLLCM33_GEAR,
                 CLK_PLLCM33_DIV4, CDDIV0_DIVCTL1, dtable_2_64),
        DEF_FIXED(".pllcm33_div16", CLK_PLLCM33_DIV16, CLK_PLLCM33, 1, 16),
        DEF_SMUX(".smux2_xspi_clk0", CLK_SMUX2_XSPI_CLK0, SSEL1_SELCTL2, smux2_xspi_clk0),
@@ -189,10 +189,12 @@ static const struct cpg_core_clk r9a09g057_core_clks[] __initconst = {
                  CLK_PLLETH_DIV_125_FIX, 1, 1),
        DEF_FIXED("gbeth_1_clk_ptp_ref_i", R9A09G057_GBETH_1_CLK_PTP_REF_I,
                  CLK_PLLETH_DIV_125_FIX, 1, 1),
+       DEF_FIXED_MOD_STATUS("spi_clk_spi", R9A09G057_SPI_CLK_SPI, CLK_PLLCM33_XSPI, 1, 2,
+                            FIXED_MOD_CONF_XSPI),
 };
 
 static const struct rzv2h_mod_clk r9a09g057_mod_clks[] __initconst = {
-       DEF_MOD("dmac_0_aclk",                  CLK_PLLCM33_DIV4_PLLCM33, 0, 0, 0, 0,
+       DEF_MOD("dmac_0_aclk",                  CLK_PLLCM33_GEAR, 0, 0, 0, 0,
                                                BUS_MSTOP(5, BIT(9))),
        DEF_MOD("dmac_1_aclk",                  CLK_PLLDTY_ACPU_DIV2, 0, 1, 0, 1,
                                                BUS_MSTOP(3, BIT(2))),
@@ -276,6 +278,12 @@ static const struct rzv2h_mod_clk r9a09g057_mod_clks[] __initconst = {
                                                BUS_MSTOP(1, BIT(7))),
        DEF_MOD("riic_7_ckm",                   CLK_PLLCLN_DIV16, 9, 11, 4, 27,
                                                BUS_MSTOP(1, BIT(8))),
+       DEF_MOD("spi_hclk",                     CLK_PLLCM33_GEAR, 9, 15, 4, 31,
+                                               BUS_MSTOP(4, BIT(5))),
+       DEF_MOD("spi_aclk",                     CLK_PLLCM33_GEAR, 10, 0, 5, 0,
+                                               BUS_MSTOP(4, BIT(5))),
+       DEF_MOD("spi_clk_spix2",                CLK_PLLCM33_XSPI, 10, 1, 5, 2,
+                                               BUS_MSTOP(4, BIT(5))),
        DEF_MOD("sdhi_0_imclk",                 CLK_PLLCLN_DIV8, 10, 3, 5, 3,
                                                BUS_MSTOP(8, BIT(2))),
        DEF_MOD("sdhi_0_imclk2",                CLK_PLLCLN_DIV8, 10, 4, 5, 4,
@@ -404,6 +412,8 @@ static const struct rzv2h_reset r9a09g057_resets[] __initconst = {
        DEF_RST(9, 14, 4, 15),          /* RIIC_6_MRST */
        DEF_RST(9, 15, 4, 16),          /* RIIC_7_MRST */
        DEF_RST(10, 0, 4, 17),          /* RIIC_8_MRST */
+       DEF_RST(10, 3, 4, 20),          /* SPI_HRESETN */
+       DEF_RST(10, 4, 4, 21),          /* SPI_ARESETN */
        DEF_RST(10, 7, 4, 24),          /* SDHI_0_IXRST */
        DEF_RST(10, 8, 4, 25),          /* SDHI_1_IXRST */
        DEF_RST(10, 9, 4, 26),          /* SDHI_2_IXRST */