Lines Matching full:edma
3 * drivers/dma/fsl-edma.c
8 * Driver for the Freescale eDMA engine with flexible channel multiplexing
9 * capability for DMA request sources. The eDMA block can be found on some
13 #include <dt-bindings/dma/fsl-edma.h>
25 #include "fsl-edma-common.h"
73 return fsl_edma_tx_handler(irq, fsl_chan->edma); in fsl_edma2_tx_handler()
276 fsl_edma->txirq = platform_get_irq_byname(pdev, "edma-tx"); in fsl_edma_irq_init()
280 fsl_edma->errirq = platform_get_irq_byname(pdev, "edma-err"); in fsl_edma_irq_init()
286 fsl_edma_irq_handler, 0, "eDMA", fsl_edma); in fsl_edma_irq_init()
288 dev_err(&pdev->dev, "Can't register eDMA IRQ.\n"); in fsl_edma_irq_init()
293 fsl_edma_tx_handler, 0, "eDMA tx", fsl_edma); in fsl_edma_irq_init()
295 dev_err(&pdev->dev, "Can't register eDMA tx IRQ.\n"); in fsl_edma_irq_init()
300 fsl_edma_err_handler, 0, "eDMA err", fsl_edma); in fsl_edma_irq_init()
302 dev_err(&pdev->dev, "Can't register eDMA err IRQ.\n"); in fsl_edma_irq_init()
350 fsl_edma3_tx_0_15_handler, 0, "eDMA tx0_15", in fsl_edma3_or_irq_init()
354 "Can't register eDMA tx0_15 IRQ.\n"); in fsl_edma3_or_irq_init()
359 "eDMA tx16_31", fsl_edma); in fsl_edma3_or_irq_init()
362 "Can't register eDMA tx16_31 IRQ.\n"); in fsl_edma3_or_irq_init()
366 fsl_edma3_or_err_handler, 0, "eDMA err", in fsl_edma3_or_irq_init()
370 "Can't register eDMA err IRQ.\n"); in fsl_edma3_or_irq_init()
402 /* The last IRQ is for eDMA err */ in fsl_edma2_irq_init()
518 { .compatible = "fsl,vf610-edma", .data = &vf610_data},
519 { .compatible = "fsl,ls1028a-edma", .data = &ls1028a_data},
520 { .compatible = "fsl,imx7ulp-edma", .data = &imx7ulp_data},
521 { .compatible = "fsl,imx8qm-edma", .data = &imx8qm_data},
522 { .compatible = "fsl,imx8ulp-edma", .data = &imx8ulp_data},
526 { .compatible = "nxp,s32g2-edma", .data = &s32g2_data},
703 fsl_chan->edma = fsl_edma; in fsl_edma_probe()
728 if (fsl_chan->edma->drvdata->flags & FSL_EDMA_DRV_HAS_CHCLK) in fsl_edma_probe()
784 "Can't register Freescale eDMA engine. (%d)\n", ret); in fsl_edma_probe()
793 "Can't register Freescale eDMA of_dma. (%d)\n", ret); in fsl_edma_probe()
867 * eDMA provides the service to others, so it should be suspend late
868 * and resume early. When eDMA suspend, all of the clients should stop
878 .name = "fsl-edma",
898 MODULE_ALIAS("platform:fsl-edma");
899 MODULE_DESCRIPTION("Freescale eDMA engine driver");