Re: [PATCH v2 7/7] riscv: dts: sophgo: dts nodes for i2s tdm modules
"Anton D. Stavinskii" <[email protected]>
| Newsgroups | dev.linux.lists.sophgo,org.infradead.lists.linux-riscv,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
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: > > 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 <[email protected]> > > --- > > 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 <[email protected]> > > + */ > > + > > +#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_DMAMUX > > diff --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. > > > + 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 >