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.
