From: liyeshan <yeshan.li@spacemit.com>
Add device tree binding header for SpacemiT k3 DMA request numbers. This
defines the DMA request mapping for non-secure peripherals including UART,
I2C, SSP/SPI, CAN, and QSPI.
Signed-off-by: liyeshan <yeshan.li@spacemit.com>
Signed-off-by: Guodong Xu <guodong@riscstar.com>
Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
---
include/dt-bindings/dma/k3-pdma.h | 83 +++++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)
diff --git a/include/dt-bindings/dma/k3-pdma.h b/include/dt-bindings/dma/k3-pdma.h
new file mode 100644
index 000000000000..05541a9a9973
--- /dev/null
+++ b/include/dt-bindings/dma/k3-pdma.h
@@ -0,0 +1,83 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * This header provides DMA request number for non-secure peripherals of
+ * SpacemiT K3 PDMA.
+ *
+ * Copyright (c) 2025 SpacemiT
+ * Copyright (c) 2025 Guodong Xu <guodong@riscstar.com>
+ */
+
+#ifndef __DT_BINDINGS_DMA_K3_PDMA_H__
+#define __DT_BINDINGS_DMA_K3_PDMA_H__
+
+/* UART DMA request numbers */
+#define K3_PDMA_UART0_TX 3
+#define K3_PDMA_UART0_RX 4
+#define K3_PDMA_UART2_TX 5
+#define K3_PDMA_UART2_RX 6
+#define K3_PDMA_UART3_TX 7
+#define K3_PDMA_UART3_RX 8
+#define K3_PDMA_UART4_TX 9
+#define K3_PDMA_UART4_RX 10
+#define K3_PDMA_UART5_TX 25
+#define K3_PDMA_UART5_RX 26
+#define K3_PDMA_UART6_TX 27
+#define K3_PDMA_UART6_RX 28
+#define K3_PDMA_UART7_TX 29
+#define K3_PDMA_UART7_RX 30
+#define K3_PDMA_UART8_TX 31
+#define K3_PDMA_UART8_RX 32
+#define K3_PDMA_UART9_TX 33
+#define K3_PDMA_UART9_RX 34
+#define K3_PDMA_UART10_TX 53
+#define K3_PDMA_UART10_RX 54
+
+/* I2C DMA request numbers */
+#define K3_PDMA_I2C0_TX 11
+#define K3_PDMA_I2C0_RX 12
+#define K3_PDMA_I2C1_TX 13
+#define K3_PDMA_I2C1_RX 14
+#define K3_PDMA_I2C2_TX 15
+#define K3_PDMA_I2C2_RX 16
+#define K3_PDMA_I2C4_TX 17
+#define K3_PDMA_I2C4_RX 18
+#define K3_PDMA_I2C5_TX 35
+#define K3_PDMA_I2C5_RX 36
+#define K3_PDMA_I2C6_TX 37
+#define K3_PDMA_I2C6_RX 38
+#define K3_PDMA_I2C8_TX 41
+#define K3_PDMA_I2C8_RX 42
+
+/* SSP/SPI DMA request numbers */
+#define K3_PDMA_SSP3_TX 19
+#define K3_PDMA_SSP3_RX 20
+#define K3_PDMA_SSPA0_TX 21
+#define K3_PDMA_SSPA0_RX 22
+#define K3_PDMA_SSPA1_TX 23
+#define K3_PDMA_SSPA1_RX 24
+#define K3_PDMA_SSPA2_TX 56
+#define K3_PDMA_SSPA2_RX 57
+#define K3_PDMA_SSPA3_TX 58
+#define K3_PDMA_SSPA3_RX 59
+#define K3_PDMA_SSPA4_TX 60
+#define K3_PDMA_SSPA4_RX 61
+#define K3_PDMA_SSPA5_TX 62
+#define K3_PDMA_SSPA5_RX 63
+
+/* CAN DMA request numbers */
+#define K3_PDMA_CAN0_RX 43
+#define K3_PDMA_CAN1_RX 44
+#define K3_PDMA_CAN2_RX 51
+#define K3_PDMA_CAN3_RX 52
+
+/* SSP0/1 DMA request numbers */
+#define K3_PDMA_SSP0_TX 64
+#define K3_PDMA_SSP0_RX 65
+#define K3_PDMA_SSP1_TX 66
+#define K3_PDMA_SSP1_RX 67
+
+/* QSPI DMA request numbers */
+#define K3_PDMA_QSPI_RX 84
+#define K3_PDMA_QSPI_TX 85
+
+#endif /* __DT_BINDINGS_DMA_K3_PDMA_H__ */
--
2.53.0
On Thu, Mar 26, 2026 at 04:17:18PM +0800, Troy Mitchell wrote: > From: liyeshan <yeshan.li@spacemit.com> > > Add device tree binding header for SpacemiT k3 DMA request numbers. This Why? > defines the DMA request mapping for non-secure peripherals including UART, > I2C, SSP/SPI, CAN, and QSPI. > > Signed-off-by: liyeshan <yeshan.li@spacemit.com> Name looks close to login name? > Signed-off-by: Guodong Xu <guodong@riscstar.com> > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > --- > include/dt-bindings/dma/k3-pdma.h | 83 +++++++++++++++++++++++++++++++++++++++ I am already confused what is happening in this patchset - so which device are you adding? K1 or K3? > 1 file changed, 83 insertions(+) > > diff --git a/include/dt-bindings/dma/k3-pdma.h b/include/dt-bindings/dma/k3-pdma.h > new file mode 100644 > index 000000000000..05541a9a9973 > --- /dev/null > +++ b/include/dt-bindings/dma/k3-pdma.h > @@ -0,0 +1,83 @@ > +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ > +/* > + * This header provides DMA request number for non-secure peripherals of > + * SpacemiT K3 PDMA. > + * > + * Copyright (c) 2025 SpacemiT > + * Copyright (c) 2025 Guodong Xu <guodong@riscstar.com> > + */ > + > +#ifndef __DT_BINDINGS_DMA_K3_PDMA_H__ > +#define __DT_BINDINGS_DMA_K3_PDMA_H__ > + > +/* UART DMA request numbers */ > +#define K3_PDMA_UART0_TX 3 This starts from 0 or 1. Best regards, Krzysztof
On Fri Mar 27, 2026 at 3:30 PM CST, Krzysztof Kozlowski wrote:
> On Thu, Mar 26, 2026 at 04:17:18PM +0800, Troy Mitchell wrote:
>> From: liyeshan <yeshan.li@spacemit.com>
>>
>> Add device tree binding header for SpacemiT k3 DMA request numbers. This
>
> Why?
The DMA request mappings are hardware-hardwired and differ between the K1 and K3 SoCs.
Therefore, separate header files are required to define these unique constants for each
platform to ensure correct DMA channel allocation in the device tree.
>
>> defines the DMA request mapping for non-secure peripherals including UART,
>> I2C, SSP/SPI, CAN, and QSPI.
>>
>> Signed-off-by: liyeshan <yeshan.li@spacemit.com>
>
> Name looks close to login name?
I will contact her and confirm.
>
>> Signed-off-by: Guodong Xu <guodong@riscstar.com>
>> Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
>> ---
>> include/dt-bindings/dma/k3-pdma.h | 83 +++++++++++++++++++++++++++++++++++++++
>
> I am already confused what is happening in this patchset - so which
> device are you adding? K1 or K3?
Aside from this K1-related patch, the rest of the series focuses on adding support for
the K3 SoC. I included the K1 header because I noticed it was missing in the upstream
tree while working on the K3 support.
It seems my attempt to 'clean up' K1 while adding K3 has caused unnecessary confusion.
Would you prefer me to remove the K1 patch from this series and submit it as a separate
patch?
- Troy
On 28/03/2026 10:58, Troy Mitchell wrote: > On Fri Mar 27, 2026 at 3:30 PM CST, Krzysztof Kozlowski wrote: >> On Thu, Mar 26, 2026 at 04:17:18PM +0800, Troy Mitchell wrote: >>> From: liyeshan <yeshan.li@spacemit.com> >>> >>> Add device tree binding header for SpacemiT k3 DMA request numbers. This >> >> Why? > The DMA request mappings are hardware-hardwired and differ between the K1 and K3 SoCs. > Therefore, separate header files are required to define these unique constants for each > platform to ensure correct DMA channel allocation in the device tree. Nothing explains why we want this as ABI. Header does not ensure correct DMA channel allocation. >> >>> defines the DMA request mapping for non-secure peripherals including UART, >>> I2C, SSP/SPI, CAN, and QSPI. >>> >>> Signed-off-by: liyeshan <yeshan.li@spacemit.com> >> >> Name looks close to login name? > I will contact her and confirm. >> >>> Signed-off-by: Guodong Xu <guodong@riscstar.com> >>> Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> >>> --- >>> include/dt-bindings/dma/k3-pdma.h | 83 +++++++++++++++++++++++++++++++++++++++ >> >> I am already confused what is happening in this patchset - so which >> device are you adding? K1 or K3? > Aside from this K1-related patch, the rest of the series focuses on adding support for > the K3 SoC. I included the K1 header because I noticed it was missing in the upstream > tree while working on the K3 support. So k3 is the new device? Then this is not a separate commit, but belongs to the bindings patch. > > It seems my attempt to 'clean up' K1 while adding K3 has caused unnecessary confusion. > Would you prefer me to remove the K1 patch from this series and submit it as a separate > patch? I expect explaining in commit msg why you are doing things. So far none of these are bindings, so drop both headers from bindings. Feel free to provide explanation what part of Linux SW you are binding here. Best regards, Krzysztof
© 2016 - 2026 Red Hat, Inc.