I found the problem. The DT Overlay I created used an I2C address of 0x1B
and the default address of the TLV320AIC3106 on the EVM is 0x18. I changed
JMP11 and JMP12 from 3-5 to 1-3 and now everything is working fine.

Regards, 
John

From:  John Syne <[email protected]>
Date:  Tuesday, February 25, 2014 at 9:49 PM
To:  "[email protected]" <[email protected]>
Subject:  BBB connected to TLV320AIC3106EVM

> I¹m connecting up a TLV320AIC3106EVM to the BBB using the connections
> described in the table below. The LTC3603 is a simple switching regulator to
> generate the 1.8V required by the codec core. I¹m having difficulty getting
> this setup to record/play. Here is a description of my setup.
> 
>     
>  BBB TLV320AIC3106EVM LTC3603
>  P9 J17 J16 J15 J5
>  1  GND 4       5  GND     GND
>  3  3V3         9  3V3 2 VOUT_EN
>  5  VDD_5V0         3  +5V     VIN
>  7  SYS_5V0      
>  10  SYS_RESETN     14 RESETN
>  19  I2C2.SCL 16 SCL
>  20  I2C2.SDA 20 SDA
>  25  mcasp0_ahclkx 17 MCLK
>  28  mcasp0_axr2 13 DOUT
>  29  mcasp0_fsx 7 WCLK
>  30  mcasp0_axr0 11 DIN
>  31  mcasp0_aclkx 3 BCLK
>  43  GND 18      
>              7  1V8D     VOUT
> 
> I created a DT Overlay file as follows:
> 
> /*
>  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
>  *
>  * This program is free software; you can redistribute it and/or modify
>  * it under the terms of the GNU General Public License version 2 as
>  * published by the Free Software Foundation.
>  */
> /dts-v1/;
> /plugin/;
> 
> / {
> compatible = "ti,beaglebone-black";
> 
> /* identification */
> part-number = "BB-BONE-AUDI-02";
> version = "00A0", "A0";
> 
> /* state the resources this cape uses */
> exclusive-use =
> /* the pin header uses */
> "P9.25", /* mcasp0: mcasp0_ahclkx */
> "P9.28", /* mcasp0: mcasp0_axr2 */
> "P9.29", /* mcasp0: mcasp0_fsx */
> "P9.30", /* mcasp0: mcasp0_axr0 */
> "P9.31", /* mcasp0: mcasp0_aclkx */
> /* the hardware ip uses */
> "mcasp0";
> 
> fragment@0 {
> target = <&am33xx_pinmux>;
> __overlay__ {
> 
> bone_audio_cape_audio_pins: pinmux_bone_audio_cape_audio_pins {
> pinctrl-single,pins = <
> 0x1ac 0x20 /* mcasp0_ahclkx, INPUT | MODE0 */
> 0x19c 0x22 /* mcasp0_axr2, INPUT | MODE2 */
> 0x194 0x20 /* mcasp0_fsx, INPUT | MODE0 */
> 0x198 0x00 /* mcasp0_axr0, OUTPUT | MODE0 */
> 0x190 0x20 /* mcasp0_aclkx, INPUT | MODE0 */
>> >;
> };
> };
> };
> 
> fragment@1 {
> target = <&i2c2>;
> __overlay__ {
> #address-cells = <1>;
> #size-cells = <0>;
> 
> tlv320aic3x: tlv320aic3x@1b {
> compatible = "ti,tlv320aic3x";
> reg = <0x1b>;
> status = "okay";
> };
> };
> };
> 
> fragment@2 {
> target = <&mcasp0>;
> __overlay__ {
> pinctrl-names = "default";
> pinctrl-0 = <&bone_audio_cape_audio_pins>;
> 
> status = "okay";
> 
> op-mode = <0>;          /* MCASP_IIS_MODE */
> tdm-slots = <2>;
> num-serializer = <16>;
> serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
> 0 0 2 1
> 0 0 0 0
> 0 0 0 0
> 0 0 0 0
>> >;
> tx-num-evt = <1>;
> rx-num-evt = <1>;
> };
> };
> 
> fragment@3 {
> target = <&ocp>;
> __overlay__ {
> sound {
> compatible = "ti,da830-evm-audio";
> ti,model = "DA830 EVM";
> ti,audio-codec = <&tlv320aic3x>;
> ti,mcasp-controller = <&mcasp0>;
> ti,codec-clock-rate = <12000000>;
> ti,audio-routing =
> "Headphone Jack",       "HPLOUT",
> "Headphone Jack",       "HPROUT",
> "Line Out",             "LLOUT",
> "Line Out",             "RLOUT",
> "MIC3L",                "Mic Bias 2V",
> "MIC3R",                "Mic Bias 2V",
> "Mic Bias 2V",          "Mic Jack",
> "LINE1L",               "Line In",
> "LINE2L",               "Line In",
> "LINE1R",               "Line In",
> "LINE2R",               "Line In";
> };
> };
> 
> };
> };
> 
> I installed the DT Overlay as follows:
> 
> root@arm:~# export SLOTS=/sys/devices/bone_capemgr.9/slots
> root@arm:~# echo BB-BONE-AUDI-02 > $SLOTS
> [  135.754365] bone-capemgr bone_capemgr.9: part_number 'BB-BONE-AUDI-02',
> version 'N/A'
> [  135.762656] bone-capemgr bone_capemgr.9: slot #7: generic override
> [  135.769128] bone-capemgr bone_capemgr.9: bone: Using override eeprom data
> at slot 7
> [  135.777138] bone-capemgr bone_capemgr.9: slot #7: 'Override Board
> Name,00A0,Override Manuf,BB-BONE-AUDI-02'
> [  135.787412] bone-capemgr bone_capemgr.9: slot #7: Requesting part
> number/version based 'BB-BONE-AUDI-02-00A0.dtbo
> [  135.798164] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware
> 'BB-BONE-AUDI-02-00A0.dtbo' for board-name 'Override Board Name', version
> '00A0'
> [  135.815726] bone-capemgr bone_capemgr.9: slot #7: dtbo
> 'BB-BONE-AUDI-02-00A0.dtbo' loaded;converting to live tree
> [  135.826979] bone-capemgr bone_capemgr.9: slot #7: #4 overlays
> [  135.855146] 1-001b supply IOVDD not found, using dummy regulator
> [  135.861527] 1-001b supply DVDD not found, using dummy regulator
> [  135.867774] 1-001b supply AVDD not found, using dummy regulator
> [  135.874006] 1-001b supply DRVDD not found, using dummy regulator
> [  135.886504] davinci_evm sound.13:  tlv320aic3x-hifi <-> 48038000.mcasp
> mapping ok
> [  135.910330] bone-capemgr bone_capemgr.9: slot #7: Applied #4 overlays.
> 
> Which seems to have installed successfully. To confirm:
> 
> root@arm:~# cat /proc/asound/devices
>   2: [ 0- 0]: digital audio playback
>   3: [ 0- 0]: digital audio capture
>   4: [ 0]   : control
>  33:        : timer
> root@arm:~# aplay -L
> null
>     Discard all samples (playback) or generate zero samples (capture)
> default:CARD=EVM
>     DA830 EVM, 
>     Default Audio Device
> sysdefault:CARD=EVM
>     DA830 EVM, 
>     Default Audio Device
> root@arm:~# aplay -l
> **** List of PLAYBACK Hardware Devices ****
> card 0: EVM [DA830 EVM], device 0: AIC3X tlv320aic3x-hifi-0 []
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> 
> Now I try to play a wav file as follows:
> 
> root@arm:~# aplay /home/linuxcnc/beepbeep.wav
> Playing WAVE '/home/linuxcnc/beepbeep.wav' : Unsigned 8 bit, Rate 8000 Hz,
> Mono
> 
> I don¹t hear any sound.
> 
> When I check dmesg, I see the following error:
> 
> root@arm:~# dmesg -c
> [  304.856905] ALSA sound/core/pcm_native.c:1531 playback drain error (DMA or
> IRQ trouble?)
> 
> Does anyone have any suggestions on what might be wrong. Clearly I have to
> setup the codec using amixer, but I haven¹t seen any consistent documentation
> to show how this might be done.
> 
> Anyone have any suggestions?
> 
> Regards,
> John 
> 
> 
> 

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to