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

dmaengine: imx-sdma: Add i2c dma support

New sdma script (sdma-6q: v3.6, sdma-7d: v4.6) support i2c at imx8mp and
imx6ull. So add I2C dma support.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Acked-by: Clark Wang <xiaoning.wang@nxp.com>
Reviewed-by: Joy Zou <joy.zou@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20240419150729.1071904-3-Frank.Li@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Robin Gong and committed by
Vinod Koul
d850b5ba 1cb49f38

+8
+7
drivers/dma/imx-sdma.c
··· 251 251 s32 sai_2_mcu_addr; 252 252 s32 uart_2_mcu_rom_addr; 253 253 s32 uartsh_2_mcu_rom_addr; 254 + s32 i2c_2_mcu_addr; 255 + s32 mcu_2_i2c_addr; 254 256 /* End of v3 array */ 255 257 union { s32 v3_end; s32 mcu_2_zqspi_addr; }; 256 258 /* End of v4 array */ ··· 1083 1081 case IMX_DMATYPE_MULTI_SAI: 1084 1082 per_2_emi = sdma->script_addrs->sai_2_mcu_addr; 1085 1083 emi_2_per = sdma->script_addrs->mcu_2_sai_addr; 1084 + break; 1085 + case IMX_DMATYPE_I2C: 1086 + per_2_emi = sdma->script_addrs->i2c_2_mcu_addr; 1087 + emi_2_per = sdma->script_addrs->mcu_2_i2c_addr; 1088 + sdmac->is_ram_script = true; 1086 1089 break; 1087 1090 case IMX_DMATYPE_HDMI: 1088 1091 emi_2_per = sdma->script_addrs->hdmi_dma_addr;
+1
include/linux/dma/imx-dma.h
··· 41 41 IMX_DMATYPE_SAI, /* SAI */ 42 42 IMX_DMATYPE_MULTI_SAI, /* MULTI FIFOs For Audio */ 43 43 IMX_DMATYPE_HDMI, /* HDMI Audio */ 44 + IMX_DMATYPE_I2C, /* I2C */ 44 45 }; 45 46 46 47 enum imx_dma_prio {