Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dmaengine: sun6i: Add support for Allwinner A83T (sun8i) variant

The A83T SoC has the same dma engine as the A31 (sun6i), with a reduced
amount of endpoints and physical channels.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>

authored by

Jean-Francois Moine and committed by
Vinod Koul
3a03ea76 34681d84

+8
+1
Documentation/devicetree/bindings/dma/sun6i-dma.txt
··· 7 7 - compatible: Must be one of 8 8 "allwinner,sun6i-a31-dma" 9 9 "allwinner,sun8i-a23-dma" 10 + "allwinner,sun8i-a83t-dma" 10 11 "allwinner,sun8i-h3-dma" 11 12 - reg: Should contain the registers base address and length 12 13 - interrupts: Should contain a reference to the interrupt used by this device
+7
drivers/dma/sun6i-dma.c
··· 1011 1011 .nr_max_vchans = 37, 1012 1012 }; 1013 1013 1014 + static struct sun6i_dma_config sun8i_a83t_dma_cfg = { 1015 + .nr_max_channels = 8, 1016 + .nr_max_requests = 28, 1017 + .nr_max_vchans = 39, 1018 + }; 1019 + 1014 1020 /* 1015 1021 * The H3 has 12 physical channels, a maximum DRQ port id of 27, 1016 1022 * and a total of 34 usable source and destination endpoints. ··· 1031 1025 static const struct of_device_id sun6i_dma_match[] = { 1032 1026 { .compatible = "allwinner,sun6i-a31-dma", .data = &sun6i_a31_dma_cfg }, 1033 1027 { .compatible = "allwinner,sun8i-a23-dma", .data = &sun8i_a23_dma_cfg }, 1028 + { .compatible = "allwinner,sun8i-a83t-dma", .data = &sun8i_a83t_dma_cfg }, 1034 1029 { .compatible = "allwinner,sun8i-h3-dma", .data = &sun8i_h3_dma_cfg }, 1035 1030 { /* sentinel */ } 1036 1031 };