Re: [PATCH v2 7/7] riscv: dts: sophgo: dts nodes for i2s tdm modules
From: Anton D. Stavinskii <hidden>
Date: 2026-01-18 12:41:07
Also in:
linux-riscv, linux-sound, lkml
On Sun, Jan 18, 2026 at 11:16:48AM +0400, Krzysztof Kozlowski wrote:
On Sun, Jan 18, 2026 at 12:18:59AM +0400, Anton D. Stavinskii wrote:quoted
Introduced I2S nodes and internal dac and adc nodes as well The new header file provided in order to make DMA channel names more readable. Signed-off-by: Anton D. Stavinskii <redacted> --- arch/riscv/boot/dts/sophgo/cv180x-dmamux.h | 57 +++++++++++++++++++++++++++ arch/riscv/boot/dts/sophgo/cv180x.dtsi | 63 ++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+)diff --git a/arch/riscv/boot/dts/sophgo/cv180x-dmamux.h b/arch/riscv/boot/dts/sophgo/cv180x-dmamux.h new file mode 100644 index 000000000000..6314bf6e9dc8 --- /dev/null +++ b/arch/riscv/boot/dts/sophgo/cv180x-dmamux.h@@ -0,0 +1,57 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ +/* + * Copyright (C) 2025 Inochi Amaoto <inochiama@gmail.com> + */ + +#ifndef _SOPHGO_CV18XX_DMAMUX +#define _SOPHGO_CV18XX_DMAMUX + +#define DMA_I2S0_RX 0 +#define DMA_I2S0_TX 1 +#define DMA_I2S1_RX 2 +#define DMA_I2S1_TX 3 +#define DMA_I2S2_RX 4 +#define DMA_I2S2_TX 5 +#define DMA_I2S3_RX 6 +#define DMA_I2S3_TX 7 +#define DMA_UART0_RX 8 +#define DMA_UART0_TX 9 +#define DMA_UART1_RX 10 +#define DMA_UART1_TX 11 +#define DMA_UART2_RX 12 +#define DMA_UART2_TX 13 +#define DMA_UART3_RX 14 +#define DMA_UART3_TX 15 +#define DMA_SPI0_RX 16 +#define DMA_SPI0_TX 17 +#define DMA_SPI1_RX 18 +#define DMA_SPI1_TX 19 +#define DMA_SPI2_RX 20 +#define DMA_SPI2_TX 21 +#define DMA_SPI3_RX 22 +#define DMA_SPI3_TX 23 +#define DMA_I2C0_RX 24 +#define DMA_I2C0_TX 25 +#define DMA_I2C1_RX 26 +#define DMA_I2C1_TX 27 +#define DMA_I2C2_RX 28 +#define DMA_I2C2_TX 29 +#define DMA_I2C3_RX 30 +#define DMA_I2C3_TX 31 +#define DMA_I2C4_RX 32 +#define DMA_I2C4_TX 33 +#define DMA_TDM0_RX 34 +#define DMA_TDM0_TX 35 +#define DMA_TDM1_RX 36 +#define DMA_AUDSRC 37 +#define DMA_SPI_NAND 38 +#define DMA_SPI_NOR 39 +#define DMA_UART4_RX 40 +#define DMA_UART4_TX 41 +#define DMA_SPI_NOR1 42 + +#define DMA_CPU_A53 0 +#define DMA_CPU_C906_0 1 +#define DMA_CPU_C906_1 2 + +#endif // _SOPHGO_CV18XX_DMAMUXdiff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi index 06b0ce5a2db7..5a56951f7e4c 100644 --- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi +++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi@@ -8,6 +8,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> #include "cv18xx-reset.h" +#include "cv180x-dmamux.h" / { #address-cells = <1>;@@ -448,6 +449,68 @@ usb: usb@4340000 { status = "disabled"; }; + i2s0: i2s@4100000 { + compatible = "sophgo,cv1800b-i2s"; + reg = <0x04100000 0x1000>; + #address-cells = <1>; + #size-cells = <0>;Really, why are you putting cells everywhere?
My bad. It was misunderstanding from my side. Will drop everywhere it needs to be dropped. Thanks for you patience.
quoted
+ clocks = <&clk CLK_APB_I2S0>, <&clk CLK_SDMA_AUD0>; + clock-names = "i2s", "mclk"; + dmas = <&dmamux DMA_I2S0_RX 1>, <&dmamux DMA_I2S0_TX 1>; + dma-names = "rx", "tx"; + status = "disabled"; + }; + + i2s1: i2s@4110000 { + compatible = "sophgo,cv1800b-i2s"; + reg = <0x04110000 0x1000>; + #address-cells = <1>; + #size-cells = <0>;Best regards, Krzysztof