|
@@ -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);
|