mbox series

[v2,0/6] Add eDMAv3 support for S32G2/S32G3 SoCs

Message ID 20241219092045.1161182-1-larisa.grigore@oss.nxp.com (mailing list archive)
Headers show
Series Add eDMAv3 support for S32G2/S32G3 SoCs | expand

Message

Larisa Ileana Grigore Dec. 19, 2024, 9:18 a.m. UTC
S32G2 and S32G3 SoCs share the eDMAv3 module with i.MX SoCs, with some hardware
integration particularities.

S32G2/S32G3 includes two system eDMA instances based on v3 version, each of
them integrated with 2 DMAMUX blocks.
Another particularity of these SoCs is that the interrupts are shared between
channels as follows:
- DMA Channels 0-15 share the 'tx-0-15' interrupt
- DMA Channels 16-31 share the 'tx-16-31' interrupt
- all channels share the 'err' interrupt

Larisa Grigore (6):
  dmaengine: fsl-edma: select of_dma_xlate based on the dmamuxs presence
  dmaengine: fsl-edma: remove FSL_EDMA_DRV_SPLIT_REG check when parsing
    muxbase
  dt-bindings: dma: fsl-edma: add nxp,s32g2-edma compatible string
  dmaengine: fsl-edma: add support for S32G based platforms
  dmaengine: fsl-edma: read/write multiple registers in cyclic
    transactions
  upstream: add eDMAv3 support for S32G2/S32G3 SoCs

 .../devicetree/bindings/dma/fsl,edma.yaml     |  34 +++
 drivers/dma/fsl-edma-common.c                 |  36 +++-
 drivers/dma/fsl-edma-common.h                 |   3 +
 drivers/dma/fsl-edma-main.c                   | 115 +++++++++-
 outgoing/description                          |  12 ++
 outgoing/v2-0000-cover-letter.patch           |  42 ++++
 ...-edma-select-of_dma_xlate-based-on-t.patch |  39 ++++
 ...-edma-remove-FSL_EDMA_DRV_SPLIT_REG-.patch |  35 +++
 ...-edma-move-eDMAv2-related-registers-.patch | 199 +++++++++++++++++
 ...-edma-add-eDMAv3-registers-to-edma_r.patch | 104 +++++++++
 ...ma-fsl-edma-add-nxp-s32g2-edma-compa.patch |  83 ++++++++
 ...-edma-add-support-for-S32G-based-pla.patch | 200 ++++++++++++++++++
 ...-edma-wait-until-no-hardware-request.patch |  68 ++++++
 ...-edma-read-write-multiple-registers-.patch |  90 ++++++++
 14 files changed, 1045 insertions(+), 15 deletions(-)
 create mode 100644 outgoing/description
 create mode 100644 outgoing/v2-0000-cover-letter.patch
 create mode 100644 outgoing/v2-0001-dmaengine-fsl-edma-select-of_dma_xlate-based-on-t.patch
 create mode 100644 outgoing/v2-0002-dmaengine-fsl-edma-remove-FSL_EDMA_DRV_SPLIT_REG-.patch
 create mode 100644 outgoing/v2-0003-dmaengine-fsl-edma-move-eDMAv2-related-registers-.patch
 create mode 100644 outgoing/v2-0004-dmaengine-fsl-edma-add-eDMAv3-registers-to-edma_r.patch
 create mode 100644 outgoing/v2-0005-dt-bindings-dma-fsl-edma-add-nxp-s32g2-edma-compa.patch
 create mode 100644 outgoing/v2-0006-dmaengine-fsl-edma-add-support-for-S32G-based-pla.patch
 create mode 100644 outgoing/v2-0007-dmaengine-fsl-edma-wait-until-no-hardware-request.patch
 create mode 100644 outgoing/v2-0008-dmaengine-fsl-edma-read-write-multiple-registers-.patch

Comments

Larisa Ileana Grigore Dec. 19, 2024, 1:08 p.m. UTC | #1
On 12/19/2024 11:18 AM, Larisa Grigore wrote:

Please disregard V2. V3 was sent with the changelog added for review.

Best regards,
Larisa

> S32G2 and S32G3 SoCs share the eDMAv3 module with i.MX SoCs, with some hardware
> integration particularities.
> 
> S32G2/S32G3 includes two system eDMA instances based on v3 version, each of
> them integrated with 2 DMAMUX blocks.
> Another particularity of these SoCs is that the interrupts are shared between
> channels as follows:
> - DMA Channels 0-15 share the 'tx-0-15' interrupt
> - DMA Channels 16-31 share the 'tx-16-31' interrupt
> - all channels share the 'err' interrupt
> 
> Larisa Grigore (6):
>    dmaengine: fsl-edma: select of_dma_xlate based on the dmamuxs presence
>    dmaengine: fsl-edma: remove FSL_EDMA_DRV_SPLIT_REG check when parsing
>      muxbase
>    dt-bindings: dma: fsl-edma: add nxp,s32g2-edma compatible string
>    dmaengine: fsl-edma: add support for S32G based platforms
>    dmaengine: fsl-edma: read/write multiple registers in cyclic
>      transactions
>    upstream: add eDMAv3 support for S32G2/S32G3 SoCs
> 
>   .../devicetree/bindings/dma/fsl,edma.yaml     |  34 +++
>   drivers/dma/fsl-edma-common.c                 |  36 +++-
>   drivers/dma/fsl-edma-common.h                 |   3 +
>   drivers/dma/fsl-edma-main.c                   | 115 +++++++++-
>   outgoing/description                          |  12 ++
>   outgoing/v2-0000-cover-letter.patch           |  42 ++++
>   ...-edma-select-of_dma_xlate-based-on-t.patch |  39 ++++
>   ...-edma-remove-FSL_EDMA_DRV_SPLIT_REG-.patch |  35 +++
>   ...-edma-move-eDMAv2-related-registers-.patch | 199 +++++++++++++++++
>   ...-edma-add-eDMAv3-registers-to-edma_r.patch | 104 +++++++++
>   ...ma-fsl-edma-add-nxp-s32g2-edma-compa.patch |  83 ++++++++
>   ...-edma-add-support-for-S32G-based-pla.patch | 200 ++++++++++++++++++
>   ...-edma-wait-until-no-hardware-request.patch |  68 ++++++
>   ...-edma-read-write-multiple-registers-.patch |  90 ++++++++
>   14 files changed, 1045 insertions(+), 15 deletions(-)
>   create mode 100644 outgoing/description
>   create mode 100644 outgoing/v2-0000-cover-letter.patch
>   create mode 100644 outgoing/v2-0001-dmaengine-fsl-edma-select-of_dma_xlate-based-on-t.patch
>   create mode 100644 outgoing/v2-0002-dmaengine-fsl-edma-remove-FSL_EDMA_DRV_SPLIT_REG-.patch
>   create mode 100644 outgoing/v2-0003-dmaengine-fsl-edma-move-eDMAv2-related-registers-.patch
>   create mode 100644 outgoing/v2-0004-dmaengine-fsl-edma-add-eDMAv3-registers-to-edma_r.patch
>   create mode 100644 outgoing/v2-0005-dt-bindings-dma-fsl-edma-add-nxp-s32g2-edma-compa.patch
>   create mode 100644 outgoing/v2-0006-dmaengine-fsl-edma-add-support-for-S32G-based-pla.patch
>   create mode 100644 outgoing/v2-0007-dmaengine-fsl-edma-wait-until-no-hardware-request.patch
>   create mode 100644 outgoing/v2-0008-dmaengine-fsl-edma-read-write-multiple-registers-.patch
>