]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64: dts: qcom: sc8280xp: Describe GPI DMA controller nodes
authorPengyu Luo <mitltlatltl@gmail.com>
Thu, 12 Jun 2025 07:57:23 +0000 (15:57 +0800)
committerBjorn Andersson <andersson@kernel.org>
Sun, 24 Aug 2025 01:48:32 +0000 (20:48 -0500)
commit71b12166a2be511482226b21105f1952cd8b7fa5
tree1def2f5e6c237b591008877dbeb220c79b2bb85e
parentb9a185198f96259311543b30d884d8c01da913f7
arm64: dts: qcom: sc8280xp: Describe GPI DMA controller nodes

SPI on SC8280XP requires DMA (GSI) mode to function properly. Without
it, SPI controllers fall back to FIFO mode, which causes:

[    0.901296] geni_spi 898000.spi: error -ENODEV: Failed to get tx DMA ch
[    0.901305] geni_spi 898000.spi: FIFO mode disabled, but couldn't get DMA, fall back to FIFO mode
...
[   45.605974] goodix-spi-hid spi0.0: SPI transfer timed out
[   45.605988] geni_spi 898000.spi: Can't set CS when prev xfer running
[   46.621555] spi_master spi0: failed to transfer one message from queue
[   46.621568] spi_master spi0: noqueue transfer failed
[   46.621577] goodix-spi-hid spi0.0: spi transfer error: -110
[   46.621585] goodix-spi-hid spi0.0: probe with driver goodix-spi-hid failed with error -110

Therefore, describe GPI DMA controller nodes for qup{0,1,2}, and
describe DMA channels for SPI and I2C, UART is excluded for now, as
it does not yet support this mode.

Note that, since there is no public schematic, this is derived from
Windows drivers. The drivers do not expose any DMA channel mask
information, so all available channels are enabled.

Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
Link: https://lore.kernel.org/r/20250612075724.707457-3-mitltlatltl@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sc8280xp.dtsi