[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aWzUaf7t96FhtbNq@anton.local>
Date: Sun, 18 Jan 2026 16:40:59 +0400
From: "Anton D. Stavinskii" <stavinsky@...il.com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Chen Wang <unicorn_wang@...look.com>,
Inochi Amaoto <inochiama@...il.com>, Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
Paul Walmsley <pjw@...nel.org>, Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>, Alexandre Ghiti <alex@...ti.fr>, linux-sound@...r.kernel.org,
devicetree@...r.kernel.org, sophgo@...ts.linux.dev, linux-kernel@...r.kernel.org,
linux-riscv@...ts.infradead.org
Subject: Re: [PATCH v2 7/7] riscv: dts: sophgo: dts nodes for i2s tdm modules
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 <stavinsky@...il.com>
> > ---
> > 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@...il.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_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@...0000 {
> > status = "disabled";
> > };
> >
> > + i2s0: i2s@...0000 {
> > + 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@...0000 {
> > + compatible = "sophgo,cv1800b-i2s";
> > + reg = <0x04110000 0x1000>;
> > + #address-cells = <1>;
> > + #size-cells = <0>;
>
>
> Best regards,
> Krzysztof
>
Powered by blists - more mailing lists