dts: nxp,mcux-edma: Convert compats to prop
Convert the numerous revision compatibles to a DT property for the revision called nxp,version (inspired from a linux DT property from st called st,version on their DMA). Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
This commit is contained in:
parent
8e46d26106
commit
b070da7c33
14 changed files with 39 additions and 44 deletions
|
|
@ -3,10 +3,13 @@
|
||||||
# Copyright (c) 2020, NXP
|
# Copyright (c) 2020, NXP
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
EDMA_COMPAT := $(DT_COMPAT_NXP_MCUX_EDMA)
|
||||||
|
REV_PROP := nxp,version
|
||||||
|
|
||||||
config DMA_MCUX_EDMA
|
config DMA_MCUX_EDMA
|
||||||
bool "MCUX DMA driver"
|
bool "MCUX DMA driver"
|
||||||
default y
|
default y
|
||||||
depends on DT_HAS_NXP_MCUX_EDMA_ENABLED
|
depends on $(dt_compat_any_has_prop,$(EDMA_COMPAT),$(REV_PROP),2)
|
||||||
imply NOCACHE_MEMORY if HAS_MCUX_CACHE
|
imply NOCACHE_MEMORY if HAS_MCUX_CACHE
|
||||||
help
|
help
|
||||||
DMA driver for MCUX series SoCs.
|
DMA driver for MCUX series SoCs.
|
||||||
|
|
@ -14,14 +17,14 @@ config DMA_MCUX_EDMA
|
||||||
config DMA_MCUX_EDMA_V3
|
config DMA_MCUX_EDMA_V3
|
||||||
bool "MCUX DMA v3 driver"
|
bool "MCUX DMA v3 driver"
|
||||||
default y
|
default y
|
||||||
depends on DT_HAS_NXP_MCUX_EDMA_V3_ENABLED
|
depends on $(dt_compat_any_has_prop,$(EDMA_COMPAT),$(REV_PROP),3)
|
||||||
help
|
help
|
||||||
DMA version 3 driver for MCUX series SoCs.
|
DMA version 3 driver for MCUX series SoCs.
|
||||||
|
|
||||||
config DMA_MCUX_EDMA_V4
|
config DMA_MCUX_EDMA_V4
|
||||||
bool "MCUX DMA v4 driver"
|
bool "MCUX DMA v4 driver"
|
||||||
default y
|
default y
|
||||||
depends on DT_HAS_NXP_MCUX_EDMA_V4_ENABLED
|
depends on $(dt_compat_any_has_prop,$(EDMA_COMPAT),$(REV_PROP),4)
|
||||||
help
|
help
|
||||||
DMA version 4 driver for MCUX series SoCs.
|
DMA version 4 driver for MCUX series SoCs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@
|
||||||
* @brief Common part of DMA drivers for imx rt series.
|
* @brief Common part of DMA drivers for imx rt series.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define DT_DRV_COMPAT nxp_mcux_edma
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <soc.h>
|
#include <soc.h>
|
||||||
#include <zephyr/init.h>
|
#include <zephyr/init.h>
|
||||||
|
|
@ -23,14 +25,6 @@
|
||||||
#include <zephyr/logging/log.h>
|
#include <zephyr/logging/log.h>
|
||||||
#include <zephyr/irq.h>
|
#include <zephyr/irq.h>
|
||||||
|
|
||||||
#ifdef CONFIG_DMA_MCUX_EDMA
|
|
||||||
#define DT_DRV_COMPAT nxp_mcux_edma
|
|
||||||
#elif CONFIG_DMA_MCUX_EDMA_V3
|
|
||||||
#define DT_DRV_COMPAT nxp_mcux_edma_v3
|
|
||||||
#elif CONFIG_DMA_MCUX_EDMA_V4
|
|
||||||
#define DT_DRV_COMPAT nxp_mcux_edma_v4
|
|
||||||
#endif
|
|
||||||
|
|
||||||
LOG_MODULE_REGISTER(dma_mcux_edma, CONFIG_DMA_LOG_LEVEL);
|
LOG_MODULE_REGISTER(dma_mcux_edma, CONFIG_DMA_LOG_LEVEL);
|
||||||
|
|
||||||
#define HAS_CHANNEL_GAP(n) DT_INST_NODE_HAS_PROP(n, channel_gap) ||
|
#define HAS_CHANNEL_GAP(n) DT_INST_NODE_HAS_PROP(n, channel_gap) ||
|
||||||
|
|
|
||||||
|
|
@ -522,6 +522,7 @@
|
||||||
edma0: dma-controller@40008000 {
|
edma0: dma-controller@40008000 {
|
||||||
#dma-cells = <2>;
|
#dma-cells = <2>;
|
||||||
compatible = "nxp,mcux-edma";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <2>;
|
||||||
dma-channels = <16>;
|
dma-channels = <16>;
|
||||||
dma-requests = <64>;
|
dma-requests = <64>;
|
||||||
nxp,mem2mem;
|
nxp,mem2mem;
|
||||||
|
|
|
||||||
|
|
@ -427,6 +427,7 @@
|
||||||
edma0: dma-controller@40008000 {
|
edma0: dma-controller@40008000 {
|
||||||
#dma-cells = <2>;
|
#dma-cells = <2>;
|
||||||
compatible = "nxp,mcux-edma";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <2>;
|
||||||
dma-channels = <16>;
|
dma-channels = <16>;
|
||||||
dma-requests = <64>;
|
dma-requests = <64>;
|
||||||
nxp,mem2mem;
|
nxp,mem2mem;
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,7 @@
|
||||||
soc {
|
soc {
|
||||||
edma: dma-controller@40008000 {
|
edma: dma-controller@40008000 {
|
||||||
compatible = "nxp,mcux-edma";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <2>;
|
||||||
dma-channels = <16>;
|
dma-channels = <16>;
|
||||||
dma-requests = <64>;
|
dma-requests = <64>;
|
||||||
nxp,mem2mem;
|
nxp,mem2mem;
|
||||||
|
|
|
||||||
|
|
@ -443,6 +443,7 @@
|
||||||
|
|
||||||
edma: dma-controller@40008000 {
|
edma: dma-controller@40008000 {
|
||||||
compatible = "nxp,mcux-edma";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <2>;
|
||||||
dma-channels = <8>;
|
dma-channels = <8>;
|
||||||
dma-requests = <64>;
|
dma-requests = <64>;
|
||||||
nxp,mem2mem;
|
nxp,mem2mem;
|
||||||
|
|
|
||||||
|
|
@ -461,7 +461,8 @@
|
||||||
|
|
||||||
edma0: dma-controller@80000 {
|
edma0: dma-controller@80000 {
|
||||||
#dma-cells = <2>;
|
#dma-cells = <2>;
|
||||||
compatible = "nxp,mcux-edma-v4";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <4>;
|
||||||
dma-channels = <16>;
|
dma-channels = <16>;
|
||||||
dma-requests = <120>;
|
dma-requests = <120>;
|
||||||
|
|
||||||
|
|
@ -476,7 +477,8 @@
|
||||||
|
|
||||||
edma1: dma-controller@a0000 {
|
edma1: dma-controller@a0000 {
|
||||||
#dma-cells = <2>;
|
#dma-cells = <2>;
|
||||||
compatible = "nxp,mcux-edma-v4";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <4>;
|
||||||
dma-channels = <16>;
|
dma-channels = <16>;
|
||||||
dma-requests = <120>;
|
dma-requests = <120>;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -536,7 +536,8 @@
|
||||||
|
|
||||||
edma0: dma-controller@80000 {
|
edma0: dma-controller@80000 {
|
||||||
#dma-cells = <2>;
|
#dma-cells = <2>;
|
||||||
compatible = "nxp,mcux-edma-v4";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <4>;
|
||||||
dma-channels = <16>;
|
dma-channels = <16>;
|
||||||
dma-requests = <120>;
|
dma-requests = <120>;
|
||||||
|
|
||||||
|
|
@ -551,7 +552,8 @@
|
||||||
|
|
||||||
edma1: dma-controller@a0000 {
|
edma1: dma-controller@a0000 {
|
||||||
#dma-cells = <2>;
|
#dma-cells = <2>;
|
||||||
compatible = "nxp,mcux-edma-v4";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <4>;
|
||||||
dma-channels = <16>;
|
dma-channels = <16>;
|
||||||
dma-requests = <120>;
|
dma-requests = <120>;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -881,6 +881,7 @@
|
||||||
edma0: dma-controller@400e8000 {
|
edma0: dma-controller@400e8000 {
|
||||||
#dma-cells = <2>;
|
#dma-cells = <2>;
|
||||||
compatible = "nxp,mcux-edma";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <2>;
|
||||||
dma-channels = <32>;
|
dma-channels = <32>;
|
||||||
dma-requests = <128>;
|
dma-requests = <128>;
|
||||||
nxp,mem2mem;
|
nxp,mem2mem;
|
||||||
|
|
|
||||||
|
|
@ -1044,6 +1044,7 @@
|
||||||
edma0: dma-controller@40070000 {
|
edma0: dma-controller@40070000 {
|
||||||
#dma-cells = <2>;
|
#dma-cells = <2>;
|
||||||
compatible = "nxp,mcux-edma";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <2>;
|
||||||
dma-channels = <32>;
|
dma-channels = <32>;
|
||||||
dma-requests = <208>;
|
dma-requests = <208>;
|
||||||
nxp,mem2mem;
|
nxp,mem2mem;
|
||||||
|
|
@ -1063,6 +1064,7 @@
|
||||||
edma_lpsr0: dma-controller@40c14000 {
|
edma_lpsr0: dma-controller@40c14000 {
|
||||||
#dma-cells = <2>;
|
#dma-cells = <2>;
|
||||||
compatible = "nxp,mcux-edma";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <2>;
|
||||||
dma-channels = <32>;
|
dma-channels = <32>;
|
||||||
dma-requests = <208>;
|
dma-requests = <208>;
|
||||||
nxp,mem2mem;
|
nxp,mem2mem;
|
||||||
|
|
|
||||||
|
|
@ -641,7 +641,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
edma0: dma-controller@4020c000 {
|
edma0: dma-controller@4020c000 {
|
||||||
compatible = "nxp,mcux-edma-v3";
|
compatible = "nxp,mcux-edma";
|
||||||
|
nxp,version = <3>;
|
||||||
reg = <0x4020c000 0x3000>, <0x40280000 0x4000>, <0x40284000 0x4000>;
|
reg = <0x4020c000 0x3000>, <0x40280000 0x4000>, <0x40284000 0x4000>;
|
||||||
dma-channels = <32>;
|
dma-channels = <32>;
|
||||||
dma-requests = <64>;
|
dma-requests = <64>;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
# Copyright 2023 NXP
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
description: NXP MCUX EDMA version 3 controller
|
|
||||||
|
|
||||||
compatible: "nxp,mcux-edma-v3"
|
|
||||||
|
|
||||||
include: nxp,mcux-edma.yaml
|
|
||||||
|
|
||||||
properties:
|
|
||||||
no-error-irq:
|
|
||||||
type: boolean
|
|
||||||
description: |
|
|
||||||
If the SoCs don't have a separate interrupt id for error IRQ.
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
# Copyright 2024 NXP
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
description: NXP MCUX EDMA version 4 controller
|
|
||||||
|
|
||||||
compatible: "nxp,mcux-edma-v4"
|
|
||||||
|
|
||||||
include: nxp,mcux-edma.yaml
|
|
||||||
|
|
||||||
properties:
|
|
||||||
no-error-irq:
|
|
||||||
type: boolean
|
|
||||||
description: |
|
|
||||||
If the SoCs don't have a separate interrupt id for error IRQ.
|
|
||||||
|
|
@ -51,6 +51,20 @@ properties:
|
||||||
Describes an offset between two channels share the same interrupt entry.
|
Describes an offset between two channels share the same interrupt entry.
|
||||||
Default value means each channel has separate interrupt entry.
|
Default value means each channel has separate interrupt entry.
|
||||||
|
|
||||||
|
no-error-irq:
|
||||||
|
type: boolean
|
||||||
|
description: |
|
||||||
|
If the SoCs don't have a separate interrupt id for error IRQ.
|
||||||
|
|
||||||
|
nxp,version:
|
||||||
|
type: int
|
||||||
|
enum:
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
- 4
|
||||||
|
description: |
|
||||||
|
eDMA IP revision number.
|
||||||
|
|
||||||
"#dma-cells":
|
"#dma-cells":
|
||||||
type: int
|
type: int
|
||||||
required: true
|
required: true
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue