Skip to contentSkip to conversation

ASoC: sun4i-spdif: Add support for the H3 SoC

PATCH In review [email protected] 2 participants 4 messages Jan 19, 2017 – Jan 20, 2017

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

v2 cover ASoC: sun4i-spdif: Add support for the H3 SoC

From: Marcus Cooper <[email protected]>

The H3 SoC uses the same SPDIF block as found in earlier SoCs, but the transmit fifo is at a different address.

This has been tested on the Beelink X2.
BR,
CK
---
Changes since v1:
- Now a patch set with bindings and driver changes.
---
Marcus Cooper (2):
ASoC: sunxi: Add bindings for sun8i to SPDIF
ASoC: sun4i-spdif: Add support for the H3 SoC

 Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt |  1 +
 sound/soc/sunxi/sun4i-spdif.c                                 | 11 +++++++++++
 2 files changed, 12 insertions(+)
Signature · 1 line
2.11.0
#1 lore raw

PATCH v2 1/2 ASoC: sunxi: Add bindings for sun8i to SPDIF

From: Marcus Cooper <[email protected]>

The H3 SoC uses the same SPDIF block as found in earlier SoCs, but the transmit fifo is at a different address.

---
 Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt +1 -0
index 0230c4d20506..fe0a65e6d629 100644
@@ -10,6 +10,7 @@ Required properties:
   - compatible		: should be one of the following:
     - "allwinner,sun4i-a10-spdif": for the Allwinner A10 SoC
     - "allwinner,sun6i-a31-spdif": for the Allwinner A31 SoC
+    - "allwinner,sun8i-h3-spdif": for the Allwinner H3 SoC
 
   - reg			: Offset and length of the register set for the device.
 
Signature · 1 line
2.11.0
#2 lore raw

PATCH v2 2/2 ASoC: sun4i-spdif: Add support for the H3 SoC

In reply to [email protected]

From: Marcus Cooper <[email protected]>

The H3 SoC uses the same SPDIF block as found in earlier SoCs, but its TXFIFO is mapped to another address.

---
 sound/soc/sunxi/sun4i-spdif.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
sound/soc/sunxi/sun4i-spdif.c +11 -0
index fec62ee1fc72..c03cd07a9b19 100644
@@ -103,6 +103,8 @@
 	#define SUN4I_SPDIF_ISTA_RXOSTA			BIT(1)
 	#define SUN4I_SPDIF_ISTA_RXASTA			BIT(0)
 
+#define SUN8I_SPDIF_TXFIFO	(0x20)
+
 #define SUN4I_SPDIF_TXCNT	(0x24)
 
 #define SUN4I_SPDIF_RXCNT	(0x28)
@@ -417,6 +419,11 @@ static const struct sun4i_spdif_quirks sun6i_a31_spdif_quirks = {
 	.has_reset	= true,
 };
 
+static const struct sun4i_spdif_quirks sun8i_h3_spdif_quirks = {
+	.reg_dac_txdata	= SUN8I_SPDIF_TXFIFO,
+	.has_reset	= true,
+};
+
 static const struct of_device_id sun4i_spdif_of_match[] = {
 	{
 		.compatible = "allwinner,sun4i-a10-spdif",
@@ -426,6 +433,10 @@ static const struct of_device_id sun4i_spdif_of_match[] = {
 		.compatible = "allwinner,sun6i-a31-spdif",
 		.data = &sun6i_a31_spdif_quirks,
 	},
+	{
+		.compatible = "allwinner,sun8i-h3-spdif",
+		.data = &sun8i_h3_spdif_quirks,
+	},
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, sun4i_spdif_of_match);
Signature · 1 line
2.11.0
Acked-by on the v2 series
#3 lore raw
In reply to [email protected]
Quoted 4 lines · On Thu, Jan 19, 2017 at 08:52:56PM +0100…

From: Marcus Cooper <[email protected]>

The H3 SoC uses the same SPDIF block as found in earlier SoCs, but the transmit fifo is at a different address.

For both patches,

Thanks,
Maxime

Signature · 3 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com