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

dmaengine: jz4780: Add support for the JZ4760(B)

Add support for the JZ4760 and JZ4760B SoCs.

Both SoCs have only 5 DMA channels per chip. The JZ4760B introduced the
DCKES/DCKEC registers.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20210120105322.16116-2-paul@crapouillou.net
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Paul Cercueil and committed by
Vinod Koul
d2852a3e 6ce6acf6

+14
+14
drivers/dma/dma-jz4780.c
··· 1004 1004 JZ_SOC_DATA_BREAK_LINKS, 1005 1005 }; 1006 1006 1007 + static const struct jz4780_dma_soc_data jz4760_dma_soc_data = { 1008 + .nb_channels = 5, 1009 + .transfer_ord_max = 6, 1010 + .flags = JZ_SOC_DATA_PER_CHAN_PM | JZ_SOC_DATA_NO_DCKES_DCKEC, 1011 + }; 1012 + 1013 + static const struct jz4780_dma_soc_data jz4760b_dma_soc_data = { 1014 + .nb_channels = 5, 1015 + .transfer_ord_max = 6, 1016 + .flags = JZ_SOC_DATA_PER_CHAN_PM, 1017 + }; 1018 + 1007 1019 static const struct jz4780_dma_soc_data jz4770_dma_soc_data = { 1008 1020 .nb_channels = 6, 1009 1021 .transfer_ord_max = 6, ··· 1043 1031 static const struct of_device_id jz4780_dma_dt_match[] = { 1044 1032 { .compatible = "ingenic,jz4740-dma", .data = &jz4740_dma_soc_data }, 1045 1033 { .compatible = "ingenic,jz4725b-dma", .data = &jz4725b_dma_soc_data }, 1034 + { .compatible = "ingenic,jz4760-dma", .data = &jz4760_dma_soc_data }, 1035 + { .compatible = "ingenic,jz4760b-dma", .data = &jz4760b_dma_soc_data }, 1046 1036 { .compatible = "ingenic,jz4770-dma", .data = &jz4770_dma_soc_data }, 1047 1037 { .compatible = "ingenic,jz4780-dma", .data = &jz4780_dma_soc_data }, 1048 1038 { .compatible = "ingenic,x1000-dma", .data = &x1000_dma_soc_data },