spi: sun6i: add support for R329/D1/R528/T113s SPI controllers
authorMaksim Kiselev <bigunclemax@gmail.com>
Wed, 10 May 2023 08:11:11 +0000 (11:11 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 12 May 2023 04:07:44 +0000 (13:07 +0900)
These SoCs has two SPI controllers. One of it is quite similar to previous
ones, but with internal clock divider removed; the other added MIPI DBI
Type-C offload based on the first one.

Add basical support for these controllers. As we're not going to
support the DBI functionality now, just implement the two kinds of
controllers as the same.

Co-developed-by: Icenowy Zheng <icenowy@aosc.io
Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com
Reviewed-by: Andre Przywara <andre.przywara@arm.com
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com
Link: https://lore.kernel.org/r/20230510081121.3463710-5-bigunclemax@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org
drivers/spi/spi-sun6i.c

index e4efab3..02a3a4f 100644 (file)
@@ -738,9 +738,17 @@ static const struct sun6i_spi_cfg sun8i_h3_spi_cfg = {
        .has_clk_ctl    = true,
 };
 
+static const struct sun6i_spi_cfg sun50i_r329_spi_cfg = {
+       .fifo_depth     = SUN8I_FIFO_DEPTH,
+};
+
 static const struct of_device_id sun6i_spi_match[] = {
        { .compatible = "allwinner,sun6i-a31-spi", .data = &sun6i_a31_spi_cfg },
        { .compatible = "allwinner,sun8i-h3-spi",  .data = &sun8i_h3_spi_cfg },
+       {
+               .compatible = "allwinner,sun50i-r329-spi",
+               .data = &sun50i_r329_spi_cfg
+       },
        {}
 };
 MODULE_DEVICE_TABLE(of, sun6i_spi_match);