[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

[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 ---

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

2015-09-30 Thread codekipper
clock patches which will be 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 i

[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(+)

[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

[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

[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(+)

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

2015-09-23 Thread codekipper
clock patches which will be 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

[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 ---

[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

[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

[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

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

2016-02-04 Thread codekipper
which will be 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 --- Changes since v3: - removed code required for

[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

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

2016-02-08 Thread codekipper
which will be 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 --- Changes since v4: - corrected indentation issues - r

[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

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

2016-02-08 Thread codekipper
which will be 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 --- Changes since v5: - fixed warning that had s

[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

[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

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

2016-02-02 Thread codekipper
which will be 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 3 of the patch series. It's been quite a while since v2 a

[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

[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

[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

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

2016-02-21 Thread codekipper
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 v6: - removed legacy dapm components that are no longer needed. - changed dt-bindings patch subject s

[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 +++

[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.

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

2016-07-30 Thread codekipper
clocks and the device tree. 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 bi

[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.

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

2016-07-30 Thread codekipper
clocks and the device tree. 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

[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 +++

[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,

[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

[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

[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

[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,

[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

[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 ---

[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

[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

[PATCH v3 02/12] ASoC: sun4i-i2s: Add clkdiv offsets to quirks

2017-07-29 Thread codekipper
From: Marcus Cooper The BCLKDIV and MCLKDIV found on newer SoCs start from an offset of 1. Add the functionality to adjust the division values according to the needs to the device being used. Signed-off-by: Marcus Cooper ---

[PATCH v3 07/12] ASoC: sun4i-i2s: bclk and lrclk polarity tidyup

2017-07-29 Thread codekipper
From: Marcus Cooper On newer SoCs the bit fields for the blck and lrclk polarity are in a different locations. Use regmap fields to set the polarity bits as intended. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 45

[PATCH v3 12/12] ASoC: sun4i-i2s: Add support for H3

2017-07-29 Thread codekipper
From: Marcus Cooper The sun8i-h3 introduces a lot of changes to the i2s block such as different register locations, extended clock division and more operational modes. As we have to consider the earlier implementation then these changes need to be isolated. Signed-off-by:

[PATCH v3 11/12] ASoC: sun4i-i2s: Update global enable with bitmask

2017-07-29 Thread codekipper
From: Marcus Cooper The default value of the config register is different on newer SoCs and therefore enabling/disabling with a register write will clear bits used to set the direction of the clock and frame pins. Signed-off-by: Marcus Cooper ---

[PATCH v3 09/12] ASoC: sun4i-i2s: Add regmap field to set format

2017-07-29 Thread codekipper
From: Marcus Cooper On the newer SoCs the bits to configure the operational mode are located in a different register. Add a regmap field so that this location can be configured. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 15

[PATCH v3 10/12] ASoC: sun4i-i2s: Check for slave select bit

2017-07-29 Thread codekipper
From: Marcus Cooper The newer SoCs do not have this setting. Instead they set the pin direction. Add a check to see if the bit is valid and if so set it accordingly. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 38

[PATCH v3 00/12] ASoC: Add I2S support for Allwinner H3 SoCs

2017-07-29 Thread codekipper
k Pine 64 connected to the audio DAC board To get i2s working some additional patches are required which will be delivered later. For now they have been pushed here https://github.com/codekipper/linux-sunxi/commits/sunxi-audio-h3 I don't own a A33 device which uses the i2s block for the audio co

[PATCH v3 05/12] ASoC: sun4i-i2s: Add regmap fields for channels

2017-07-29 Thread codekipper
From: Marcus Cooper On the original i2s block the channel mapping and selection were configured for stereo audio by default: This is not the case with the newer SoCs and they are also located at different offsets. To support the newer SoC then regmap fields have been added

[PATCH v3 04/12] ASoC: sun4i-i2s: Add TX FIFO offset to quirks

2017-07-29 Thread codekipper
From: Marcus Cooper It has been seen that the newer SoCs have a different TX FIFO address. Add this to the quirks structure. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-)

[PATCH v3 06/12] ASoC: sun4i-i2s: Add changes for wss and sr

2017-07-29 Thread codekipper
From: Marcus Cooper On newer SoCs the location of the slot width select and sample resolution are different and also there is a bigger range of support. For the current supported rates then an offset is required. Signed-off-by: Marcus Cooper ---

[PATCH v3 08/12] ASoC: sun4i-i2s: Add mclk enable regmap field

2017-07-29 Thread codekipper
From: Marcus Cooper The location of the mclk output enable bit is different on newer SoCs. Use a regmap field to enable it. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 22 +++--- 1 file changed, 19 insertions(+), 3

[PATCH v3 03/12] ASoC: sun4i-i2s: Add regmap config to quirks

2017-07-29 Thread codekipper
From: Marcus Cooper The newer SoCs have a larger range than the original SoC that this driver was developed for. By adding the regmap config to the quirks then the driver can initialise the managed register map correctly. Signed-off-by: Marcus Cooper

[PATCH v3 01/12] ASoC: sun4i-i2s: Extend quirks scope

2017-07-29 Thread codekipper
From: Marcus Cooper In preparation for the changes required to support newer SoCs then quirks has been moved and also added to the device structure. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 22 ++ 1 file

[PATCH v3 08/11] ASoC: sun4i-i2s: Add regmap field to set DAI format

2017-08-12 Thread codekipper
From: Marcus Cooper On the newer SoCs the bits to configure the operational mode are located in a different register. Add a regmap field so that this location can be configured. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 16

[PATCH v3 06/11] ASoC: sun4i-i2s: bclk and lrclk polarity tidyup

2017-08-12 Thread codekipper
From: Marcus Cooper On newer SoCs the bit fields for the blck and lrclk polarity are in a different locations. Use regmap fields to set the polarity bits as intended. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 47

[PATCH v3 10/11] ASoC: sun4i-i2s: Update global enable with bitmask

2017-08-12 Thread codekipper
From: Marcus Cooper The default value of the config register is different on newer SoCs and therefore enabling/disabling with a register write will clear bits used to set the direction of the clock and frame pins. Signed-off-by: Marcus Cooper

[PATCH v3 01/11] ASoC: sun4i-i2s: Add clkdiv offsets to quirks

2017-08-12 Thread codekipper
From: Marcus Cooper The BCLKDIV and MCLKDIV found on newer SoCs start from an offset of 1. Add the functionality to adjust the division values according to the needs to the device being used. Signed-off-by: Marcus Cooper ---

[PATCH v3 09/11] ASoC: sun4i-i2s: Check for slave select bit

2017-08-12 Thread codekipper
From: Marcus Cooper The newer SoCs do not have this setting. Instead they set the pin direction. Add a check to see if the bit is valid and if so set it accordingly. Signed-off-by: Marcus Cooper Reviewed-by: Chen-Yu Tsai ---

[PATCH v3 03/11] ASoC: sun4i-i2s: Add TX FIFO offset to quirks

2017-08-12 Thread codekipper
From: Marcus Cooper It has been seen that the newer SoCs have a different TX FIFO address. Add this to the quirks structure. Signed-off-by: Marcus Cooper Reviewed-by: Chen-Yu Tsai --- sound/soc/sunxi/sun4i-i2s.c | 7 ++- 1 file

[PATCH v3 11/11] ASoC: sun4i-i2s: Add support for H3

2017-08-12 Thread codekipper
From: Marcus Cooper The sun8i-h3 introduces a lot of changes to the i2s block such as different register locations, extended clock division and more operational modes. As we have to consider the earlier implementation then these changes need to be isolated. None of the new

[PATCH v3 05/11] ASoC: sun4i-i2s: Add regfields for word size select and sample resolution

2017-08-12 Thread codekipper
From: Marcus Cooper On newer SoCs the location of the slot width select and sample resolution are different and also there is a bigger range of support. For the current supported rates then an offset is required. Signed-off-by: Marcus Cooper

[PATCH v3 07/11] ASoC: sun4i-i2s: Add mclk enable regmap field

2017-08-12 Thread codekipper
From: Marcus Cooper The location of the mclk output enable bit is different on newer SoCs. Use a regmap field to enable it. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 23 ++- 1 file changed, 18 insertions(+),

[PATCH v3 02/11] ASoC: sun4i-i2s: Add regmap config to quirks

2017-08-12 Thread codekipper
From: Marcus Cooper The newer SoCs have a larger range than the original SoC that this driver was developed for. By adding the regmap config to the quirks then the driver can initialise the managed register map correctly. Signed-off-by: Marcus Cooper

[PATCH v3 00/11] ASoC: Add I2S support for Allwinner H3 SoCs

2017-08-12 Thread codekipper
k Pine 64 connected to the audio DAC board To get i2s working some additional patches are required which will be delivered later. For now they have been pushed here https://github.com/codekipper/linux-sunxi/commits/sunxi-audio-h3 I don't own a A33 device which uses the i2s block for the audio co

[PATCH v3 04/11] ASoC: sun4i-i2s: Add regmap fields for channels

2017-08-12 Thread codekipper
From: Marcus Cooper On the original i2s block the channel mapping and selection were configured for stereo audio by default: This is not the case with the newer SoCs and they are also located at different offsets. To support the newer SoC then regmap fields have been added

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

2017-07-22 Thread codekipper
From: Marcus Cooper In preparation for changing this driver to support newer SoC implementations then where needed there has been a switch from regmap_update_bits to regmap_field. Also included are adjustment variables although they are not set as no adjustment is required

[PATCH v2 2/2] ASoC: sun4i-i2s: Add support for H3

2017-07-22 Thread codekipper
From: Marcus Cooper The sun8i-h3 introduces a lot of changes to the i2s block such as different register locations, extended clock division and more operational modes. As we have to consider the earlier implementation then these changes need to be isolated. Signed-off-by:

[PATCH v2 0/2] ASoC: Add I2S support for Allwinner H3 SoCs

2017-07-22 Thread codekipper
k Pine 64 connected to the audio DAC board To get i2s working some additional patches are required which will be delivered later. For now they have been pushed here https://github.com/codekipper/linux-sunxi/commits/sunxi-audio-h3 I don't own a A33 device which uses the i2s block for the audio co

[PATCH 3/3] ASoC: sun4i-i2s: Add support for H3

2017-07-05 Thread codekipper
From: Marcus Cooper There are a lot of changes to the sun8i-h3 i2s block but not enough to warrant to a new driver. Signed-off-by: Marcus Cooper --- .../devicetree/bindings/sound/sun4i-i2s.txt| 2 + sound/soc/sunxi/sun4i-i2s.c

[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 ---

[PATCH 0/3] ASoC: Add I2S support for Allwinner H3 SoCs

2017-07-05 Thread codekipper
k Pine 64 connected to the audio DAC board To get i2s working some additional patches are required which will be delivered later. For now they have been pushed here https://github.com/codekipper/linux-sunxi/commits/sunxi-audio-h3 Thanks in advance, CK Marcus Cooper (3): ASoC: sun4i-i2s: Ad

[PATCH 2/3] ASoC: sun4i-i2s: Get startup to call set_fmt

2017-07-05 Thread codekipper
From: Marcus Cooper The set_fmt function pointer is called during probing and this is whilst the block is disabled. It is over writing the default register values with the same settings so isn't noticed. This wasn't a problem with the older SoCs but with the desire to reuse

[PATCH v5 4/8] ASoC: sun4i-i2s: Add mclk enable regmap field

2017-08-19 Thread codekipper
From: Marcus Cooper The location of the mclk output enable bit is different on newer SoCs. Use a regmap field to enable it. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 16 ++-- 1 file changed, 14 insertions(+), 2

[PATCH v5 1/8] ASoC: sun4i-i2s: Add regmap fields for channels

2017-08-19 Thread codekipper
From: Marcus Cooper On the original i2s block the channel mapping and selection were configured for stereo audio by default: This is not the case with the newer SoCs and they are also located at different offsets. To support the newer SoC then regmap fields have been added

[PATCH v5 2/8] ASoC: sun4i-i2s: Add regfields for word size select and sample resolution

2017-08-19 Thread codekipper
From: Marcus Cooper On newer SoCs the location of the slot width select and sample resolution are different and also there is a bigger range of support. For the current supported rates then an offset is required. Signed-off-by: Marcus Cooper

[PATCH v5 3/8] ASoC: sun4i-i2s: bclk and lrclk polarity tidyup

2017-08-19 Thread codekipper
From: Marcus Cooper On newer SoCs the bit fields for the blck and lrclk polarity are in a different locations. Use regmap fields to set the polarity bits as intended. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 45

[PATCH v5 5/8] ASoC: sun4i-i2s: Add regmap field to set DAI format

2017-08-19 Thread codekipper
From: Marcus Cooper On the newer SoCs the bits to configure the operational mode are located in a different register. Add a regmap field so that this location can be configured. Signed-off-by: Marcus Cooper --- sound/soc/sunxi/sun4i-i2s.c | 15

[PATCH v5 6/8] ASoC: sun4i-i2s: Check for slave select bit

2017-08-19 Thread codekipper
From: Marcus Cooper The newer SoCs do not have this setting. Instead they set the pin direction. Add a check to see if the bit is valid and if so set it accordingly. Signed-off-by: Marcus Cooper Reviewed-by: Chen-Yu Tsai ---

[PATCH v5 8/8] ASoC: sun4i-i2s: Add support for H3

2017-08-19 Thread codekipper
From: Marcus Cooper The sun8i-h3 introduces a lot of changes to the i2s block such as different register locations, extended clock division and more operational modes. As we have to consider the earlier implementation then these changes need to be isolated. None of the new

[PATCH v5 0/8] ASoC: Add I2S support for Allwinner H3 SoCs

2017-08-19 Thread codekipper
k Pine 64 connected to the audio DAC board To get i2s working some additional patches are required which will be delivered later. For now they have been pushed here https://github.com/codekipper/linux-sunxi/commits/sunxi-audio-h3 I don't own a A33 device which uses the i2s block for the audio co

[PATCH v5 7/8] ASoC: sun4i-i2s: Update global enable with bitmask

2017-08-19 Thread codekipper
From: Marcus Cooper The default value of the config register is different on newer SoCs and therefore enabling/disabling with a register write will clear bits used to set the direction of the clock and frame pins. Signed-off-by: Marcus Cooper

[PATCH 1/2] devicetree: add Itead vendor prefix

2017-05-10 Thread codekipper
From: Marcus Cooper Add the "itead" vendor prefix for ITEAD Intelligent Systems Co.Ltd. Signed-off-by: Marcus Cooper --- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+) diff --git

[PATCH 2/2] devicetree: add Roofull vendor prefix

2017-05-10 Thread codekipper
From: Marcus Cooper Add the "roofull" vendor prefix for Shenzhen Roofull Technology Co, Ltd. Signed-off-by: Marcus Cooper --- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+) diff --git

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

2018-01-24 Thread codekipper
ub.com/codekipper/linux-sunxi/commits/upstream) BR, CK Marcus Cooper (3): ASoC: sun4i-i2s: Add set_tdm_slot functionality ASoC: sun4i-i2s: Do not divide clocks when slave ASoC: sun4i-i2s: Add regmap field to sign extend sample sound/soc/sunxi/sun4i-i2s.c

[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

[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

[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 ---

[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

[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 ---

[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 ---

[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

[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

[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

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

2018-03-12 Thread codekipper
y from using tdm 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 c