Re: [PATCH v2 7/7] riscv: dts: sophgo: dts nodes for i2s tdm modules
Krzysztof Kozlowski <[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 | <20260118-deer-of-therapeutic-science-0958d4@quoll> |
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? > + 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