We have a new board design based on the AM335x EVM. We're using the TLV320DAC3100 codec connected to McASP1 of the AM3356 CPU and using clkout1 as the MCLK input to the codec.
I know it's connected correctly because the TI demo app in sitara-hw-apps-evmskam335x-diag.zip works and it plays sound. I've used the driver in sound/soc/codecs/tlv320aic3x.c file in our 3.2 Linux kernel and have muxed the McASP1 and clkout1 pins in the arch/arm/mach-omap2/board-am335xevm.c file.
The driver seems to install using the i2c interface and address 0x1b (although the datasheet said it is 0x18).
#
# ls /dev/snd/
by-path controlC0 pcmC0D0c pcmC0D0p timer
# cat /proc/asound/card0/pcm0p/info
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: AIC3X tlv320aic3x-hifi-0
name:
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1
# ls /sys/bus/i2c/devices/
2-001b i2c-2
# ls /sys/bus/i2c/devices/2-001b/
driver microamps_requested_2-001b-IOVDD subsystem
microamps_requested_2-001b-AVDD modalias uevent
microamps_requested_2-001b-DRVDD name
microamps_requested_2-001b-DVDD power
# ls /sys/bus/i2c/drivers
at24 ir-kbd-i2c lm75 tlv320aic3x-codec tps65910 twl
dummy lis3lv02d_i2c tlc59108 tps65217 tsl2550
I got the alsa utils and lib, and then copied some wav files from ti-sdk-am335x-evm-06.00.00.00 to my fs and then tried to play audio with aplay, but there's nothing at all coming out or playing. Common amixer commands I've found on this forum also don't seem to be recognised.
# aplay -f cd Noise.wav
Playing WAVE 'Noise.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
I have probed the MCLK and can see that there's a 24MHz clock present. However, when I try to play audio with aplay neither DIN, WCLK nor BCLK have any signal present.
Am I missing some amixer setup to play audio?