From: Marcus Cooper
The A31 SoC uses the same SPDIF block as found in earlier SoCs, but its
reset is controlled via a separate reset controller.
Signed-off-by: Marcus Cooper
---
Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a
. For those that are interested I've
pushed all the required patches here
https://github.com/codekipper/linux-sunxi/commits/a31-spdif
Thanks in advance,
CK
Marcus Cooper (2):
ASoC: sunxi: Add bindings for sun6i to SPDIF
ASoC: sunxi: compatibility for sun6i to SPDIF
.../devicetree/bin
From: Marcus Cooper
The A31 SoC uses the same SPDIF block as found in earlier SoCs, but its
reset is controlled via a separate reset controller.
The DMA also complains when the maxburst is set to 4 so it's been adjusted
to 8 which suites both the older and newer SoCs.
Signed-off-by: Marcus Coop
. For those that are interested I've
pushed all the required patches here
https://github.com/codekipper/linux-sunxi/commits/a31-spdif
Thanks in advance,
CK
---
Changes since v1:
- Corrected mistake in bindings documentation
Marcus Cooper (2):
ASoC: sunxi: Add bindings for sun6i to SPDIF
From: Marcus Cooper
The A31 SoC uses the same SPDIF block as found in earlier SoCs, but its
reset is controlled via a separate reset controller.
Signed-off-by: Marcus Cooper
---
Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a
From: Marcus Cooper
The A31 SoC uses the same SPDIF block as found in earlier SoCs, but its
reset is controlled via a separate reset controller.
The DMA also complains when the maxburst is set to 4 so it's been adjusted
to 8 which suites both the older and newer SoCs.
Signed-off-by: Marcus Coop
From: Marcus Cooper
Some codecs require a different amount of a bit clocks per frame than
what is calculated by the sample width. Use the tdm slot bindings to
provide this mechanism.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 23 +--
1 file changed, 21 i
From: Marcus Cooper
On the newer SoCs this is set by default to transfer a 0 after
each sample in each slot. Add the regmap field to configure this
and set it so that it pads the sample with 0s.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 15 +++
1 file changed,
From: Marcus Cooper
Hi All,
here is a patch series to add some improvements to the sun4i-i2s driver
found whilst getting slave clocking and hdmi audio working on the newer
SoCs.
This has been tested on a Pine64 using the ES9023 audio POT board
(https://github.com/codekipper/linux-sunxi/commits
From: Marcus Cooper
There is no need to set the clock and calculate the division of
the audio pll for the bclk and sync signals when they are not
required.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 116
1 file changed, 64 insert
From: Marcus Cooper
The clock division circuitry is different on the H3 and later SoCs.
The division of bclk is now based on pll2.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 76 +++--
1 file changed, 52 insertions(+), 24 deletions(-)
From: Marcus Cooper
The DAI has a loopback register which can be set and therefore routes
the transmit fifo to receive fifo. This is useful for testing the block
without the need for any external hardware.
Signed-off-by: Marcus Cooper
---
Documentation/devicetree/bindings/sound/sun4i-i2s.txt |
From: Marcus Cooper
Some codecs require a different amount of a bit clocks per frame
than what is calculated by using the sample width. Use a slot
width override property to provide this mechanism.
Signed-off-by: Marcus Cooper
---
Documentation/devicetree/bindings/sound/sun4i-i2s.txt | 5
From: Marcus Cooper
The i2s block supports multi-lane i2s output however this functionality
is only possible in earlier SoCs where the pins are exposed and for
the i2s block used for HDMI audio on the later SoCs.
To enable this functionality, an optional property has been added to
the bindings.
From: Marcus Cooper
Extend the functionality of the driver to include support of 20 and
24 bits per sample for the earlier SoCs.
Newer SoCs can also handle 32bit samples.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 34 +++---
1 file changed, 31 i
to set the slot width and now use
a dedicated property.
This has been tested on a Pine64 using the ES9023 audio POT board
(https://github.com/codekipper/linux-sunxi/commits/upstream)
and HDMI audio
(https://github.com/codekipper/linux-sunxi/commits/sunxi-wip-a64)
BR,
CK
---
v2 changes compared
From: Marcus Cooper
On the newer SoCs (H3, H5, A64 etc) this is set by default to
transfer a 0 after each sample in each slot whereas on the
earlier SoCs (A20, A31 etc) the default sign extension is to
pad the LSB.
Add the regmap field to configure this and set it so that it
pads the sample with
From: Marcus Cooper
The clock division circuitry is different on the H3 and later SoCs.
The division of bclk is now based on pll2.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 82 +
1 file changed, 56 insertions(+), 26 deletions(-)
diff --
From: Marcus Cooper
Also add offset to RX channel select
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index adb988ae9ac5..93a484d7e228 100644
--- a
From: Marcus Cooper
The i2s block can be used to pass PCM data over multiple channels
and is sometimes used for the audio side of an HDMI connection.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 121 +++-
1 file changed, 64 insertions(+), 57 de
From: Marcus Cooper
Hi All,
here is a patch series to add some improvements to the sun4i-i2s driver
found whilst getting slave clocking and hdmi audio working on the newer
SoCs. Since the last push there has been some activity getting surround
sound working and this is included.
The functionali
From: Marcus Cooper
Bypass the regmap cache when flushing the i2s FIFOs and modify the tables
to reflect this.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 29 +
1 file changed, 9 insertions(+), 20 deletions(-)
diff --git a/sound/soc/sunxi/sun4i-i
From: Marcus Cooper
On the newer SoCs this is set by default to transfer a 0 after
each sample in each slot. Add the regmap field to configure this
and set it so that it pads the sample with 0s.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 15 +++
1 file changed,
From: Marcus Cooper
The i2s block supports multi-lane i2s output however this functionality
is only possible in earlier SoCs where the pins are exposed and for
the i2s block used for HDMI audio on the later SoCs.
To enable this functionality, an optional property has been added to
the bindings.
From: Marcus Cooper
Extend the functionality of the driver to include support of 20 and
24 bits per sample for the earlier SoCs.
Newer SoCs can also handle 32bit samples.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 41 ++---
1 file changed, 3
From: Marcus Cooper
There is no need to set the clock and calculate the division of
the audio pll for the bclk and sync signals when they are not
required.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 144 +++-
1 file changed, 77 insertions(+),
From: Marcus Cooper
Some codecs require a different amount of a bit clocks per frame than
what is calculated by the sample width. Use the tdm slot bindings to
provide this mechanism.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 22 --
1 file changed, 20 in
. For those that are interested I've pushed
the patches here with all the required changes to get SPDIF audio out of the
device.
https://github.com/codekipper/linux-sunxi/commits/spdif_delivery
Thanks in advance,
CK
---
Changes since v4:
- corrected indentation issues
- removed old macros
- re
From: Marcus Cooper
Add devicetree bindings for the SPDIF transceiver found on
found on Allwinners A10 and A20 SoCs.
Signed-off-by: Marcus Cooper
---
.../bindings/sound/sunxi,sun4i-spdif.txt | 39 ++
1 file changed, 39 insertions(+)
create mode 100644
Documentat
From: Marcus Cooper
The sun4i, sun5i and sun7i SoC families have an SPDIF
block which is capable of playback and capture.
This patch enables the playback of this block for
the sun4i families.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/Kconfig | 8 +
sound/soc/sunxi/Makefile
From: Marcus Cooper
Add devicetree bindings for the SPDIF transceiver found on
found on Allwinners A10 and A20 SoCs.
Signed-off-by: Marcus Cooper
---
.../bindings/sound/sunxi,sun4i-spdif.txt | 39 ++
1 file changed, 39 insertions(+)
create mode 100644
Documentat
. For those that are interested I've pushed
the patches here with all the required changes to get SPDIF audio out of the
device.
https://github.com/codekipper/linux-sunxi/commits/spdif_delivery
Thanks in advance,
CK
---
Changes since v5:
- fixed warning that had sneaked in.'
Change
From: Marcus Cooper
The sun4i, sun5i and sun7i SoC families have an SPDIF
block which is capable of playback and capture.
This patch enables the playback of this block for
the sun4i families.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/Kconfig | 8 +
sound/soc/sunxi/Makefile
From: Marcus Cooper
Add device tree bindings for the SPDIF machine driver for Allwinner SoC
devices.
Signed-off-by: Marcus Cooper
---
.../bindings/sound/sunxi-audio-spdif.txt | 36 ++
1 file changed, 36 insertions(+)
create mode 100644
Documentation/devicetree/b
delivered separately. For those that are interested I've pushed
the patches here with all the required changes to get SPDIF audio out of the
device.
https://github.com/codekipper/linux-sunxi/commits/spdif_delivery
This is version 2 of the patch series. After Mark's initial comments I reali
From: Marcus Cooper
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sunxi-machine-spdif.c | 108 ++
1 file changed, 108 insertions(+)
create mode 100644 sound/soc/sunxi/sunxi-machine-spdif.c
diff --git a/sound/soc/sunxi/sunxi-machine-spdif.c
b/sound/soc/sunxi
From: Marcus Cooper
The sun4i, sun6i and sun7i SoC families have an SPDIF
block which is capable of playback and capture.
This patch enables the playback of this block for
the sun4i and sun7i families.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/Kconfig | 12 +
sound/soc/sunxi/Mak
From: Marcus Cooper
Add devicetree bindings for the SPDIF transceiver found on
found on Allwinners A10, A20 and A31 SoCs.
Signed-off-by: Marcus Cooper
---
.../devicetree/bindings/sound/sunxi,spdif.txt | 49 ++
1 file changed, 49 insertions(+)
create mode 100644 Docume
From: Marcus Cooper
Fixes: 21faaea1343f ("ASoC: sun4i-i2s: Add support for A83T")
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index cbc6e59aa089..056a29
audio delivered. H6 and multi-channel HDMI will
follow shortly.
My test branch for this can be found at
https://github.com/codekipper/linux-sunxi/commits/upstream-i2s , I've been
using a Pine64 to test with; validating the new SoC block with HDMI audio
and ensuring that I've not broken the old
From: Marcus Cooper
The regmap configuration is set up for the legacy block on the
A83T whereas it uses the new block with a larger register map.
Fixes: 21faaea1343f ("ASoC: sun4i-i2s: Add support for A83T")
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 2 +-
1 file changed, 1
From: Marcus Cooper
Some codecs such as i2s based HDMI audio and the Pine64 DAC require
a different amount of bit clocks per frame than what is calculated
by the sample width. Use the values obtained by the tdm slot bindings
to adjust the LRCLK width accordingly.
Signed-off-by: Marcus Cooper
--
From: Marcus Cooper
On the newer SoCs such as the H3 and A64 this is set by default
to transfer a 0 after each sample in each slot. However the A10
and A20 SoCs that this driver was developed on had a default
setting where it padded the audio gain with zeros.
This isn't a problem whilst we have
From: Jernej Skrabec
H6 I2S is very similar to that in H3, except it supports up to 16
channels.
Signed-off-by: Jernej Skrabec
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 143
1 file changed, 143 insertions(+)
diff --git a/sound/soc/sun
From: Marcus Cooper
On the newer SoCs the offset is used to set the mode of the
connection. As it is to be used elsewhere then it makes sense
to move it to the main structure.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 22 +++---
1 file changed, 11 insertion
From: Marcus Cooper
Newer SoCs like the H6 have the channel offset bits in a different
position to what is on the H3. As we will eventually add multi-
channel support then create function calls as opposed to regmap
fields to add support for different devices.
Signed-off-by: Marcus Cooper
---
s
From: Jernej Skrabec
H6 I2S is very similar to H3, except that it supports up to 16 channels
and thus few registers have fields on different position.
Signed-off-by: Jernej Skrabec
Signed-off-by: Marcus Cooper
---
.../devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml | 2 ++
1 file
From: Marcus Cooper
As we will eventually add multi-channel audio support to the i2s
then create function calls as opposed to regmap fields to add
support for different devices.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 45 +
1 file chan
ed to this which I will deliver
after support for the H6 has gone in.
These other patches are required for HDMI audio which is driving this
patchset and they can be found here
https://github.com/codekipper/linux-sunxi/commits/upstream-i2s
BR,
CK
---
v6 changes compared to v5 are:
- rebased onto the
From: Marcus Cooper
Newer SoCs like the H6 have the channel enable bits in a different
position to what is on the H3. As we will eventually add multi-
channel support then create function calls as opposed to regmap
fields to add support for different devices.
Signed-off-by: Marcus Cooper
---
s
From: Marcus Cooper
Newer SoCs like the H6 have the channel select bits in a different
positions than what is on the H3. As we will eventually add multi-
channel support then create function calls as opposed to regmap
fields to add support for different devices.
Signed-off-by: Marcus Cooper
---
From: Jernej Skrabec
H6 I2S is very similar to that in H3, except it supports up to 16
channels.
Signed-off-by: Jernej Skrabec
---
sound/soc/sunxi/sun4i-i2s.c | 148
1 file changed, 148 insertions(+)
diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sun
From: Marcus Cooper
Newer SoCs like the H6 have the channel enable bits in a different
position to what is on the H3. As we will eventually add multi-
channel support then create function calls as opposed to regmap
fields to add support for different devices.
Signed-off-by: Marcus Cooper
---
s
From: Marcus Cooper
As we will eventually add multi-channel audio support to the i2s
then create function calls as opposed to regmap fields to add
support for different devices.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 71 +
1 file chan
From: Marcus Cooper
Bypass the regmap cache when flushing the i2s FIFOs and modify the tables
to reflect this.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 31 ++-
1 file changed, 10 insertions(+), 21 deletions(-)
diff --git a/sound/soc/sunxi/sun4
From: Marcus Cooper
The i2s block supports multi-lane i2s output however this functionality
is only possible in earlier SoCs where the pins are exposed and for
the i2s block used for HDMI audio on the later SoCs.
To enable this functionality, an optional property has been added to
the bindings.
From: Marcus Cooper
Extend the functionality of the driver to include support of 20 and
24 bits per sample for the earlier SoCs.
Newer SoCs can also handle 32bit samples.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 21 +++--
1 file changed, 19 insertions(+),
From: Marcus Cooper
Newer SoCs like the H6 have the channel select bits in a different
positions than what is on the H3. As we will eventually add multi-
channel support then create function calls as opposed to regmap
fields to add support for different devices.
Signed-off-by: Marcus Cooper
---
From: Jernej Skrabec
I2S doesn't work if parent rate couldn't be change. Difference between
wanted and actual rate is too big.
Fix this by adding CLK_SET_RATE_PARENT flag to I2S clocks.
Signed-off-by: Jernej Skrabec
---
drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 8
1 file changed, 4 inse
From: Jernej Skrabec
H6 I2S is very similar to H3, except that it supports up to 16 channels
and thus few registers have fields on different position.
Signed-off-by: Jernej Skrabec
---
.../devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml | 2 ++
1 file changed, 2 insertions(+)
diff
From: Marcus Cooper
On the newer SoCs such as the H3 and A64 this is set by default
to transfer a 0 after each sample in each slot. However the A10
and A20 SoCs that this driver was developed on had a default
setting where it padded the audio gain with zeros.
This isn't a problem whilst we have
From: Marcus Cooper
The clock division circuitry is different on the H3 and later SoCs.
The division of bclk is now based on pll2.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 73 +
1 file changed, 49 insertions(+), 24 deletions(-)
diff --
ng the tdm property to override the old
way to calculate the frame width. What I've seen in what has already been
mainlined is that the i2s driver has a frame width that is fixed to 32
bits and this can be overridden using the tdm property.
My test branch for this can be found at
https://github
From: Marcus Cooper
The i2s block can be used to pass PCM data over multiple channels
and is sometimes used for the audio side of an HDMI connection.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 93 +
1 file changed, 63 insertions(+), 30 de
From: Marcus Cooper
There is a need to support more formats on the newer SoCs(H3 and later).
Extend the formats supported to include DSP_A and DSP_B modes.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 87 +++--
1 file changed, 63 insertions(+),
From: Marcus Cooper
Newer SoCs like the H6 have the channel offset bits in a different
position to what is on the H3. As we will eventually add multi-
channel support then create function calls as opposed to regmap
fields to add support for different devices.
Signed-off-by: Marcus Cooper
---
s
From: Marcus Cooper
Codecs without a control connection such as i2s based HDMI audio and
the Pine64 DAC require a different amount of bit clocks per frame than
what is calculated by the sample width. Use the tdm slot bindings to
provide this mechanism.
Signed-off-by: Marcus Cooper
---
sound/so
From: Marcus Cooper
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
From: Marcus Cooper
The H3 SoC uses the same SPDIF block as found in earlier SoCs, but its
TXFIFO is mapped to another address.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-spdif.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/
From: Marcus Cooper
The H3 SoC uses the same SPDIF block as found in earlier SoCs, but the
transmit fifo is at a different address.
Signed-off-by: Marcus Cooper
---
Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/d
From: Marcus Cooper
The dapm components are now handled by the ALSA SoC SPDIF DIT driver
so can be removed.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-spdif.c | 8
1 file changed, 8 deletions(-)
diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/soc/sunxi/sun4i-spdif.c
in
From: Marcus Cooper
It has been seen that some newer SoCs have a different TX FIFO
address and we already have the difference with the A31 requiring
a reset. Add a quirks structure so that these can be managed
easily.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-spdif.c | 36
From: Marcus Cooper
Hi All,
please find attached two patches. First being a cleanup of something that
shouldn't be in the code and the second adds the mechanism for supporting
newer Allwiner SoCs. There was a third patch in the series and that was
bringing in support of SPDIF on the Allwinner H3
From: Marcus Cooper
Newer SoCs have additional functionality so a quirks structure
has been added to handle them. So far we've seen the use of a
reset controller, a different address for the TXFIFO and varying
register changes.
This patch prepares the driver for these changes and adds the
reset
From: Marcus Cooper
The H3 SoC uses the same SPDIF block as found in earlier SoCs, but its
TXFIFO is mapped to another address.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-spdif.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/
From: Marcus Cooper
The H3 SoC uses the same SPDIF block as found in earlier SoCs, but the
transmit fifo is at a different address.
Signed-off-by: Marcus Cooper
---
Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/d
From: Marcus Cooper
The sun4i, sun5i and sun7i SoC families have an SPDIF
block which is capable of playback and capture.
This patch enables the playback of this block for
the sun4i families.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/Kconfig | 8 +
sound/soc/sunxi/Makefile
From: Marcus Cooper
Add devicetree bindings for the SPDIF transceiver found on
found on Allwinners A10 and A20 SoCs.
Signed-off-by: Marcus Cooper
---
.../bindings/sound/sunxi,sun4i-spdif.txt | 39 ++
1 file changed, 39 insertions(+)
create mode 100644
Documentat
h all the required changes to get SPDIF audio out of the
device.
https://github.com/codekipper/linux-sunxi/commits/spdif_delivery
Thanks in advance,
CK
---
Changes since v6:
- removed legacy dapm components that are no longer needed.
- changed dt-bindings patch subject styling to match that o
From: Marcus Cooper
Add devicetree bindings for the SPDIF transceiver found on
found on Allwinners A10, A20 and A31 SoCs.
Signed-off-by: Marcus Cooper
---
.../devicetree/bindings/sound/sunxi,spdif.txt | 49 ++
1 file changed, 49 insertions(+)
create mode 100644 Docume
From: Marcus Cooper
Add device tree bindings for the SPDIF machine driver for Allwinner SoC
devices.
Signed-off-by: Marcus Cooper
---
.../bindings/sound/sunxi-audio-spdif.txt | 36 ++
1 file changed, 36 insertions(+)
create mode 100644
Documentation/devicetree/b
delivered separately. For those that are interested I've pushed
the patches here with all the required changes to get SPDIF audio out of the
device.
https://github.com/codekipper/linux-sunxi/commits/spdif_delivery
Thanks in advance,
CK
Marcus Cooper (3):
dt-bindings: add sunxi SPDIF transc
From: Marcus Cooper
The sun4i, sun6i and sun7i SoC families have an SPDIF
block which is capable of playback and capture.
This patch enables the playback of this block for
the sun4i and sun7i families.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/Kconfig | 10 +
sound/soc/s
From: Marcus Cooper
The sun4i, sun5i and sun7i SoC families have an SPDIF
block which is capable of playback and capture.
This patch enables the playback of this block for
the sun4i families.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/Kconfig | 8 +
sound/soc/sunxi/Makefile
. For those that are interested I've pushed
the patches here with all the required changes to get SPDIF audio out of the
device.
https://github.com/codekipper/linux-sunxi/commits/spdif_delivery
This is version 3 of the patch series. It's been quite a while since v2 and I'm
hoping n
From: Marcus Cooper
Add devicetree bindings for the SPDIF transceiver found on
found on Allwinners A10 and A20 SoCs.
Signed-off-by: Marcus Cooper
---
.../devicetree/bindings/sound/sun4i,spdif.txt | 46 ++
1 file changed, 46 insertions(+)
create mode 100644 Documentati
. For those that are interested I've pushed
the patches here with all the required changes to get SPDIF audio out of the
device.
https://github.com/codekipper/linux-sunxi/commits/spdif_delivery
Thanks in advance,
CK
---
Changes since v3:
- removed code required for spdif capture
- added di
From: Marcus Cooper
The sun4i, sun5i and sun7i SoC families have an SPDIF
block which is capable of playback and capture.
This patch enables the playback of this block for
the sun4i families.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/Kconfig | 8 +
sound/soc/sunxi/Makefile
From: Marcus Cooper
Add devicetree bindings for the SPDIF transceiver found on
found on Allwinners A10 and A20 SoCs.
Signed-off-by: Marcus Cooper
---
.../bindings/sound/sunxi,sun4i-spdif.txt | 39 ++
1 file changed, 39 insertions(+)
create mode 100644
Documentat
From: Marcus Cooper
Hi All,
here is a patch series to add some improvements to the sun4i-i2s driver
found whilst getting slave clocking and hdmi audio working on the newer
SoCs. As the LibreELEC project is progressing extremely well then there
has been some activity getting surround sound workin
From: Marcus Cooper
Although not causing any noticeable issues, the mask for the
channel offset is covering too many bits.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/su
From: Marcus Cooper
We have a number of flags used to identify the functionality
of the IP block found on the sun8i-h3 and later devices. As it
is only neccessary to identify this new block then replace
these flags with just one.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 2
From: Marcus Cooper
The i2s block can be used to pass PCM data over multiple channels
and is sometimes used for the audio side of an HDMI connection.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 121 +++-
1 file changed, 64 insertions(+), 57 de
From: Marcus Cooper
The i2s block supports multi-lane i2s output however this functionality
is only possible in earlier SoCs where the pins are exposed and for
the i2s block used for HDMI audio on the later SoCs.
To enable this functionality, an optional property has been added to
the bindings.
From: Marcus Cooper
Bypass the regmap cache when flushing the i2s FIFOs and modify the tables
to reflect this.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 29 +
1 file changed, 9 insertions(+), 20 deletions(-)
diff --git a/sound/soc/sunxi/sun4i-i
From: Marcus Cooper
On the newer SoCs this is set by default to transfer a 0 after
each sample in each slot. However the platform that this driver
was developed on had the default setting where it padded the
audio gain with zeros. This isn't a problem whilst we have only
support for 16bit audio b
From: Marcus Cooper
Some codecs require a different amount of a bit clocks per frame than
what is calculated by the sample width. Use the tdm slot bindings to
provide this mechanism.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 22 --
1 file changed, 20 in
From: Marcus Cooper
Extend the functionality of the driver to include support of 20 and
24 bits per sample for the earlier SoCs.
Newer SoCs can also handle 32bit samples.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 34 +++---
1 file changed, 31 i
From: Marcus Cooper
Whilst testing the capture functionality of the i2s on the newer
SoCs it was noticed that the recording was somewhat distorted.
This was due to the offset not being set correctly on the receiver
side.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 4
1
From: Marcus Cooper
The Allwinner H3 has some differences to its I2S block such as a
different address for the TXFIFO and various register changes.
This patch prepares the driver for these changes.
Signed-off-by: Marcus Cooper
---
sound/soc/sunxi/sun4i-i2s.c | 28 ++--
1 - 100 of 142 matches
Mail list logo