ASoC: sun4i-spdif: Add support for the H3 SoC
Subsystems (4)
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
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
@@ -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
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
@@ -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
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