public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Add SPDIF support to RK3576
@ 2026-03-16 18:22 Sebastian Reichel
  2026-03-16 18:23 ` [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF Sebastian Reichel
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Sebastian Reichel @ 2026-03-16 18:22 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Heiko Stuebner
  Cc: Alexey Charkov, linux-sound, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, kernel, Sebastian Reichel

Add SPDIF support on RK3576 in preparation for Displayport audio
support. My expectation is that Mark picks up the DT binding via
his audio tree and Heiko picks up the DTS via the Rockchip tree.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
Sebastian Reichel (2):
      dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF
      arm64: dts: rockchip: Add SPDIF nodes to RK3576 device tree

 .../devicetree/bindings/sound/rockchip-spdif.yaml  |  1 +
 arch/arm64/boot/dts/rockchip/rk3576.dtsi           | 82 ++++++++++++++++++++++
 2 files changed, 83 insertions(+)
---
base-commit: 74b04802e23d970099c522b711b0d94e9a29dd74
change-id: 20260316-rk3576-spdif-7017f2bebf56

Best regards,
-- 
Sebastian Reichel <sebastian.reichel@collabora.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF
  2026-03-16 18:22 [PATCH 0/2] Add SPDIF support to RK3576 Sebastian Reichel
@ 2026-03-16 18:23 ` Sebastian Reichel
  2026-03-16 19:44   ` Mark Brown
  2026-03-17  7:51   ` Krzysztof Kozlowski
  2026-03-16 18:23 ` [PATCH 2/2] arm64: dts: rockchip: Add SPDIF nodes to RK3576 device tree Sebastian Reichel
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 8+ messages in thread
From: Sebastian Reichel @ 2026-03-16 18:23 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Heiko Stuebner
  Cc: Alexey Charkov, linux-sound, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, kernel, Sebastian Reichel

Add a compatible string for SPDIF on RK3576, which is similar to the
one on RK3568.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 Documentation/devicetree/bindings/sound/rockchip-spdif.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml b/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
index 56c755c22945..502907dd28b3 100644
--- a/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
+++ b/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
@@ -33,6 +33,7 @@ properties:
           - const: rockchip,rk3066-spdif
       - items:
           - enum:
+              - rockchip,rk3576-spdif
               - rockchip,rk3588-spdif
           - const: rockchip,rk3568-spdif
 

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] arm64: dts: rockchip: Add SPDIF nodes to RK3576 device tree
  2026-03-16 18:22 [PATCH 0/2] Add SPDIF support to RK3576 Sebastian Reichel
  2026-03-16 18:23 ` [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF Sebastian Reichel
@ 2026-03-16 18:23 ` Sebastian Reichel
  2026-03-17 12:31 ` (subset) [PATCH 0/2] Add SPDIF support to RK3576 Mark Brown
  2026-03-24 19:53 ` Heiko Stuebner
  3 siblings, 0 replies; 8+ messages in thread
From: Sebastian Reichel @ 2026-03-16 18:23 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Heiko Stuebner
  Cc: Alexey Charkov, linux-sound, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, kernel, Sebastian Reichel

Add support for all six SPDIF transmitters found in the RK3576.
The nodes have been taken over from the BSP kernel and checked
against the TRM (power domain descriptions from chapter 6.3.2,
addresses from "Table 1-1 Address Mapping", interrupt from
"Table 1-3 RK3576 Interrupt Connection List" (TRM numbers are
off by 32 due to SGI/PPI not being numbered separately). The
TRM lacks a proper clock tree, but fortunately are quite obvious
for the SPDIF IP.

Note, that the RK3576 also has 3 SPDIF receivers, which need their
own binding and are not handled in this patch.

A typical use case for the SPDIF transmitters is audio support for
the Displayport (DP) controller. DP requires inserting PCUV control
bits, which requires software support when using I2S. The SPDIF IP
can add it automatically and thus is preferred.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 arch/arm64/boot/dts/rockchip/rk3576.dtsi | 82 ++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
index 53ff6bd027af..b03dd69eca3c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
@@ -1379,6 +1379,19 @@ vop_mmu: iommu@27d07e00 {
 			status = "disabled";
 		};
 
+		spdif_tx2: spdif-tx@27d20000 {
+			compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
+			reg = <0x0 0x27d20000 0x0 0x1000>;
+			interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cru MCLK_SPDIF_TX2>, <&cru HCLK_SPDIF_TX2>;
+			clock-names = "mclk", "hclk";
+			dmas = <&dmac2 28>;
+			dma-names = "tx";
+			power-domains = <&power RK3576_PD_VO0>;
+			#sound-dai-cells = <0>;
+			status = "disabled";
+		};
+
 		sai5: sai@27d40000 {
 			compatible = "rockchip,rk3576-sai";
 			reg = <0x0 0x27d40000 0x0 0x1000>;
@@ -1511,6 +1524,45 @@ dp0_out: port@1 {
 			};
 		};
 
+		spdif_tx3: spdif-tx@27ea0000 {
+			compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
+			reg = <0x0 0x27ea0000 0x0 0x1000>;
+			interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cru MCLK_SPDIF_TX3>, <&cru HCLK_SPDIF_TX3>;
+			clock-names = "mclk", "hclk";
+			dmas = <&dmac2 29>;
+			dma-names = "tx";
+			power-domains = <&power RK3576_PD_VO1>;
+			#sound-dai-cells = <0>;
+			status = "disabled";
+		};
+
+		spdif_tx4: spdif-tx@27eb0000 {
+			compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
+			reg = <0x0 0x27eb0000 0x0 0x1000>;
+			interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cru MCLK_SPDIF_TX4>, <&cru HCLK_SPDIF_TX4>;
+			clock-names = "mclk", "hclk";
+			dmas = <&dmac1 6>;
+			dma-names = "tx";
+			power-domains = <&power RK3576_PD_VO1>;
+			#sound-dai-cells = <0>;
+			status = "disabled";
+		};
+
+		spdif_tx5: spdif-tx@27ec0000 {
+			compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
+			reg = <0x0 0x27ec0000 0x0 0x1000>;
+			interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cru MCLK_SPDIF_TX5>, <&cru HCLK_SPDIF_TX5>;
+			clock-names = "mclk", "hclk";
+			dmas = <&dmac0 25>;
+			dma-names = "tx";
+			power-domains = <&power RK3576_PD_VO1>;
+			#sound-dai-cells = <0>;
+			status = "disabled";
+		};
+
 		sai7: sai@27ed0000 {
 			compatible = "rockchip,rk3576-sai";
 			reg = <0x0 0x27ed0000 0x0 0x1000>;
@@ -2166,6 +2218,36 @@ &sai4m0_sdi
 			status = "disabled";
 		};
 
+		spdif_tx0: spdif-tx@2a670000 {
+			compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
+			reg = <0x0 0x2a670000 0x0 0x1000>;
+			interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cru MCLK_SPDIF_TX0>, <&cru HCLK_SPDIF_TX0>;
+			clock-names = "mclk", "hclk";
+			dmas = <&dmac0 5>;
+			dma-names = "tx";
+			power-domains = <&power RK3576_PD_AUDIO>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&spdifm0_tx0>;
+			#sound-dai-cells = <0>;
+			status = "disabled";
+		};
+
+		spdif_tx1: spdif-tx@2a680000 {
+			compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
+			reg = <0x0 0x2a680000 0x0 0x1000>;
+			interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cru MCLK_SPDIF_TX1>, <&cru HCLK_SPDIF_TX1>;
+			clock-names = "mclk", "hclk";
+			dmas = <&dmac1 5>;
+			dma-names = "tx";
+			power-domains = <&power RK3576_PD_AUDIO>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&spdifm0_tx1>;
+			#sound-dai-cells = <0>;
+			status = "disabled";
+		};
+
 		gic: interrupt-controller@2a701000 {
 			compatible = "arm,gic-400";
 			reg = <0x0 0x2a701000 0 0x10000>,

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF
  2026-03-16 18:23 ` [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF Sebastian Reichel
@ 2026-03-16 19:44   ` Mark Brown
  2026-03-17 17:22     ` Sebastian Reichel
  2026-03-17  7:51   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 8+ messages in thread
From: Mark Brown @ 2026-03-16 19:44 UTC (permalink / raw)
  To: Sebastian Reichel
  Cc: Liam Girdwood, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Heiko Stuebner, Alexey Charkov, linux-sound, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, kernel

[-- Attachment #1: Type: text/plain, Size: 486 bytes --]

On Mon, Mar 16, 2026 at 07:23:00PM +0100, Sebastian Reichel wrote:
> Add a compatible string for SPDIF on RK3576, which is similar to the
> one on RK3568.

Please submit patches using subject lines reflecting the style for the
subsystem, this makes it easier for people to identify relevant patches.
Look at what existing commits in the area you're changing are doing and
make sure your subject lines visually resemble what they're doing.
There's no need to resubmit to fix this alone.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF
  2026-03-16 18:23 ` [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF Sebastian Reichel
  2026-03-16 19:44   ` Mark Brown
@ 2026-03-17  7:51   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-17  7:51 UTC (permalink / raw)
  To: Sebastian Reichel
  Cc: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Heiko Stuebner, Alexey Charkov, linux-sound,
	devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
	kernel

On Mon, Mar 16, 2026 at 07:23:00PM +0100, Sebastian Reichel wrote:
> Add a compatible string for SPDIF on RK3576, which is similar to the
> one on RK3568.
> 
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
>  Documentation/devicetree/bindings/sound/rockchip-spdif.yaml | 1 +
>  1 file changed, 1 insertion(+)

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (subset) [PATCH 0/2] Add SPDIF support to RK3576
  2026-03-16 18:22 [PATCH 0/2] Add SPDIF support to RK3576 Sebastian Reichel
  2026-03-16 18:23 ` [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF Sebastian Reichel
  2026-03-16 18:23 ` [PATCH 2/2] arm64: dts: rockchip: Add SPDIF nodes to RK3576 device tree Sebastian Reichel
@ 2026-03-17 12:31 ` Mark Brown
  2026-03-24 19:53 ` Heiko Stuebner
  3 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2026-03-17 12:31 UTC (permalink / raw)
  To: Liam Girdwood, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Heiko Stuebner, Sebastian Reichel
  Cc: Alexey Charkov, linux-sound, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, kernel

On Mon, 16 Mar 2026 19:22:59 +0100, Sebastian Reichel wrote:
> Add SPDIF support to RK3576
> 
> Add SPDIF support on RK3576 in preparation for Displayport audio
> support. My expectation is that Mark picks up the DT binding via
> his audio tree and Heiko picks up the DTS via the Rockchip tree.
> 
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.0

Thanks!

[1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF
      https://git.kernel.org/broonie/sound/c/4eae391a8e4c

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF
  2026-03-16 19:44   ` Mark Brown
@ 2026-03-17 17:22     ` Sebastian Reichel
  0 siblings, 0 replies; 8+ messages in thread
From: Sebastian Reichel @ 2026-03-17 17:22 UTC (permalink / raw)
  To: Mark Brown
  Cc: Liam Girdwood, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Heiko Stuebner, Alexey Charkov, linux-sound, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, kernel

[-- Attachment #1: Type: text/plain, Size: 842 bytes --]

Hello Mark,

On Mon, Mar 16, 2026 at 07:44:45PM +0000, Mark Brown wrote:
> On Mon, Mar 16, 2026 at 07:23:00PM +0100, Sebastian Reichel wrote:
> > Add a compatible string for SPDIF on RK3576, which is similar to the
> > one on RK3568.
> 
> Please submit patches using subject lines reflecting the style for the
> subsystem, this makes it easier for people to identify relevant patches.
> Look at what existing commits in the area you're changing are doing and
> make sure your subject lines visually resemble what they're doing.
> There's no need to resubmit to fix this alone.

Sorry, my fault. I used the same prefix as the one adding RK3588
support to the binding and forgot about the different preference for
sound DT bindings. I would have prepared a v2, but I see you already
picked it up.

Greetings,

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (subset) [PATCH 0/2] Add SPDIF support to RK3576
  2026-03-16 18:22 [PATCH 0/2] Add SPDIF support to RK3576 Sebastian Reichel
                   ` (2 preceding siblings ...)
  2026-03-17 12:31 ` (subset) [PATCH 0/2] Add SPDIF support to RK3576 Mark Brown
@ 2026-03-24 19:53 ` Heiko Stuebner
  3 siblings, 0 replies; 8+ messages in thread
From: Heiko Stuebner @ 2026-03-24 19:53 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Sebastian Reichel
  Cc: Heiko Stuebner, Alexey Charkov, linux-sound, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, kernel


On Mon, 16 Mar 2026 19:22:59 +0100, Sebastian Reichel wrote:
> Add SPDIF support on RK3576 in preparation for Displayport audio
> support. My expectation is that Mark picks up the DT binding via
> his audio tree and Heiko picks up the DTS via the Rockchip tree.
> 
> 

Applied, thanks!

[2/2] arm64: dts: rockchip: Add SPDIF nodes to RK3576 device tree
      commit: edd3173f3d4424861c1e036b76f0f30b581bb4bc

Best regards,
-- 
Heiko Stuebner <heiko@sntech.de>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-03-24 19:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-16 18:22 [PATCH 0/2] Add SPDIF support to RK3576 Sebastian Reichel
2026-03-16 18:23 ` [PATCH 1/2] dt-bindings: ASoC: rockchip: Add compatible for RK3576 SPDIF Sebastian Reichel
2026-03-16 19:44   ` Mark Brown
2026-03-17 17:22     ` Sebastian Reichel
2026-03-17  7:51   ` Krzysztof Kozlowski
2026-03-16 18:23 ` [PATCH 2/2] arm64: dts: rockchip: Add SPDIF nodes to RK3576 device tree Sebastian Reichel
2026-03-17 12:31 ` (subset) [PATCH 0/2] Add SPDIF support to RK3576 Mark Brown
2026-03-24 19:53 ` Heiko Stuebner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox