2019-10-23 04:01:50

by Zhou Yanjie

[permalink] [raw]
Subject: DMA: JZ4780: Add DMA driver for X1000.

1.Add the DMA bindings for the X1000 SoC from Ingenic.
2.Add support for probing the dma-jz4780 driver on the
X1000 SoC from Ingenic.



2019-10-23 04:02:03

by Zhou Yanjie

[permalink] [raw]
Subject: [PATCH 1/2] dt-bindings: DMA: Add X1000 bindings.

Add the DMA bindings for the X1000 Soc from Ingenic.

Signed-off-by: Zhou Yanjie <[email protected]>
---
.../devicetree/bindings/dma/jz4780-dma.txt | 3 +-
include/dt-bindings/dma/x1000-dma.h | 40 ++++++++++++++++++++++
2 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 include/dt-bindings/dma/x1000-dma.h

diff --git a/Documentation/devicetree/bindings/dma/jz4780-dma.txt b/Documentation/devicetree/bindings/dma/jz4780-dma.txt
index 636fcb2..ec89782 100644
--- a/Documentation/devicetree/bindings/dma/jz4780-dma.txt
+++ b/Documentation/devicetree/bindings/dma/jz4780-dma.txt
@@ -7,10 +7,11 @@ Required properties:
* ingenic,jz4725b-dma
* ingenic,jz4770-dma
* ingenic,jz4780-dma
+ * ingenic,x1000-dma
- reg: Should contain the DMA channel registers location and length, followed
by the DMA controller registers location and length.
- interrupts: Should contain the interrupt specifier of the DMA controller.
-- clocks: Should contain a clock specifier for the JZ4780 PDMA clock.
+- clocks: Should contain a clock specifier for the JZ4780/X1000 PDMA clock.
- #dma-cells: Must be <2>. Number of integer cells in the dmas property of
DMA clients (see below).

diff --git a/include/dt-bindings/dma/x1000-dma.h b/include/dt-bindings/dma/x1000-dma.h
new file mode 100644
index 00000000..401e165
--- /dev/null
+++ b/include/dt-bindings/dma/x1000-dma.h
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * This header provides macros for X1000 DMA bindings.
+ *
+ * Copyright (c) 2019 Zhou Yanjie <[email protected]>
+ */
+
+#ifndef __DT_BINDINGS_DMA_X1000_DMA_H__
+#define __DT_BINDINGS_DMA_X1000_DMA_H__
+
+/*
+ * Request type numbers for the X1000 DMA controller (written to the DRTn
+ * register for the channel).
+ */
+#define X1000_DMA_DMIC_RX 0x5
+#define X1000_DMA_I2S0_TX 0x6
+#define X1000_DMA_I2S0_RX 0x7
+#define X1000_DMA_AUTO 0x8
+#define X1000_DMA_UART2_TX 0x10
+#define X1000_DMA_UART2_RX 0x11
+#define X1000_DMA_UART1_TX 0x12
+#define X1000_DMA_UART1_RX 0x13
+#define X1000_DMA_UART0_TX 0x14
+#define X1000_DMA_UART0_RX 0x15
+#define X1000_DMA_SSI0_TX 0x16
+#define X1000_DMA_SSI0_RX 0x17
+#define X1000_DMA_MSC0_TX 0x1a
+#define X1000_DMA_MSC0_RX 0x1b
+#define X1000_DMA_MSC1_TX 0x1c
+#define X1000_DMA_MSC1_RX 0x1d
+#define X1000_DMA_PCM0_TX 0x20
+#define X1000_DMA_PCM0_RX 0x21
+#define X1000_DMA_SMB0_TX 0x24
+#define X1000_DMA_SMB0_RX 0x25
+#define X1000_DMA_SMB1_TX 0x26
+#define X1000_DMA_SMB1_RX 0x27
+#define X1000_DMA_SMB2_TX 0x28
+#define X1000_DMA_SMB2_RX 0x29
+
+#endif /* __DT_BINDINGS_DMA_X1000_DMA_H__ */
--
2.7.4


2019-10-23 04:02:40

by Zhou Yanjie

[permalink] [raw]
Subject: [PATCH 2/2] DMA: JZ4780: Add support for the X1000.

Add support for probing the dma-jz4780 driver on the X1000 Soc.

Signed-off-by: Zhou Yanjie <[email protected]>
---
drivers/dma/dma-jz4780.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c
index 7fe9309..c7f1199 100644
--- a/drivers/dma/dma-jz4780.c
+++ b/drivers/dma/dma-jz4780.c
@@ -1012,11 +1012,18 @@ static const struct jz4780_dma_soc_data jz4780_dma_soc_data = {
.flags = JZ_SOC_DATA_ALLOW_LEGACY_DT | JZ_SOC_DATA_PROGRAMMABLE_DMA,
};

+static const struct jz4780_dma_soc_data x1000_dma_soc_data = {
+ .nb_channels = 8,
+ .transfer_ord_max = 7,
+ .flags = JZ_SOC_DATA_ALLOW_LEGACY_DT | JZ_SOC_DATA_PROGRAMMABLE_DMA,
+};
+
static const struct of_device_id jz4780_dma_dt_match[] = {
{ .compatible = "ingenic,jz4740-dma", .data = &jz4740_dma_soc_data },
{ .compatible = "ingenic,jz4725b-dma", .data = &jz4725b_dma_soc_data },
{ .compatible = "ingenic,jz4770-dma", .data = &jz4770_dma_soc_data },
{ .compatible = "ingenic,jz4780-dma", .data = &jz4780_dma_soc_data },
+ { .compatible = "ingenic,x1000-dma", .data = &x1000_dma_soc_data },
{},
};
MODULE_DEVICE_TABLE(of, jz4780_dma_dt_match);
--
2.7.4


2019-10-23 05:44:56

by Vinod Koul

[permalink] [raw]
Subject: Re: DMA: JZ4780: Add DMA driver for X1000.

On 23-10-19, 11:05, Zhou Yanjie wrote:
> 1.Add the DMA bindings for the X1000 SoC from Ingenic.
> 2.Add support for probing the dma-jz4780 driver on the
> X1000 SoC from Ingenic.

The subsystem in dmaengine and not dma

Please resend with correct tags!

Thanks
--
~Vinod

2019-10-23 12:30:23

by Zhou Yanjie

[permalink] [raw]
Subject: dmaengine: JZ4780: Add dmaengine driver for X1000.

1.Add the dmaengine bindings for the X1000 SoC from Ingenic.
2.Add support for probing the dma-jz4780 driver on the
X1000 SoC from Ingenic.


2019-10-23 12:30:51

by Zhou Yanjie

[permalink] [raw]
Subject: Re: DMA: JZ4780: Add DMA driver for X1000.

Hi Vinod,

On 2019年10月23日 13:15, Vinod Koul wrote:
> On 23-10-19, 11:05, Zhou Yanjie wrote:
>> 1.Add the DMA bindings for the X1000 SoC from Ingenic.
>> 2.Add support for probing the dma-jz4780 driver on the
>> X1000 SoC from Ingenic.
> The subsystem in dmaengine and not dma
>
> Please resend with correct tags!
>
> Thanks

I already resend this patches.

Best regards!



2019-10-25 18:44:55

by Zhou Yanjie

[permalink] [raw]
Subject: dmaengine: JZ4780: Add support for the X1000 v2

v1->v2:remove flag JZ_SOC_DATA_ALLOW_LEGACY_DT.


2019-10-25 18:45:56

by Zhou Yanjie

[permalink] [raw]
Subject: [PATCH 2/2 v2] dmaengine: JZ4780: Add support for the X1000.

Add support for probing the dma-jz4780 driver on the X1000 Soc.

Signed-off-by: Zhou Yanjie <[email protected]>
Reviewed-by: Paul Cercueil <[email protected]>
---
drivers/dma/dma-jz4780.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c
index cafb1cc0..5e3af48 100644
--- a/drivers/dma/dma-jz4780.c
+++ b/drivers/dma/dma-jz4780.c
@@ -1019,11 +1019,18 @@ static const struct jz4780_dma_soc_data jz4780_dma_soc_data = {
.flags = JZ_SOC_DATA_ALLOW_LEGACY_DT | JZ_SOC_DATA_PROGRAMMABLE_DMA,
};

+static const struct jz4780_dma_soc_data x1000_dma_soc_data = {
+ .nb_channels = 8,
+ .transfer_ord_max = 7,
+ .flags = JZ_SOC_DATA_PROGRAMMABLE_DMA,
+};
+
static const struct of_device_id jz4780_dma_dt_match[] = {
{ .compatible = "ingenic,jz4740-dma", .data = &jz4740_dma_soc_data },
{ .compatible = "ingenic,jz4725b-dma", .data = &jz4725b_dma_soc_data },
{ .compatible = "ingenic,jz4770-dma", .data = &jz4770_dma_soc_data },
{ .compatible = "ingenic,jz4780-dma", .data = &jz4780_dma_soc_data },
+ { .compatible = "ingenic,x1000-dma", .data = &x1000_dma_soc_data },
{},
};
MODULE_DEVICE_TABLE(of, jz4780_dma_dt_match);
--
2.7.4


2019-10-25 18:45:56

by Zhou Yanjie

[permalink] [raw]
Subject: [PATCH 1/2 v2] dt-bindings: dmaengine: Add X1000 bindings.

Add the dmaengine bindings for the X1000 Soc from Ingenic.

Signed-off-by: Zhou Yanjie <[email protected]>
---
.../devicetree/bindings/dma/jz4780-dma.txt | 3 +-
include/dt-bindings/dma/x1000-dma.h | 40 ++++++++++++++++++++++
2 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 include/dt-bindings/dma/x1000-dma.h

diff --git a/Documentation/devicetree/bindings/dma/jz4780-dma.txt b/Documentation/devicetree/bindings/dma/jz4780-dma.txt
index 636fcb2..ec89782 100644
--- a/Documentation/devicetree/bindings/dma/jz4780-dma.txt
+++ b/Documentation/devicetree/bindings/dma/jz4780-dma.txt
@@ -7,10 +7,11 @@ Required properties:
* ingenic,jz4725b-dma
* ingenic,jz4770-dma
* ingenic,jz4780-dma
+ * ingenic,x1000-dma
- reg: Should contain the DMA channel registers location and length, followed
by the DMA controller registers location and length.
- interrupts: Should contain the interrupt specifier of the DMA controller.
-- clocks: Should contain a clock specifier for the JZ4780 PDMA clock.
+- clocks: Should contain a clock specifier for the JZ4780/X1000 PDMA clock.
- #dma-cells: Must be <2>. Number of integer cells in the dmas property of
DMA clients (see below).

diff --git a/include/dt-bindings/dma/x1000-dma.h b/include/dt-bindings/dma/x1000-dma.h
new file mode 100644
index 00000000..401e165
--- /dev/null
+++ b/include/dt-bindings/dma/x1000-dma.h
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * This header provides macros for X1000 DMA bindings.
+ *
+ * Copyright (c) 2019 Zhou Yanjie <[email protected]>
+ */
+
+#ifndef __DT_BINDINGS_DMA_X1000_DMA_H__
+#define __DT_BINDINGS_DMA_X1000_DMA_H__
+
+/*
+ * Request type numbers for the X1000 DMA controller (written to the DRTn
+ * register for the channel).
+ */
+#define X1000_DMA_DMIC_RX 0x5
+#define X1000_DMA_I2S0_TX 0x6
+#define X1000_DMA_I2S0_RX 0x7
+#define X1000_DMA_AUTO 0x8
+#define X1000_DMA_UART2_TX 0x10
+#define X1000_DMA_UART2_RX 0x11
+#define X1000_DMA_UART1_TX 0x12
+#define X1000_DMA_UART1_RX 0x13
+#define X1000_DMA_UART0_TX 0x14
+#define X1000_DMA_UART0_RX 0x15
+#define X1000_DMA_SSI0_TX 0x16
+#define X1000_DMA_SSI0_RX 0x17
+#define X1000_DMA_MSC0_TX 0x1a
+#define X1000_DMA_MSC0_RX 0x1b
+#define X1000_DMA_MSC1_TX 0x1c
+#define X1000_DMA_MSC1_RX 0x1d
+#define X1000_DMA_PCM0_TX 0x20
+#define X1000_DMA_PCM0_RX 0x21
+#define X1000_DMA_SMB0_TX 0x24
+#define X1000_DMA_SMB0_RX 0x25
+#define X1000_DMA_SMB1_TX 0x26
+#define X1000_DMA_SMB1_RX 0x27
+#define X1000_DMA_SMB2_TX 0x28
+#define X1000_DMA_SMB2_RX 0x29
+
+#endif /* __DT_BINDINGS_DMA_X1000_DMA_H__ */
--
2.7.4


2019-10-29 21:39:38

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 1/2 v2] dt-bindings: dmaengine: Add X1000 bindings.

On Fri, 25 Oct 2019 01:21:09 +0800, Zhou Yanjie wrote:
> Add the dmaengine bindings for the X1000 Soc from Ingenic.
>
> Signed-off-by: Zhou Yanjie <[email protected]>
> ---
> .../devicetree/bindings/dma/jz4780-dma.txt | 3 +-
> include/dt-bindings/dma/x1000-dma.h | 40 ++++++++++++++++++++++
> 2 files changed, 42 insertions(+), 1 deletion(-)
> create mode 100644 include/dt-bindings/dma/x1000-dma.h
>

Reviewed-by: Rob Herring <[email protected]>

2019-11-06 17:14:27

by Vinod Koul

[permalink] [raw]
Subject: Re: dmaengine: JZ4780: Add support for the X1000 v2

On 25-10-19, 01:21, Zhou Yanjie wrote:
> v1->v2:remove flag JZ_SOC_DATA_ALLOW_LEGACY_DT.
>

Hmm this cover letter is devoid of any details for the series. One would
expect a description of the series attempting to address.

Neverthless I have applied, but in future please take care to write a
*decent* cover letter and also document changes as you done in the only
line.

Also auto generate the letter using --cover-letter option, it shows up
nice diff stat which helps while applying

Thanks

--
~Vinod

2019-11-08 18:52:47

by Zhou Yanjie

[permalink] [raw]
Subject: Re: dmaengine: JZ4780: Add support for the X1000 v2

Hi Vinod,

On 2019年11月07日 01:11, Vinod Koul wrote:
> On 25-10-19, 01:21, Zhou Yanjie wrote:
>> v1->v2:remove flag JZ_SOC_DATA_ALLOW_LEGACY_DT.
>>
> Hmm this cover letter is devoid of any details for the series. One would
> expect a description of the series attempting to address.
>
> Neverthless I have applied, but in future please take care to write a
> *decent* cover letter and also document changes as you done in the only
> line.
>
> Also auto generate the letter using --cover-letter option, it shows up
> nice diff stat which helps while applying
>
> Thanks
>

Thanks, I will pay more attention in the future.

Best regards!