From: Yixun Lan <dlan@kernel.org>
To: Guodong Xu <docular.xu@gmail.com>
Cc: Vinod Koul <vkoul@kernel.org>, Frank Li <Frank.Li@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org,
devicetree@vger.kernel.org, linux-riscv@lists.infradead.org,
spacemit@lists.linux.dev
Subject: Re: [PATCH v3] riscv: dts: spacemit: Use symbolic PDMA request numbers on K1
Date: Mon, 15 Jun 2026 01:15:16 +0000 [thread overview]
Message-ID: <20260615011516-GKB1002079@kernel.org> (raw)
In-Reply-To: <20260611-b4-k1-pdma-req-macros-v3-1-ae8416052571@gmail.com>
Hi Guodong,
The patch itself looks good to me, only few minor comments
On 09:17 Thu 11 Jun , Guodong Xu wrote:
> Add a local DTS header, k1-pdma.h, that gives symbolic names to the K1
> PDMA request numbers. These request numbers are hardware-fixed; their
> allocation can be found in K1 manual.
>
..
> Replace the hard-coded numbers in the SPI3 "dmas" property with the
> K1_PDMA_SPI3_RX/TX macros.
>
As it's too obvious that people can tell from the diff, then I feel it's
unnecessary to repeat in commit message..
> Signed-off-by: Guodong Xu <docular.xu@gmail.com>
> ---
> Add a local DTS header naming the K1 PDMA request lines and convert the
> current user (the K1 SPI3 node) to the new K1_PDMA_* macros.
..
> The request
> numbers come from the SpacemiT K1 User Manual [1], Chapter 9.4.3 DMA
> Connectivity & Assignments.
>
I'd suggest to put above into commit message, as more detailed description.
Here is my attempt to slightly reconstruct the commit message:
The PDMA request numbers (DRQ) are fixed values specific to the SoC from a
hardware perspective. The detailed definition can be found in K1 User Manual,
Chapter 9.4.3 DMA Connectivity & Assignments. Add a DTS header file to define
the symbolic names for the DRQs of non-secure DMA peripherals.
> [1]: https://www.spacemit.com/community/document/info?lang=en&nodepath=hardware/key_stone/k1/k1_docs/k1_usermanual/9.Top_System.md
>
> Changes in v3:
> - Move the request-number macros from include/dt-bindings/dma/ to a local
> DTS header arch/riscv/boot/dts/spacemit/k1-pdma.h (Conor).
> - Squash the header and its user into a single patch.
> - Link to v2: https://patch.msgid.link/20260609-b4-k1-pdma-req-macros-v2-0-5d5d7b997b54@gmail.com
>
> Changes in v2:
> - Drop the #dma-cells description change in spacemit,k1-pdma.yaml; the request
> numbers are hardware-fixed and unused by the driver (Conor)
> - Link to v1: https://patch.msgid.link/20260607-b4-k1-pdma-req-macros-v1-0-5b2a3955007c@gmail.com
>
> BR,
> Guodong Xu
> ---
> arch/riscv/boot/dts/spacemit/k1-pdma.h | 56 ++++++++++++++++++++++++++++++++++
> arch/riscv/boot/dts/spacemit/k1.dtsi | 4 ++-
> 2 files changed, 59 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/boot/dts/spacemit/k1-pdma.h b/arch/riscv/boot/dts/spacemit/k1-pdma.h
> new file mode 100644
> index 0000000000000..65112d5847add
> --- /dev/null
> +++ b/arch/riscv/boot/dts/spacemit/k1-pdma.h
> @@ -0,0 +1,56 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/*
> + * This header provides DMA request number for non-secure peripherals of
> + * SpacemiT K1 PDMA.
slightly less redundant,
DMA request number (DRQ) defintion for non-secure peripherals
> + *
> + * Copyright (c) 2026 Guodong Xu <docular.xu@gmail.com>
> + */
> +
> +#ifndef _DTS_SPACEMIT_K1_PDMA_H
> +#define _DTS_SPACEMIT_K1_PDMA_H
> +
> +#define K1_PDMA_UART0_TX 3
> +#define K1_PDMA_UART0_RX 4
> +#define K1_PDMA_UART2_TX 5
> +#define K1_PDMA_UART2_RX 6
> +#define K1_PDMA_UART3_TX 7
> +#define K1_PDMA_UART3_RX 8
> +#define K1_PDMA_UART4_TX 9
> +#define K1_PDMA_UART4_RX 10
> +#define K1_PDMA_I2C0_TX 11
> +#define K1_PDMA_I2C0_RX 12
> +#define K1_PDMA_I2C1_TX 13
> +#define K1_PDMA_I2C1_RX 14
> +#define K1_PDMA_I2C2_TX 15
> +#define K1_PDMA_I2C2_RX 16
> +#define K1_PDMA_I2C4_TX 17
> +#define K1_PDMA_I2C4_RX 18
> +#define K1_PDMA_SPI3_TX 19
> +#define K1_PDMA_SPI3_RX 20
> +#define K1_PDMA_I2S0_TX 21
> +#define K1_PDMA_I2S0_RX 22
> +#define K1_PDMA_I2S1_TX 23
> +#define K1_PDMA_I2S1_RX 24
> +#define K1_PDMA_UART5_TX 25
> +#define K1_PDMA_UART5_RX 26
> +#define K1_PDMA_UART6_TX 27
> +#define K1_PDMA_UART6_RX 28
> +#define K1_PDMA_UART7_TX 29
> +#define K1_PDMA_UART7_RX 30
> +#define K1_PDMA_UART8_TX 31
> +#define K1_PDMA_UART8_RX 32
> +#define K1_PDMA_UART9_TX 33
> +#define K1_PDMA_UART9_RX 34
> +#define K1_PDMA_I2C5_TX 35
> +#define K1_PDMA_I2C5_RX 36
> +#define K1_PDMA_I2C6_TX 37
> +#define K1_PDMA_I2C6_RX 38
> +#define K1_PDMA_I2C7_TX 39
> +#define K1_PDMA_I2C7_RX 40
> +#define K1_PDMA_I2C8_TX 41
> +#define K1_PDMA_I2C8_RX 42
> +#define K1_PDMA_CAN0_RX 43
> +#define K1_PDMA_QSPI_RX 44
> +#define K1_PDMA_QSPI_TX 45
> +
> +#endif /* _DTS_SPACEMIT_K1_PDMA_H */
> diff --git a/arch/riscv/boot/dts/spacemit/k1.dtsi b/arch/riscv/boot/dts/spacemit/k1.dtsi
> index 08a0f28d011fe..7d414e15d2cc2 100644
> --- a/arch/riscv/boot/dts/spacemit/k1.dtsi
> +++ b/arch/riscv/boot/dts/spacemit/k1.dtsi
> @@ -6,6 +6,8 @@
> #include <dt-bindings/clock/spacemit,k1-syscon.h>
> #include <dt-bindings/phy/phy.h>
>
> +#include "k1-pdma.h"
> +
> /dts-v1/;
> / {
> #address-cells = <2>;
> @@ -1094,7 +1096,7 @@ spi3: spi@d401c000 {
> clock-names = "core", "bus";
> resets = <&syscon_apbc RESET_SSP3>;
> interrupts = <55>;
> - dmas = <&pdma 20>, <&pdma 19>;
> + dmas = <&pdma K1_PDMA_SPI3_RX>, <&pdma K1_PDMA_SPI3_TX>;
> dma-names = "rx", "tx";
> status = "disabled";
> };
>
> ---
> base-commit: 793cc54475b49b5b558902b5c13e4bfe66530a50
> change-id: 20260607-b4-k1-pdma-req-macros-8d276d0126df
>
> Best regards,
> --
> Guodong Xu <docular.xu@gmail.com>
>
--
Yixun Lan (dlan)
WARNING: multiple messages have this Message-ID (diff)
From: Yixun Lan <dlan@kernel.org>
To: Guodong Xu <docular.xu@gmail.com>
Cc: Vinod Koul <vkoul@kernel.org>, Frank Li <Frank.Li@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org,
devicetree@vger.kernel.org, linux-riscv@lists.infradead.org,
spacemit@lists.linux.dev
Subject: Re: [PATCH v3] riscv: dts: spacemit: Use symbolic PDMA request numbers on K1
Date: Mon, 15 Jun 2026 01:15:16 +0000 [thread overview]
Message-ID: <20260615011516-GKB1002079@kernel.org> (raw)
In-Reply-To: <20260611-b4-k1-pdma-req-macros-v3-1-ae8416052571@gmail.com>
Hi Guodong,
The patch itself looks good to me, only few minor comments
On 09:17 Thu 11 Jun , Guodong Xu wrote:
> Add a local DTS header, k1-pdma.h, that gives symbolic names to the K1
> PDMA request numbers. These request numbers are hardware-fixed; their
> allocation can be found in K1 manual.
>
..
> Replace the hard-coded numbers in the SPI3 "dmas" property with the
> K1_PDMA_SPI3_RX/TX macros.
>
As it's too obvious that people can tell from the diff, then I feel it's
unnecessary to repeat in commit message..
> Signed-off-by: Guodong Xu <docular.xu@gmail.com>
> ---
> Add a local DTS header naming the K1 PDMA request lines and convert the
> current user (the K1 SPI3 node) to the new K1_PDMA_* macros.
..
> The request
> numbers come from the SpacemiT K1 User Manual [1], Chapter 9.4.3 DMA
> Connectivity & Assignments.
>
I'd suggest to put above into commit message, as more detailed description.
Here is my attempt to slightly reconstruct the commit message:
The PDMA request numbers (DRQ) are fixed values specific to the SoC from a
hardware perspective. The detailed definition can be found in K1 User Manual,
Chapter 9.4.3 DMA Connectivity & Assignments. Add a DTS header file to define
the symbolic names for the DRQs of non-secure DMA peripherals.
> [1]: https://www.spacemit.com/community/document/info?lang=en&nodepath=hardware/key_stone/k1/k1_docs/k1_usermanual/9.Top_System.md
>
> Changes in v3:
> - Move the request-number macros from include/dt-bindings/dma/ to a local
> DTS header arch/riscv/boot/dts/spacemit/k1-pdma.h (Conor).
> - Squash the header and its user into a single patch.
> - Link to v2: https://patch.msgid.link/20260609-b4-k1-pdma-req-macros-v2-0-5d5d7b997b54@gmail.com
>
> Changes in v2:
> - Drop the #dma-cells description change in spacemit,k1-pdma.yaml; the request
> numbers are hardware-fixed and unused by the driver (Conor)
> - Link to v1: https://patch.msgid.link/20260607-b4-k1-pdma-req-macros-v1-0-5b2a3955007c@gmail.com
>
> BR,
> Guodong Xu
> ---
> arch/riscv/boot/dts/spacemit/k1-pdma.h | 56 ++++++++++++++++++++++++++++++++++
> arch/riscv/boot/dts/spacemit/k1.dtsi | 4 ++-
> 2 files changed, 59 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/boot/dts/spacemit/k1-pdma.h b/arch/riscv/boot/dts/spacemit/k1-pdma.h
> new file mode 100644
> index 0000000000000..65112d5847add
> --- /dev/null
> +++ b/arch/riscv/boot/dts/spacemit/k1-pdma.h
> @@ -0,0 +1,56 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/*
> + * This header provides DMA request number for non-secure peripherals of
> + * SpacemiT K1 PDMA.
slightly less redundant,
DMA request number (DRQ) defintion for non-secure peripherals
> + *
> + * Copyright (c) 2026 Guodong Xu <docular.xu@gmail.com>
> + */
> +
> +#ifndef _DTS_SPACEMIT_K1_PDMA_H
> +#define _DTS_SPACEMIT_K1_PDMA_H
> +
> +#define K1_PDMA_UART0_TX 3
> +#define K1_PDMA_UART0_RX 4
> +#define K1_PDMA_UART2_TX 5
> +#define K1_PDMA_UART2_RX 6
> +#define K1_PDMA_UART3_TX 7
> +#define K1_PDMA_UART3_RX 8
> +#define K1_PDMA_UART4_TX 9
> +#define K1_PDMA_UART4_RX 10
> +#define K1_PDMA_I2C0_TX 11
> +#define K1_PDMA_I2C0_RX 12
> +#define K1_PDMA_I2C1_TX 13
> +#define K1_PDMA_I2C1_RX 14
> +#define K1_PDMA_I2C2_TX 15
> +#define K1_PDMA_I2C2_RX 16
> +#define K1_PDMA_I2C4_TX 17
> +#define K1_PDMA_I2C4_RX 18
> +#define K1_PDMA_SPI3_TX 19
> +#define K1_PDMA_SPI3_RX 20
> +#define K1_PDMA_I2S0_TX 21
> +#define K1_PDMA_I2S0_RX 22
> +#define K1_PDMA_I2S1_TX 23
> +#define K1_PDMA_I2S1_RX 24
> +#define K1_PDMA_UART5_TX 25
> +#define K1_PDMA_UART5_RX 26
> +#define K1_PDMA_UART6_TX 27
> +#define K1_PDMA_UART6_RX 28
> +#define K1_PDMA_UART7_TX 29
> +#define K1_PDMA_UART7_RX 30
> +#define K1_PDMA_UART8_TX 31
> +#define K1_PDMA_UART8_RX 32
> +#define K1_PDMA_UART9_TX 33
> +#define K1_PDMA_UART9_RX 34
> +#define K1_PDMA_I2C5_TX 35
> +#define K1_PDMA_I2C5_RX 36
> +#define K1_PDMA_I2C6_TX 37
> +#define K1_PDMA_I2C6_RX 38
> +#define K1_PDMA_I2C7_TX 39
> +#define K1_PDMA_I2C7_RX 40
> +#define K1_PDMA_I2C8_TX 41
> +#define K1_PDMA_I2C8_RX 42
> +#define K1_PDMA_CAN0_RX 43
> +#define K1_PDMA_QSPI_RX 44
> +#define K1_PDMA_QSPI_TX 45
> +
> +#endif /* _DTS_SPACEMIT_K1_PDMA_H */
> diff --git a/arch/riscv/boot/dts/spacemit/k1.dtsi b/arch/riscv/boot/dts/spacemit/k1.dtsi
> index 08a0f28d011fe..7d414e15d2cc2 100644
> --- a/arch/riscv/boot/dts/spacemit/k1.dtsi
> +++ b/arch/riscv/boot/dts/spacemit/k1.dtsi
> @@ -6,6 +6,8 @@
> #include <dt-bindings/clock/spacemit,k1-syscon.h>
> #include <dt-bindings/phy/phy.h>
>
> +#include "k1-pdma.h"
> +
> /dts-v1/;
> / {
> #address-cells = <2>;
> @@ -1094,7 +1096,7 @@ spi3: spi@d401c000 {
> clock-names = "core", "bus";
> resets = <&syscon_apbc RESET_SSP3>;
> interrupts = <55>;
> - dmas = <&pdma 20>, <&pdma 19>;
> + dmas = <&pdma K1_PDMA_SPI3_RX>, <&pdma K1_PDMA_SPI3_TX>;
> dma-names = "rx", "tx";
> status = "disabled";
> };
>
> ---
> base-commit: 793cc54475b49b5b558902b5c13e4bfe66530a50
> change-id: 20260607-b4-k1-pdma-req-macros-8d276d0126df
>
> Best regards,
> --
> Guodong Xu <docular.xu@gmail.com>
>
--
Yixun Lan (dlan)
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-06-15 1:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-11 13:17 [PATCH v3] riscv: dts: spacemit: Use symbolic PDMA request numbers on K1 Guodong Xu
2026-06-11 13:17 ` Guodong Xu
2026-06-15 1:15 ` Yixun Lan [this message]
2026-06-15 1:15 ` Yixun Lan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260615011516-GKB1002079@kernel.org \
--to=dlan@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=docular.xu@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=robh@kernel.org \
--cc=spacemit@lists.linux.dev \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.