[PATCH 1/2] ASoC: sunxi: Add bindings for sun6i to SPDIF

2016-07-30 Thread codekipper
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

[PATCH 0/2] ASoC: Extended SPDIF support to Allwinner A31 SoCs

2016-07-30 Thread codekipper
. 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

[PATCH 2/2] ASoC: sunxi: compatibility for sun6i to SPDIF

2016-07-30 Thread codekipper
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

[PATCH v2 0/2] ASoC: Extended SPDIF support to Allwinner A31 SoCs

2016-07-30 Thread codekipper
. 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

[PATCH v2 1/2] ASoC: sunxi: Add bindings for sun6i to SPDIF

2016-07-30 Thread codekipper
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

[PATCH v2 2/2] ASoC: sunxi: compatibility for sun6i to SPDIF

2016-07-30 Thread codekipper
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

[PATCH 1/3] ASoC: sun4i-i2s: Add set_tdm_slot functionality

2018-01-24 Thread codekipper
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

[PATCH 3/3] ASoC: sun4i-i2s: Add regmap field to sign extend sample

2018-01-24 Thread codekipper
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,

[PATCH 0/3] ASoC: sun4i-i2s: Updates to the driver

2018-01-24 Thread codekipper
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

[PATCH 2/3] ASoC: sun4i-i2s: Do not divide clocks when slave

2018-01-24 Thread codekipper
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

[PATCH v2 3/6] ASoC: sun4i-i2s: Correct divider calculations

2018-03-12 Thread codekipper
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(-)

[PATCH v2 6/6] ASoC: sun4i-i2s: Add support for loopback

2018-03-12 Thread codekipper
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 |

[PATCH v2 1/6] ASoC: sun4i-i2s: Add slot width override

2018-03-12 Thread codekipper
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

[PATCH v2 4/6] ASoC: sun4i-i2s: Add multi-lane functionality

2018-03-12 Thread codekipper
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.

[PATCH v2 5/6] ASoc: sun4i-i2s: Add 20, 24 and 32 bit support

2018-03-12 Thread codekipper
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

[PATCH v2 0/6] ASoC: sun4i-i2s: Updates to the driver

2018-03-12 Thread codekipper
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

[PATCH v2 2/6] ASoC: sun4i-i2s: Add regmap field to sign extend sample

2018-03-12 Thread codekipper
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

[PATCH v3 5/9] ASoC: sun4i-i2s: Correct divider calculations

2018-12-21 Thread codekipper
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 --

[PATCH v3 4/9] ASoC: sun4i-i2s: Fix offset mask

2018-12-21 Thread codekipper
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

[PATCH v3 9/9] ASoC: sun4i-i2s: Add multichannel functionality

2018-12-21 Thread codekipper
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

[PATCH v3 0/9] ASoC: sun4i-i2s: Updates to the driver

2018-12-21 Thread codekipper
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

[PATCH v3 1/9] ASoC: sun4i-i2s: Adjust regmap settings

2018-12-21 Thread codekipper
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

[PATCH v3 2/9] ASoC: sun4i-i2s: Add regmap field to sign extend sample

2018-12-21 Thread codekipper
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,

[PATCH v3 6/9] ASoC: sun4i-i2s: Add multi-lane functionality

2018-12-21 Thread codekipper
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.

[PATCH v3 3/9] ASoc: sun4i-i2s: Add 20, 24 and 32 bit support

2018-12-21 Thread codekipper
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

[PATCH v3 7/9] ASoC: sun4i-i2s: Do not divide clocks when slave

2018-12-21 Thread codekipper
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(+),

[PATCH v3 8/9] ASoC: sun4i-i2s: Add set_tdm_slot functionality

2018-12-21 Thread codekipper
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

[PATCH v5 0/2] ASoC: Add SPDIF support for Allwinner SoCs

2016-02-08 Thread codekipper
. 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

[PATCH v5 1/2] dt-bindings: sunxi :add sun4i SPDIF transceiver

2016-02-08 Thread codekipper
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

[PATCH v5 2/2] ASoC: sunxi: Add support for the SPDIF block

2016-02-08 Thread codekipper
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

[PATCH v6 1/2] dt-bindings: sunxi :add sun4i SPDIF transceiver

2016-02-08 Thread codekipper
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

[PATCH v6 0/2] ASoC: Add SPDIF support for Allwinner SoCs

2016-02-08 Thread codekipper
. 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

[PATCH v6 2/2] ASoC: sunxi: Add support for the SPDIF block

2016-02-08 Thread codekipper
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

[PATCH v2 2/4] dt-binding: Add sunxi S/PDIF machine driver

2015-09-30 Thread codekipper
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

[PATCH v2 0/4] Add SPDIF support for Allwinner SoCs

2015-09-30 Thread codekipper
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

[PATCH v2 3/4] ASoC: sunxi: Add S/PDIF machine driver.

2015-09-30 Thread codekipper
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

[PATCH v2 4/4] ASOC: sunxi: Add support for the spdif block

2015-09-30 Thread codekipper
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

[PATCH v2 1/4] dt-bindings: add sunxi SPDIF transceiver bindings

2015-09-30 Thread codekipper
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

[PATCH] ASoC: sun4i-i2s: incorrect regmap for A83t

2019-08-21 Thread codekipper
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

[PATCH v6 0/3] ASoC: sun4i-i2s: Updates to the driver

2019-08-26 Thread codekipper
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

[PATCH v6 1/3] ASoC: sun4i-i2s: incorrect regmap for A83T

2019-08-26 Thread codekipper
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

[PATCH v6 3/3] ASoC: sun4i-i2s: Adjust LRCLK width

2019-08-26 Thread codekipper
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 --

[PATCH v6 2/3] ASoC: sun4i-i2s: Add regmap field to sign extend sample

2019-08-26 Thread codekipper
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

[PATCH v6 7/7] ASoC: sun4i-i2s: Add support for H6 I2S

2019-10-16 Thread codekipper
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

[PATCH v6 1/7] ASoC: sun4i-i2s: Move channel select offset

2019-10-16 Thread codekipper
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

[PATCH v6 2/7] ASoC: sun4i-i2s: Add functions for RX and TX channel offsets

2019-10-16 Thread codekipper
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

[PATCH v6 6/7] dt-bindings: ASoC: sun4i-i2s: Add H6 compatible

2019-10-16 Thread codekipper
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

[PATCH v6 5/7] ASoC: sun4i-i2s: Add functions for RX and TX channel mapping

2019-10-16 Thread codekipper
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

[PATCH v6 0/7] ASoC: sun4i-i2s: Updates to the driver

2019-10-16 Thread codekipper
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

[PATCH v6 3/7] ASoC: sun4i-i2s: Add functions for RX and TX channel enables

2019-10-16 Thread codekipper
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

[PATCH v6 4/7] ASoC: sun4i-i2s: Add functions for RX and TX channel selects

2019-10-16 Thread codekipper
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 ---

[PATCH v5 11/15] ASoC: sun4i-i2s: Add support for H6 I2S

2019-08-13 Thread codekipper
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

[PATCH v5 06/15] ASoC: sun4i-i2s: Add functions for RX and TX channel enables

2019-08-13 Thread codekipper
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

[PATCH v5 08/15] ASoC: sun4i-i2s: Add functions for channel mapping

2019-08-13 Thread codekipper
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

[PATCH v5 15/15] ASoC: sun4i-i2s: Adjust regmap settings

2019-08-13 Thread codekipper
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

[PATCH v5 12/15] ASoC: sun4i-i2s: Add multi-lane functionality

2019-08-13 Thread codekipper
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.

[PATCH v5 14/15] ASoc: sun4i-i2s: Add 20, 24 and 32 bit support

2019-08-13 Thread codekipper
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(+),

[PATCH v5 07/15] ASoC: sun4i-i2s: Add functions for RX and TX channel selects

2019-08-13 Thread codekipper
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 ---

[PATCH v5 09/15] clk: sunxi-ng: h6: Allow I2S to change parent rate

2019-08-13 Thread codekipper
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

[PATCH v5 10/15] dt-bindings: ASoC: sun4i-i2s: Add H6 compatible

2019-08-13 Thread codekipper
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

[PATCH v5 01/15] ASoC: sun4i-i2s: Add regmap field to sign extend sample

2019-08-13 Thread codekipper
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

[PATCH v5 03/15] ASoC: sun4i-i2s: Correct divider calculations

2019-08-13 Thread codekipper
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 --

[PATCH v5 00/15] ASoC: sun4i-i2s: Updates to the driver

2019-08-13 Thread codekipper
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

[PATCH v5 13/15] ASoC: sun4i-i2s: Add multichannel functionality

2019-08-13 Thread codekipper
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

[PATCH v5 04/15] ASoC: sun4i-i2s: Support more formats on newer SoCs

2019-08-13 Thread codekipper
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(+),

[PATCH v5 05/15] ASoC: sun4i-i2s: Add functions for RX and TX channel offsets

2019-08-13 Thread codekipper
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

[PATCH v5 02/15] ASoC: sun4i-i2s: Add set_tdm_slot functionality

2019-08-13 Thread codekipper
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

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

2017-01-19 Thread codekipper
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

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

2017-01-19 Thread codekipper
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/

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

2017-01-19 Thread codekipper
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

[PATCH 1/2] ASoC: sun4i-spdif: remove legacy dapm components

2016-12-20 Thread codekipper
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

[PATCH 2/2] ASoC: sun4i-spdif: Add quirks to the spdif driver

2016-12-20 Thread codekipper
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

[PATCH 0/2] ASoC: sun4i-spdif: Changes in preparation of supporting new SoCs

2016-12-20 Thread codekipper
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

[PATCH] ASoC: sun4i-i2s: Add quirks for newer SoCs

2016-12-20 Thread codekipper
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

[PATCH] ASoC: sun4i-spdif: Add support for the H3 SoC

2017-01-12 Thread codekipper
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/

[PATCH] ASoC: sunxi: Add bindings for sun8i to SPDIF

2017-01-12 Thread codekipper
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

[PATCH v7 2/2] ASoC: sunxi: Add support for the SPDIF block

2016-02-21 Thread codekipper
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

[PATCH v7 1/2] ASoC: sunxi :add sun4i SPDIF dt bindings

2016-02-21 Thread codekipper
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

[PATCH v7 0/2] ASoC: Add SPDIF support for Allwinner SoCs

2016-02-21 Thread codekipper
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

[linux-sunxi][alsa-devel][PATCH 1/3] dt-bindings: add sunxi SPDIF transceiver bindings

2015-09-23 Thread codekipper
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

[linux-sunxi][alsa-devel][PATCH 2/3] dt-binding: Add sunxi SPDIF machine driver

2015-09-23 Thread codekipper
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

[linux-sunxi][alsa-devel][PATCH 0/3]Add SPDIF support for Allwinner SoCs

2015-09-23 Thread codekipper
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

[linux-sunxi][alsa-devel][PATCH 3/3] ASOC: sunxi: Add support for the spdif block

2015-09-24 Thread codekipper
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

[PATCH v3 2/2] ASOC: sunxi: Add support for the SPDIF block

2016-02-02 Thread codekipper
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

[PATCH v3 0/2] Add SPDIF support for Allwinner SoCs

2016-02-02 Thread codekipper
. 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

[PATCH v3 1/2] dt-bindings: add sun4i SPDIF transceiver bindings

2016-02-02 Thread codekipper
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

[PATCH v4 0/2] ASoC: Add SPDIF support for Allwinner SoCs

2016-02-04 Thread codekipper
. 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

[PATCH v4 2/2] ASoC: sunxi: Add support for the SPDIF block

2016-02-04 Thread codekipper
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

[PATCH v4 1/2] dt-bindings: sunxi :add sun4i SPDIF transceiver

2016-02-04 Thread codekipper
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

[PATCH v4 0/9]ASoC: sun4i-i2s: Updates to the driver

2019-06-03 Thread codekipper
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

[PATCH v4 1/9] ASoC: sun4i-i2s: Fix sun8i tx channel offset mask

2019-06-03 Thread codekipper
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

[PATCH v4 4/9] ASoC: sun4i-i2s: Reduce quirks for sun8i-h3

2019-06-03 Thread codekipper
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

[PATCH v4 7/9] ASoC: sun4i-i2s: Add multichannel functionality

2019-06-03 Thread codekipper
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

[PATCH v4 6/9] ASoC: sun4i-i2s: Add multi-lane functionality

2019-06-03 Thread codekipper
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.

[PATCH v4 9/9] ASoC: sun4i-i2s: Adjust regmap settings

2019-06-03 Thread codekipper
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

[PATCH v4 3/9] ASoC: sun4i-i2s: Add regmap field to sign extend sample

2019-06-03 Thread codekipper
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

[PATCH v4 5/9] ASoC: sun4i-i2s: Add set_tdm_slot functionality

2019-06-03 Thread codekipper
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

[PATCH v4 8/9] ASoc: sun4i-i2s: Add 20, 24 and 32 bit support

2019-06-03 Thread codekipper
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

[PATCH v4 2/9] ASoC: sun4i-i2s: Add offset to RX channel select

2019-06-03 Thread codekipper
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

[PATCH 1/3] ASoC: sun4i-i2s: Add more quirks for newer SoCs

2017-07-05 Thread codekipper
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   2   >