diff mbox

[v4,09/10] ARM/dts: am335x-evm: Add audio support for am335x-evm.dts

Message ID 1acef783bb6add9598add8214edd70f15e66e4ad.1381259962.git.jsarha@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jyri Sarha Oct. 8, 2013, 7:36 p.m. UTC
From: Darren Etheridge <detheridge@ti.com>

Adds sound, tlv320aic3106, mcasp1, and am335x_evm_audio_pin nodes.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
---
 arch/arm/boot/dts/am335x-evm.dts |   54 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

Comments

Peter Ujfalusi Oct. 9, 2013, 8:12 a.m. UTC | #1
Hi Jyri,

On 10/08/2013 10:36 PM, Jyri Sarha wrote:
> @@ -407,6 +442,25 @@
>  
>  #include "tps65910.dtsi"
>  
> +&mcasp1 {
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&am335x_evm_audio_pins>;
> +
> +		status = "okay";
> +
> +		op-mode = <0>;          /* MCASP_IIS_MODE */
> +		tdm-slots = <2>;
> +		/* 16 serializer */
> +		serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
> +			0 0 1 2
> +			0 0 0 0
> +			0 0 0 0
> +			0 0 0 0
> +		>;

The McASP on AM335x have only 4 serializers.

> +		tx-num-evt = <1>;
> +		rx-num-evt = <1>;
> +};
> +
>  &tps {
>  	vcc1-supply = <&vbat>;
>  	vcc2-supply = <&vbat>;
>
Jyri Sarha Oct. 18, 2013, 3:37 p.m. UTC | #2
The v4 version of patches can be found here:
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067098.html
The v3 version of patches can be found here:
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066728.html
The v2 version of patches can be found here:
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066379.html
The RFC version of patches can been found here:
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066178.html

Changes since v4
   - Rebased on top of Lunux 3.12-rc5
   - Fix mcasp0 dat address in reg propery. 
     - Comment: http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067116.html
     - Changes: 
       - [PATCH v4 08/10] ARM/dts: am33xx: mcasp: Add location for data port registers to reg-property
   - Fix number of serializers for am335x based boards
     - Comment: http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067113.html
     - Changes:
       - [PATCH v4 09/10] ARM/dts: am335x-evm: Add audio support for am335x-evm.dts
       - [PATCH v4 10/10] ARM/dts: am335x-evmsk: Audio support
   - Change davinci-mcasp compatible property model to a more accurate one
     - Add: [PATCH v5 05/12] arm: omap2plus_defconfig: enable AM33xx SOC EVM audio
     - Changes:
       - [PATCH v4 07/10] ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries
   - Enable AM33xx SOC EVM audio in omap2plus_defconfig
     - Add: [PATCH v5 12/12] arm: omap2plus_defconfig: enable AM33xx SOC EVM audio
   - The patch numbers 5-10 have been shifted to 6-11

Changes since v3
  - Rebased on top of v3.12-rc4
  - Drop already applied patches:
    - [PATCH v2 01/11] ASoC: davinci-evm: Move sysclk logic away from evm_hw_params
    - [PATCH v2 06/11] ASoC: davinci: Add support for AM33xx SoC Audio
    - [PATCH v2 07/11] ASoC: tlv320aic3x: Add regulators to DT bindings document
    - [PATCH v2 08/11] ASoC: tlv320aic3x: Add codec pins to DT bindings document
  - Add: ASoC: davinci: Fix AM33xx SoC Audio support
    - Contains the fixes from Peter:
      http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066448.html
    - Contents of this patch were squashed to "[PATCH v3 06/11] ASoC:
      davinci: Add support for AM33xx SoC Audio", but since the patch v2 was
      already applied the changes are here as a separate patch.
  - Add: ASoC: davinci-mcasp: Remove redundant num-serializer DT parameter
  - Change: ASoC: davinci-mcasp: Add DMA register locations to DT
    to: ASoC: davinci-mcasp: Add location for data port registers to DT
    - Use more accurate name for data port register location
    - Improve commit message
  - Change: ASoC: davinci-mcasp: Interrupts property to optional and add interrupt-names
    to: ASoC: davinci-mcasp: Improve DT bindings document
    - Remove #address-cells and #size-cells
    - Bracket named interrupts tuples
    - Add missing "for" to serial-dir description
    - Improve tdm-slots description
    - Improve op-mode description
    - Add pinctrl-names and pinctrl-0 descriptions
  - Change: ARM/dts: am335x-evm: Add audio support for am335x-evm.dts
    - Use board specific name 'AM335x-EVM' for the soundcard.
    - Use the board specific tlv320aic3106 codec. Use this name instead of generic
      tlv320aic3x.
    - Remove num-serializer property from mcasp node
    - Remove blank lines
  - Change: ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries
    - Bracket all named property tuples
  - Add: ARM/dts: am335x-evmsk: Audio support
  - The other patches in the set not mentioned here are identical to their
    earlier version

Changes since v2
  [PATCH v2 01/11] ASoC: davinci-evm: Move sysclk logic away from evm_hw_params
   - no change
  [PATCH v2 02/11] ASoC: davinci-evm: Add device tree binding
   - no change
  [PATCH v2 03/11] ASoC: davinci-mcasp: Add DMA register locations to DT
   - no change
  [PATCH v2 04/11] ASoC: davinci-mcasp: Extract DMA channels directly from DT
   - no change
  [PATCH v2 05/11] ASoC: davinci-mcasp: Remove interrupt property from DT bindin
   - restore binding but make it optional and add interrupt-names property
  [PATCH v2 06/11] ASoC: davinci: Add support for AM33xx SoC Audio
   - SND_DAVINCI_SOC help "Machine driver for ..." -> "Platform driver for ..."
   - SND_AM33XX_SOC_EVM depends on SND_DAVINCI_SOC && SOC_AM33XX 
   - SND_AM33XX_SOC_EVM does not selcet SND_DAVINCI_SOC
  [PATCH v2 07/11] ASoC: tlv320aic3x: Add regulators to DT bindings document
   - no change
  [PATCH v2 08/11] ASoC: tlv320aic3x: Add codec pins to DT bindings document
   - no change
  [PATCH v2 09/11] ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries
   - restore interrupt property and add interrupt-names property
  [PATCH v2 10/11] ARM/dts: am33xx: mcasp: Add new dma register location to reg-property
   - no change
  [PATCH v2 11/11] ARM/dts: am335x-evm: Add audio support for am335x-evm.dts
   - no change

Changes from RFC to v2
 - Dropped out "ASoC: davinci-mcasp: Add pinctrl support" since
   driver core is taking care of this now.
 - Cleanup am33xx audio build
 - Add regulators to tlv320aic3x DT binding document
 - Remove dm365-voice-codec-audio DT support as it has never
   been tested an probably does not work
 - Add output pins and Line In connector to davinci-evm-audio DT binding doc
 - Remove asp_chan_q and ram_chan_q properties from mcasp DT node
   in DT mode mcasp is hardcoded to event queue 0 (highest priority)
 - Add pins to tlv320aic3x DT bindings document. If I misunderstood
   Marks comment and this patch is not needed, then just leave it out
 Changes based on TI internal discussions
 - Move system clock rate logic away from from evm_hw_params soc-op
 - Remove unnecesary #if defined(CONFIG_OF) from davinci-evm.c
 - Make dma property DT binding document more exact
 - Add only "dma" reg location instead of separate "dma-tx" and "dma-rx"
 - Primarily look for "mpu" reg property, but fall back to index 0 if not found
 - Remove interrupt property from mcasp DT node as it is not used
 - Remove #address-cells and #size-cells mcasp properties as they are not needed

The patch set depends on following patches:

[PATCH v11 4/8] ARM: dts: add AM33XX EDMA support 
     https://lkml.org/lkml/2013/6/18/49

[PATCH v11 5/8] ARM: dts: add AM33XX SPI DMA support
     https://lkml.org/lkml/2013/6/18/55

[PATCH v2 01/11] ASoC: davinci-evm: Move sysclk logic away from evm_hw_params 
     http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066381.html

[PATCH v2 06/11] ASoC: davinci: Add support for AM33xx SoC Audio 
     http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066385.html

This set of patches fixes the basic audio support for am335x-evm and
am335x-evmsk. It should be relatively simple to add the necessary
nodes to relevant dts files to get BeagleBone + AudioCape working too.

I have tried my best not to break the existing support for older
davinci boards, but since I do not have those boards I can not be
sure.

Some commit comments refer to a dmaengine based davinci audio
implementation which is planned for but nothing has been done yet.

Best regards,
Jyri

Darren Etheridge (1):
  ARM/dts: am335x-evm: Add audio support for am335x-evm.dts

Hebbar, Gururaja (1):
  ASoC: davinci-evm: Add device tree binding

Jyri Sarha (7):
  ASoC: davinci: Fix AM33xx SoC Audio support
  ASoC: davinci-mcasp: Add location for data port registers to DT
  ASoC: davinci-mcasp: Extract DMA channels directly from DT
  ASoC: davinci-mcasp: Change compatible property model to more
    accurate
  ASoC: davinci-mcasp: Improve DT bindings document
  ARM/dts: am33xx: mcasp: Add location for data port registers to
    reg-property
  arm: omap2plus_defconfig: enable AM33xx SOC EVM audio

Pantelis Antoniou (1):
  ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries

Peter Ujfalusi (2):
  ASoC: davinci-mcasp: Remove redundant num-serializer DT parameter
  ARM/dts: am335x-evmsk: Audio support

 .../bindings/sound/davinci-evm-audio.txt           |   58 +++++++++
 .../bindings/sound/davinci-mcasp-audio.txt         |   40 ++++--
 arch/arm/boot/dts/am335x-evm.dts                   |   51 ++++++++
 arch/arm/boot/dts/am335x-evmsk.dts                 |   48 ++++++++
 arch/arm/boot/dts/am33xx.dtsi                      |   29 +++++
 arch/arm/configs/omap2plus_defconfig               |    2 +
 include/linux/platform_data/davinci_asp.h          |    2 +
 sound/soc/davinci/Kconfig                          |    4 +-
 sound/soc/davinci/davinci-evm.c                    |  120 +++++++++++++++++-
 sound/soc/davinci/davinci-mcasp.c                  |  130 ++++++++++++--------
 10 files changed, 415 insertions(+), 69 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
Benoit Cousson Oct. 18, 2013, 4:06 p.m. UTC | #3
+ Tony

Hi Jyri,

The DTS part looks fine to me, but does not apply at all on my branch,

Could you rebase it and repost it without the driver part to avoid any 
issue during the driver merge?

Thanks,
Benoit

On 18/10/2013 17:37, Jyri Sarha wrote:
>
> The v4 version of patches can be found here:
> http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067098.html
> The v3 version of patches can be found here:
> http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066728.html
> The v2 version of patches can be found here:
> http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066379.html
> The RFC version of patches can been found here:
> http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066178.html
>
> Changes since v4
>     - Rebased on top of Lunux 3.12-rc5
>     - Fix mcasp0 dat address in reg propery.
>       - Comment: http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067116.html
>       - Changes:
>         - [PATCH v4 08/10] ARM/dts: am33xx: mcasp: Add location for data port registers to reg-property
>     - Fix number of serializers for am335x based boards
>       - Comment: http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067113.html
>       - Changes:
>         - [PATCH v4 09/10] ARM/dts: am335x-evm: Add audio support for am335x-evm.dts
>         - [PATCH v4 10/10] ARM/dts: am335x-evmsk: Audio support
>     - Change davinci-mcasp compatible property model to a more accurate one
>       - Add: [PATCH v5 05/12] arm: omap2plus_defconfig: enable AM33xx SOC EVM audio
>       - Changes:
>         - [PATCH v4 07/10] ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries
>     - Enable AM33xx SOC EVM audio in omap2plus_defconfig
>       - Add: [PATCH v5 12/12] arm: omap2plus_defconfig: enable AM33xx SOC EVM audio
>     - The patch numbers 5-10 have been shifted to 6-11
>
> Changes since v3
>    - Rebased on top of v3.12-rc4
>    - Drop already applied patches:
>      - [PATCH v2 01/11] ASoC: davinci-evm: Move sysclk logic away from evm_hw_params
>      - [PATCH v2 06/11] ASoC: davinci: Add support for AM33xx SoC Audio
>      - [PATCH v2 07/11] ASoC: tlv320aic3x: Add regulators to DT bindings document
>      - [PATCH v2 08/11] ASoC: tlv320aic3x: Add codec pins to DT bindings document
>    - Add: ASoC: davinci: Fix AM33xx SoC Audio support
>      - Contains the fixes from Peter:
>        http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066448.html
>      - Contents of this patch were squashed to "[PATCH v3 06/11] ASoC:
>        davinci: Add support for AM33xx SoC Audio", but since the patch v2 was
>        already applied the changes are here as a separate patch.
>    - Add: ASoC: davinci-mcasp: Remove redundant num-serializer DT parameter
>    - Change: ASoC: davinci-mcasp: Add DMA register locations to DT
>      to: ASoC: davinci-mcasp: Add location for data port registers to DT
>      - Use more accurate name for data port register location
>      - Improve commit message
>    - Change: ASoC: davinci-mcasp: Interrupts property to optional and add interrupt-names
>      to: ASoC: davinci-mcasp: Improve DT bindings document
>      - Remove #address-cells and #size-cells
>      - Bracket named interrupts tuples
>      - Add missing "for" to serial-dir description
>      - Improve tdm-slots description
>      - Improve op-mode description
>      - Add pinctrl-names and pinctrl-0 descriptions
>    - Change: ARM/dts: am335x-evm: Add audio support for am335x-evm.dts
>      - Use board specific name 'AM335x-EVM' for the soundcard.
>      - Use the board specific tlv320aic3106 codec. Use this name instead of generic
>        tlv320aic3x.
>      - Remove num-serializer property from mcasp node
>      - Remove blank lines
>    - Change: ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries
>      - Bracket all named property tuples
>    - Add: ARM/dts: am335x-evmsk: Audio support
>    - The other patches in the set not mentioned here are identical to their
>      earlier version
>
> Changes since v2
>    [PATCH v2 01/11] ASoC: davinci-evm: Move sysclk logic away from evm_hw_params
>     - no change
>    [PATCH v2 02/11] ASoC: davinci-evm: Add device tree binding
>     - no change
>    [PATCH v2 03/11] ASoC: davinci-mcasp: Add DMA register locations to DT
>     - no change
>    [PATCH v2 04/11] ASoC: davinci-mcasp: Extract DMA channels directly from DT
>     - no change
>    [PATCH v2 05/11] ASoC: davinci-mcasp: Remove interrupt property from DT bindin
>     - restore binding but make it optional and add interrupt-names property
>    [PATCH v2 06/11] ASoC: davinci: Add support for AM33xx SoC Audio
>     - SND_DAVINCI_SOC help "Machine driver for ..." -> "Platform driver for ..."
>     - SND_AM33XX_SOC_EVM depends on SND_DAVINCI_SOC && SOC_AM33XX
>     - SND_AM33XX_SOC_EVM does not selcet SND_DAVINCI_SOC
>    [PATCH v2 07/11] ASoC: tlv320aic3x: Add regulators to DT bindings document
>     - no change
>    [PATCH v2 08/11] ASoC: tlv320aic3x: Add codec pins to DT bindings document
>     - no change
>    [PATCH v2 09/11] ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries
>     - restore interrupt property and add interrupt-names property
>    [PATCH v2 10/11] ARM/dts: am33xx: mcasp: Add new dma register location to reg-property
>     - no change
>    [PATCH v2 11/11] ARM/dts: am335x-evm: Add audio support for am335x-evm.dts
>     - no change
>
> Changes from RFC to v2
>   - Dropped out "ASoC: davinci-mcasp: Add pinctrl support" since
>     driver core is taking care of this now.
>   - Cleanup am33xx audio build
>   - Add regulators to tlv320aic3x DT binding document
>   - Remove dm365-voice-codec-audio DT support as it has never
>     been tested an probably does not work
>   - Add output pins and Line In connector to davinci-evm-audio DT binding doc
>   - Remove asp_chan_q and ram_chan_q properties from mcasp DT node
>     in DT mode mcasp is hardcoded to event queue 0 (highest priority)
>   - Add pins to tlv320aic3x DT bindings document. If I misunderstood
>     Marks comment and this patch is not needed, then just leave it out
>   Changes based on TI internal discussions
>   - Move system clock rate logic away from from evm_hw_params soc-op
>   - Remove unnecesary #if defined(CONFIG_OF) from davinci-evm.c
>   - Make dma property DT binding document more exact
>   - Add only "dma" reg location instead of separate "dma-tx" and "dma-rx"
>   - Primarily look for "mpu" reg property, but fall back to index 0 if not found
>   - Remove interrupt property from mcasp DT node as it is not used
>   - Remove #address-cells and #size-cells mcasp properties as they are not needed
>
> The patch set depends on following patches:
>
> [PATCH v11 4/8] ARM: dts: add AM33XX EDMA support
>       https://lkml.org/lkml/2013/6/18/49
>
> [PATCH v11 5/8] ARM: dts: add AM33XX SPI DMA support
>       https://lkml.org/lkml/2013/6/18/55
>
> [PATCH v2 01/11] ASoC: davinci-evm: Move sysclk logic away from evm_hw_params
>       http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066381.html
>
> [PATCH v2 06/11] ASoC: davinci: Add support for AM33xx SoC Audio
>       http://mailman.alsa-project.org/pipermail/alsa-devel/2013-September/066385.html
>
> This set of patches fixes the basic audio support for am335x-evm and
> am335x-evmsk. It should be relatively simple to add the necessary
> nodes to relevant dts files to get BeagleBone + AudioCape working too.
>
> I have tried my best not to break the existing support for older
> davinci boards, but since I do not have those boards I can not be
> sure.
>
> Some commit comments refer to a dmaengine based davinci audio
> implementation which is planned for but nothing has been done yet.
>
> Best regards,
> Jyri
>
> Darren Etheridge (1):
>    ARM/dts: am335x-evm: Add audio support for am335x-evm.dts
>
> Hebbar, Gururaja (1):
>    ASoC: davinci-evm: Add device tree binding
>
> Jyri Sarha (7):
>    ASoC: davinci: Fix AM33xx SoC Audio support
>    ASoC: davinci-mcasp: Add location for data port registers to DT
>    ASoC: davinci-mcasp: Extract DMA channels directly from DT
>    ASoC: davinci-mcasp: Change compatible property model to more
>      accurate
>    ASoC: davinci-mcasp: Improve DT bindings document
>    ARM/dts: am33xx: mcasp: Add location for data port registers to
>      reg-property
>    arm: omap2plus_defconfig: enable AM33xx SOC EVM audio
>
> Pantelis Antoniou (1):
>    ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries
>
> Peter Ujfalusi (2):
>    ASoC: davinci-mcasp: Remove redundant num-serializer DT parameter
>    ARM/dts: am335x-evmsk: Audio support
>
>   .../bindings/sound/davinci-evm-audio.txt           |   58 +++++++++
>   .../bindings/sound/davinci-mcasp-audio.txt         |   40 ++++--
>   arch/arm/boot/dts/am335x-evm.dts                   |   51 ++++++++
>   arch/arm/boot/dts/am335x-evmsk.dts                 |   48 ++++++++
>   arch/arm/boot/dts/am33xx.dtsi                      |   29 +++++
>   arch/arm/configs/omap2plus_defconfig               |    2 +
>   include/linux/platform_data/davinci_asp.h          |    2 +
>   sound/soc/davinci/Kconfig                          |    4 +-
>   sound/soc/davinci/davinci-evm.c                    |  120 +++++++++++++++++-
>   sound/soc/davinci/davinci-mcasp.c                  |  130 ++++++++++++--------
>   10 files changed, 415 insertions(+), 69 deletions(-)
>   create mode 100644 Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
>
Jyri Sarha Oct. 20, 2013, 5:04 p.m. UTC | #4
Hi Benoit,
I rebased the DTS patches on top of 
git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt.git 
for_3.13/dts -branch
and tested the result. Hope that was the right branch.

The DTS patches can also be pulled from:
git://git.ti.com/~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
for_bcousson/for_3.13/dts -branch

The non DTS patches rebased on top of v3.12-rc5 can be pulled from here:
git://git.ti.com/~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
v3.12-rc5-am33xx-audio-patch-v5-no-dts -branch

The the full patch series can be found here:
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067443.html

Best regards,
Jyri

Darren Etheridge (1):
  ARM/dts: am335x-evm: Add audio support for am335x-evm.dts

Jyri Sarha (1):
  ARM/dts: am33xx: mcasp: Add location for data port registers to
    reg-property

Pantelis Antoniou (1):
  ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries

Peter Ujfalusi (1):
  ARM/dts: am335x-evmsk: Audio support

 arch/arm/boot/dts/am335x-evm.dts   |   50 ++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/am335x-evmsk.dts |   48 ++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/am33xx.dtsi      |   28 ++++++++++++++++++++
 3 files changed, 126 insertions(+)
Benoit Cousson Oct. 20, 2013, 5:14 p.m. UTC | #5
Hi Jyri,

On 20/10/2013 19:04, Jyri Sarha wrote:
> Hi Benoit,
> I rebased the DTS patches on top of
> git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt.git
> for_3.13/dts -branch
> and tested the result. Hope that was the right branch.

Yes, thanks for the update.

I've just applied the patches.

Regards,
Benoit

>
> The DTS patches can also be pulled from:
> git://git.ti.com/~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
> for_bcousson/for_3.13/dts -branch
>
> The non DTS patches rebased on top of v3.12-rc5 can be pulled from here:
> git://git.ti.com/~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
> v3.12-rc5-am33xx-audio-patch-v5-no-dts -branch
>
> The the full patch series can be found here:
> http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067443.html
>
> Best regards,
> Jyri
>
> Darren Etheridge (1):
>    ARM/dts: am335x-evm: Add audio support for am335x-evm.dts
>
> Jyri Sarha (1):
>    ARM/dts: am33xx: mcasp: Add location for data port registers to
>      reg-property
>
> Pantelis Antoniou (1):
>    ARM/dts: am33xx: Add mcasp0 and mcasp1 device tree entries
>
> Peter Ujfalusi (1):
>    ARM/dts: am335x-evmsk: Audio support
>
>   arch/arm/boot/dts/am335x-evm.dts   |   50 ++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/am335x-evmsk.dts |   48 ++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/am33xx.dtsi      |   28 ++++++++++++++++++++
>   3 files changed, 126 insertions(+)
>
diff mbox

Patch

diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
index e8ec875..1fbae4c 100644
--- a/arch/arm/boot/dts/am335x-evm.dts
+++ b/arch/arm/boot/dts/am335x-evm.dts
@@ -149,6 +149,16 @@ 
 				0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
 			>;
 		};
+
+		am335x_evm_audio_pins: am335x_evm_audio_pins {
+			pinctrl-single,pins = <
+				0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rx_dv.mcasp1_aclkx */
+				0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_txd3.mcasp1_fsx */
+				0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
+				0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
+			>;
+		};
+
 	};
 
 	ocp {
@@ -244,6 +254,18 @@ 
 				compatible = "ti,tmp275";
 				reg = <0x48>;
 			};
+
+			tlv320aic3106: tlv320aic3106@1b {
+				compatible = "ti,tlv320aic3106";
+				reg = <0x1b>;
+				status = "okay";
+
+				/* Regulators */
+				AVDD-supply = <&vaux2_reg>;
+				IOVDD-supply = <&vaux2_reg>;
+				DRVDD-supply = <&vaux2_reg>;
+				DVDD-supply = <&vbat>;
+			};
 		};
 
 		elm: elm@48080000 {
@@ -340,6 +362,19 @@ 
 				};
 			};
 		};
+
+		sound {
+			compatible = "ti,da830-evm-audio";
+			ti,model = "AM335x-EVM";
+			ti,audio-codec = <&tlv320aic3106>;
+			ti,mcasp-controller = <&mcasp1>;
+			ti,codec-clock-rate = <12000000>;
+			ti,audio-routing =
+				"Headphone Jack",       "HPLOUT",
+				"Headphone Jack",       "HPROUT",
+				"LINE1L",               "Line In",
+				"LINE1R",               "Line In";
+		};
 	};
 
 	vbat: fixedregulator@0 {
@@ -407,6 +442,25 @@ 
 
 #include "tps65910.dtsi"
 
+&mcasp1 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&am335x_evm_audio_pins>;
+
+		status = "okay";
+
+		op-mode = <0>;          /* MCASP_IIS_MODE */
+		tdm-slots = <2>;
+		/* 16 serializer */
+		serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+			0 0 1 2
+			0 0 0 0
+			0 0 0 0
+			0 0 0 0
+		>;
+		tx-num-evt = <1>;
+		rx-num-evt = <1>;
+};
+
 &tps {
 	vcc1-supply = <&vbat>;
 	vcc2-supply = <&vbat>;