]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: rzv2h-rspi: make clocks chip-specific
authorCosmin Tanislav <cosmin-gabriel.tanislav.xa@renesas.com>
Wed, 19 Nov 2025 16:14:24 +0000 (18:14 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 24 Nov 2025 14:10:41 +0000 (14:10 +0000)
The Renesas RZ/T2H (R9A09G077) and RZ/N2H (R9A09G087) SoCs have
different clocks compared to RZ/V2H. Set the number of clocks and the
name of the transfer clock in the chip-specific structure to prepare for
adding support for them.

Signed-off-by: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@renesas.com>
Link: https://patch.msgid.link/20251119161434.595677-4-cosmin-gabriel.tanislav.xa@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-rzv2h-rspi.c

index 7a7a576c17dd42048cd2e491311af2b7dfb0c311..a1f17ec8727b9523d9a2af81135617d671cada1e 100644 (file)
 #define RSPI_SPSRC_CLEAR       0xfd80
 
 #define RSPI_RESET_NUM         2
-#define RSPI_CLK_NUM           3
 
 struct rzv2h_rspi_info {
+       const char *tclk_name;
        unsigned int fifo_size;
+       unsigned int num_clks;
 };
 
 struct rzv2h_rspi_priv {
@@ -373,11 +374,11 @@ static int rzv2h_rspi_probe(struct platform_device *pdev)
                return PTR_ERR(rspi->base);
 
        ret = devm_clk_bulk_get_all_enabled(dev, &clks);
-       if (ret != RSPI_CLK_NUM)
+       if (ret != rspi->info->num_clks)
                return dev_err_probe(dev, ret >= 0 ? -EINVAL : ret,
                                     "cannot get clocks\n");
-       for (i = 0; i < RSPI_CLK_NUM; i++) {
-               if (!strcmp(clks[i].id, "tclk")) {
+       for (i = 0; i < rspi->info->num_clks; i++) {
+               if (!strcmp(clks[i].id, rspi->info->tclk_name)) {
                        rspi->tclk = clks[i].clk;
                        break;
                }
@@ -452,7 +453,9 @@ static void rzv2h_rspi_remove(struct platform_device *pdev)
 }
 
 static const struct rzv2h_rspi_info rzv2h_info = {
+       .tclk_name = "tclk",
        .fifo_size = 16,
+       .num_clks = 3,
 };
 
 static const struct of_device_id rzv2h_rspi_match[] = {