riscv: dts: spacemit: Use symbolic PDMA request numbers on K1

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 [1], 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.

Convert the K1 SPI3 node to these macros.

Link: https://www.spacemit.com/community/document/info?lang=en&nodepath=hardware/key_stone/k1/k1_docs/k1_usermanual/9.Top_System.md [1]
Signed-off-by: Guodong Xu <docular.xu@gmail.com>
Reviewed-by: Yixun Lan <dlan@kernel.org>
Link: https://patch.msgid.link/20260620-b4-k1-pdma-req-macros-v4-1-3cf77d0bd0d6@gmail.com
Signed-off-by: Yixun Lan <dlan@kernel.org>
This commit is contained in:
Guodong Xu 2026-06-20 01:07:48 -04:00 committed by Yixun Lan
parent dc59e4fea9
commit d3cfc81d95
2 changed files with 59 additions and 1 deletions

View File

@ -0,0 +1,56 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
* DMA request number (DRQ) definitions for non-secure peripherals of
* the SpacemiT K1 PDMA.
*
* 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 */

View File

@ -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";
};