drivers: soc: sunxi: Add support for the C1 SRAM region
authorMaxime Ripard <maxime.ripard@bootlin.com>
Tue, 10 Jul 2018 08:00:59 +0000 (10:00 +0200)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Wed, 11 Jul 2018 08:55:43 +0000 (10:55 +0200)
This introduces support for the SRAM C1 section, that is controlled by
the system controller. This SRAM area can be muxed either to the CPU
or the Video Engine, that needs this area to store various tables (e.g.
the Huffman VLD decoding tables).

This only supports devices with the same layout as the A10 (which also
includes the A13, A20, A33 and other SoCs).

Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
drivers/soc/sunxi/sunxi_sram.c

index 236f343..b19fa2c 100644 (file)
@@ -64,6 +64,12 @@ static struct sunxi_sram_desc sun4i_a10_sram_a3_a4 = {
                                  SUNXI_SRAM_MAP(1, 1, "emac")),
 };
 
+static struct sunxi_sram_desc sun4i_a10_sram_c1 = {
+       .data   = SUNXI_SRAM_DATA("C1", 0x0, 0x0, 31,
+                                 SUNXI_SRAM_MAP(0, 0, "cpu"),
+                                 SUNXI_SRAM_MAP(0x7fffffff, 1, "ve")),
+};
+
 static struct sunxi_sram_desc sun4i_a10_sram_d = {
        .data   = SUNXI_SRAM_DATA("D", 0x4, 0x0, 1,
                                  SUNXI_SRAM_MAP(0, 0, "cpu"),
@@ -82,6 +88,10 @@ static const struct of_device_id sunxi_sram_dt_ids[] = {
                .data           = &sun4i_a10_sram_a3_a4.data,
        },
        {
+               .compatible     = "allwinner,sun4i-a10-sram-c1",
+               .data           = &sun4i_a10_sram_c1.data,
+       },
+       {
                .compatible     = "allwinner,sun4i-a10-sram-d",
                .data           = &sun4i_a10_sram_d.data,
        },