Hi experts,
I'm able to get the playback work with TLV320AIC3x for AT91SAMA5D34
board, but capture seems to be not working on testing with "arecord".The
hw_params for snd-soc are based on this link,
http://mailman.alsa-project.org/pipermail/alsa-devel/2011-March/038253.html
We would like to know what are the configuration settings required
for TLV320AIC3X. Help us on finding where the issue is lying.
Please find the attachment for Kernel log, amixer and tlv320aic3x
register settings along with this mail.
root@(none):~# arecord -c 1 -d 10 -r 44100 -f S16_LE -t wav hello.wav atmel_ssc_startup: SSC_SR=0x0 Recording WAVE 'hello.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono KDBG: In soc_pcm_hw_params KDBG: In sama5d3_hw_params KDBG: Set Codec DAI configuration KDBG: Set Cpu DAI configuration KDBG: Audio parameters : rate = ac44 channels = 1 formats= 2 KDBG: Found audio parameters KDBG: TLV320AIC3X CLKGEN Control Register: 2 KDBG: In aic3x_hw_params KDBG: tlv320aic3x register values: KDBG: Audio overflow status & PLL_R programming register 1 KDBG: AIC3X_STICKY_IRQ_FLAGS_REG 0 KDBG: AIC3X_RT_IRQ_FLAGS_REG 0 KDBG: AIC3X_GPIO1_REG 0 KDBG: AIC3X_GPIO2_REG 0 KDBG: AIC3X_GPIOA_REG 0 KDBG: 101-AIC3X_GPIOB_REG 0 KDBG: 102-AIC3X_CLKGEN_CTRL_REG 2 KDBG: 3-AIC3X_PLL_PROGA_REG 91 KDBG: 13-AIC3X_HEADSET_DETECT_CTRL_A 0 KDBG: 14-AIC3X_HEADSET_DETECT_CTRL_B 0 KDBG: ADC PGA control registers -> KDBG: 15-LADC_VOL 77 KDBG: 16-RADC_VOL 77 KDBG: MIC Control registers KDBG: 17-MIC3LR_2_LADC_CTRL ff KDBG: 18-MIC3LR_2_RADC_CTRL ff KDBG: Line1L Input Control Registers-> KDBG: 19-LINE1L_2_LADC_CTRL 0 KDBG: 21-LINE1R_2_LADC_CTRL 0 KDBG: 22-LINE1R_2_RADC_CTRL 0 KDBG: 24-LINE1L_2_RADC_CTRL 0 KDBG: 25-Mic Bias control MICBIAS_CTRL 0 KDBG: 26-LAGC_CTRL_A 0 KDBG: 36-ADC Flag register 0 KDBG: 108-PASSIVE_BYPASS 11 KDBG: tlv320aic3x register values: KDBG: Audio overflow status & PLL_R programming register 1 KDBG: AIC3X_STICKY_IRQ_FLAGS_REG 0 KDBG: AIC3X_RT_IRQ_FLAGS_REG 0 KDBG: AIC3X_GPIO1_REG 0 KDBG: AIC3X_GPIO2_REG 0 KDBG: AIC3X_GPIOA_REG 0 KDBG: 101-AIC3X_GPIOB_REG 0 KDBG: 3-AIC3X_PLL_PROGA_REG 91 KDBG: 13-AIC3X_HEADSET_DETECT_CTRL_A 0 KDBG: 14-AIC3X_HEADSET_DETECT_CTRL_B 0 KDBG: ADC PGA control registers -> KDBG: 15-LADC_VOL 77 KDBG: 16-RADC_VOL 77 KDBG: MIC Control registers KDBG: 17-MIC3LR_2_LADC_CTRL ff KDBG: 18-MIC3LR_2_RADC_CTRL ff KDBG: Line1L Input Control Registers-> KDBG: 19-LINE1L_2_LADC_CTRL 0 KDBG: 21-LINE1R_2_LADC_CTRL 0 KDBG: 22-LINE1R_2_RADC_CTRL 0 KDBG: 24-LINE1L_2_RADC_CTRL 0 KDBG: 25-Mic Bias control MICBIAS_CTRL 0 KDBG: 26-LAGC_CTRL_A 0 KDBG: 36-ADC Flag register 0 KDBG: 102-AIC3X_CLKGEN_CTRL_REG 2 KDBG: 108-PASSIVE_BYPASS 11 KDBG: 108-PASSIVE_BYPASS 11 atmel_ssc_hw_params: RCMR=1a010424 RFMR=001f008f TCMR=1a010404 TFMR=001f008f atmel_ssc_dai: Starting clock atmel_ssc_dai,hw_params: SSC initialized KDBG: In atmel_pcm_hw_params receive enabled SSC_SR=0x00020c00 ^CAbortatmel_ssc_shutdown: receive disabled SSC_SR=0x00020830 eatmel_ssc_dau: Stopping clock d by signal Interrupt... root@(none):~# arecord -c 1 -d 10 -r 44100 -vv -f S16_LE -t wav hello1.wav atmel_ssc_startup: SSC_SR=0x0 Recording WAVE 'hello1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono KDBG: In soc_pcm_hw_params KDBG: In sama5d3_hw_params KDBG: Set Codec DAI configuration KDBG: Set Cpu DAI configuration KDBG: Audio parameters : rate = ac44 channels = 1 formats= 2 KDBG: Found audio parameters KDBG: TLV320AIC3X CLKGEN Control Register: 2 KDBG: In aic3x_hw_params KDBG: tlv320aic3x register values: KDBG: Audio overflow status & PLL_R programming register 1 KDBG: AIC3X_STICKY_IRQ_FLAGS_REG 0 KDBG: AIC3X_RT_IRQ_FLAGS_REG 0 KDBG: AIC3X_GPIO1_REG 0 KDBG: AIC3X_GPIO2_REG 0 KDBG: AIC3X_GPIOA_REG 0 KDBG: 101-AIC3X_GPIOB_REG 0 KDBG: 102-AIC3X_CLKGEN_CTRL_REG 2 KDBG: 3-AIC3X_PLL_PROGA_REG 91 KDBG: 13-AIC3X_HEADSET_DETECT_CTRL_A 0 KDBG: 14-AIC3X_HEADSET_DETECT_CTRL_B 0 KDBG: ADC PGA control registers -> KDBG: 15-LADC_VOL 77 KDBG: 16-RADC_VOL 77 KDBG: MIC Control registers KDBG: 17-MIC3LR_2_LADC_CTRL ff KDBG: 18-MIC3LR_2_RADC_CTRL ff KDBG: Line1L Input Control Registers-> KDBG: 19-LINE1L_2_LADC_CTRL 0 KDBG: 21-LINE1R_2_LADC_CTRL 0 KDBG: 22-LINE1R_2_RADC_CTRL 0 KDBG: 24-LINE1L_2_RADC_CTRL 0 KDBG: 25-Mic Bias control MICBIAS_CTRL 0 KDBG: 26-LAGC_CTRL_A 0 KDBG: 36-ADC Flag register 0 KDBG: 108-PASSIVE_BYPASS 11 KDBG: tlv320aic3x register values: KDBG: Audio overflow status & PLL_R programming register 1 KDBG: AIC3X_STICKY_IRQ_FLAGS_REG 0 KDBG: AIC3X_RT_IRQ_FLAGS_REG 0 KDBG: AIC3X_GPIO1_REG 0 KDBG: AIC3X_GPIO2_REG 0 KDBG: AIC3X_GPIOA_REG 0 KDBG: 101-AIC3X_GPIOB_REG 0 KDBG: 3-AIC3X_PLL_PROGA_REG 91 KDBG: 13-AIC3X_HEADSET_DETECT_CTRL_A 0 KDBG: 14-AIC3X_HEADSET_DETECT_CTRL_B 0 KDBG: ADC PGA control registers -> KDBG: 15-LADC_VOL 77 KDBG: 16-RADC_VOL 77 KDBG: MIC Control registers KDBG: 17-MIC3LR_2_LADC_CTRL ff KDBG: 18-MIC3LR_2_RADC_CTRL ff KDBG: Line1L Input Control Registers-> KDBG: 19-LINE1L_2_LADC_CTRL 0 KDBG: 21-LINE1R_2_LADC_CTRL 0 KDBG: 22-LINE1R_2_RADC_CTRL 0 KDBG: 24-LINE1L_2_RADC_CTRL 0 KDBG: 25-Mic Bias control MICBIAS_CTRL 0 KDBG: 26-LAGC_CTRL_A 0 KDBG: 36-ADC Flag register 0 KDBG: 102-AIC3X_CLKGEN_CTRL_REG 2 KDBG: 108-PASSIVE_BYPASS 11 KDBG: 108-PASSIVE_BYPASS 11 atmel_ssc_hw_params: RCMR=1a010424 RFMR=001f008f TCMR=1a010404 TFMR=001f008f atmel_ssc_dai: Starting clock atmel_ssc_dai,hw_params: SSC initialized KDBG: In atmel_pcm_hw_params receive enabled SSC_SR=0x00020c00 Plug PCM: Hardware PCM card 0 'tlv320aic3x @ SAMA5D3' device 0 subdevice 0 Its setup is: stream : CAPTURE access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 1 rate : 44100 exact rate : 44100 (44100/1) msbits : 16 buffer_size : 32768 period_size : 4096 period_time : 92879 tstamp_mode : NONE period_step : 1 avail_min : 4096 period_event : 0 start_threshold : 1 stop_threshold : 32768 silence_threshold: 0 silence_size : 0 boundary : 1073741824 appl_ptr : 0 hw_ptr : 0 #+ atmel_ssc_shutdown: receive disabled SSC_SR=0x00020830 atmel_ssc_dau: Stopping clock | 00%
amixer -c 0 contents numid=1,iface=MIXER,name='PCM Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0 : values=127,127 | dBscale-min=-63.50dB,step=0.50dB,mute=0 numid=22,iface=MIXER,name='Line DAC Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=20,iface=MIXER,name='Line Line2 Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=118,118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=21,iface=MIXER,name='Line PGA Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=118,118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=32,iface=MIXER,name='Line Playback Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=25,iface=MIXER,name='Mono DAC Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=23,iface=MIXER,name='Mono Line2 Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=118,118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=73,iface=MIXER,name='Mono Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=76,iface=MIXER,name='Mono Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=71,iface=MIXER,name='Mono Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=74,iface=MIXER,name='Mono Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=72,iface=MIXER,name='Mono Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=75,iface=MIXER,name='Mono Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=24,iface=MIXER,name='Mono PGA Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=118,118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=33,iface=MIXER,name='Mono Playback Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=46,iface=MIXER,name='ADC HPF Cut-off' ; type=ENUMERATED,access=rw------,values=2,items=4 ; Item #0 'Disabled' ; Item #1 '0.0045xFs' ; Item #2 '0.0125xFs' ; Item #3 '0.025xFs' : values=0,0 numid=36,iface=MIXER,name='AGC Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=43,iface=MIXER,name='De-emphasis Switch' ; type=BOOLEAN,access=rw------,values=2 : values=off,off numid=28,iface=MIXER,name='HP DAC Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=26,iface=MIXER,name='HP Line2 Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=118,118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=27,iface=MIXER,name='HP PGA Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=118,118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=34,iface=MIXER,name='HP Playback Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=31,iface=MIXER,name='HPCOM DAC Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=71,71 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=29,iface=MIXER,name='HPCOM Line2 Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=118,118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=30,iface=MIXER,name='HPCOM PGA Bypass Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=118,step=0 : values=118,118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=35,iface=MIXER,name='HPCOM Playback Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=39,iface=MIXER,name='Left AGC Attack time' ; type=ENUMERATED,access=rw------,values=1,items=4 ; Item #0 '8ms' ; Item #1 '11ms' ; Item #2 '16ms' ; Item #3 '20ms' : values=0 numid=41,iface=MIXER,name='Left AGC Decay time' ; type=ENUMERATED,access=rw------,values=1,items=4 ; Item #0 '100ms' ; Item #1 '200ms' ; Item #2 '400ms' ; Item #3 '500ms' : values=0 numid=37,iface=MIXER,name='Left AGC Target level' ; type=ENUMERATED,access=rw------,values=1,items=8 ; Item #0 '-5.5dB' ; Item #1 '-8dB' ; Item #2 '-10dB' ; Item #3 '-12dB' ; Item #4 '-14dB' ; Item #5 '-17dB' ; Item #6 '-20dB' ; Item #7 '-24dB' : values=0 numid=108,iface=MIXER,name='Left DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_L1' ; Item #1 'DAC_L3' ; Item #2 'DAC_L2' : values=0 numid=67,iface=MIXER,name='Left HP Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=10,iface=MIXER,name='Left HP Mixer DACR1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=70,iface=MIXER,name='Left HP Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=65,iface=MIXER,name='Left HP Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=68,iface=MIXER,name='Left HP Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=8,iface=MIXER,name='Left HP Mixer Line2R Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=66,iface=MIXER,name='Left HP Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=69,iface=MIXER,name='Left HP Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=9,iface=MIXER,name='Left HP Mixer PGAR Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=55,iface=MIXER,name='Left HPCOM Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=16,iface=MIXER,name='Left HPCOM Mixer DACR1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=58,iface=MIXER,name='Left HPCOM Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=53,iface=MIXER,name='Left HPCOM Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=56,iface=MIXER,name='Left HPCOM Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=14,iface=MIXER,name='Left HPCOM Mixer Line2R Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=54,iface=MIXER,name='Left HPCOM Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=57,iface=MIXER,name='Left HPCOM Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=15,iface=MIXER,name='Left HPCOM Mixer PGAR Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=107,iface=MIXER,name='Left HPCOM Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'differential of HPLOUT' ; Item #1 'constant VCM' ; Item #2 'single-ended' : values=0 numid=85,iface=MIXER,name='Left Line Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=4,iface=MIXER,name='Left Line Mixer DACR1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=88,iface=MIXER,name='Left Line Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=83,iface=MIXER,name='Left Line Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=86,iface=MIXER,name='Left Line Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=2,iface=MIXER,name='Left Line Mixer Line2R Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=84,iface=MIXER,name='Left Line Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=87,iface=MIXER,name='Left Line Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=3,iface=MIXER,name='Left Line Mixer PGAR Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=99,iface=MIXER,name='Left Line1L Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=98,iface=MIXER,name='Left Line1R Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=97,iface=MIXER,name='Left Line2L Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=100,iface=MIXER,name='Left PGA Mixer Line1L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=101,iface=MIXER,name='Left PGA Mixer Line1R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=102,iface=MIXER,name='Left PGA Mixer Line2L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=103,iface=MIXER,name='Left PGA Mixer Mic3L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=104,iface=MIXER,name='Left PGA Mixer Mic3R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=45,iface=MIXER,name='PGA Capture Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on numid=44,iface=MIXER,name='PGA Capture Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=119,step=0 : values=119,119 | dBscale-min=0.00dB,step=0.50dB,mute=0 numid=40,iface=MIXER,name='Right AGC Attack time' ; type=ENUMERATED,access=rw------,values=1,items=4 ; Item #0 '8ms' ; Item #1 '11ms' ; Item #2 '16ms' ; Item #3 '20ms' : values=0 numid=42,iface=MIXER,name='Right AGC Decay time' ; type=ENUMERATED,access=rw------,values=1,items=4 ; Item #0 '100ms' ; Item #1 '200ms' ; Item #2 '400ms' ; Item #3 '500ms' : values=0 numid=38,iface=MIXER,name='Right AGC Target level' ; type=ENUMERATED,access=rw------,values=1,items=8 ; Item #0 '-5.5dB' ; Item #1 '-8dB' ; Item #2 '-10dB' ; Item #3 '-12dB' ; Item #4 '-14dB' ; Item #5 '-17dB' ; Item #6 '-20dB' ; Item #7 '-24dB' : values=0 numid=106,iface=MIXER,name='Right DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_R1' ; Item #1 'DAC_R3' ; Item #2 'DAC_R2' : values=0 numid=13,iface=MIXER,name='Right HP Mixer DACL1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=70 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=61,iface=MIXER,name='Right HP Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=64,iface=MIXER,name='Right HP Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=59,iface=MIXER,name='Right HP Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=11,iface=MIXER,name='Right HP Mixer Line2L Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=117 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=62,iface=MIXER,name='Right HP Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=60,iface=MIXER,name='Right HP Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=12,iface=MIXER,name='Right HP Mixer PGAL Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=63,iface=MIXER,name='Right HP Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=19,iface=MIXER,name='Right HPCOM Mixer DACL1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=49,iface=MIXER,name='Right HPCOM Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=52,iface=MIXER,name='Right HPCOM Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=47,iface=MIXER,name='Right HPCOM Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=17,iface=MIXER,name='Right HPCOM Mixer Line2L Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=50,iface=MIXER,name='Right HPCOM Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=48,iface=MIXER,name='Right HPCOM Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=18,iface=MIXER,name='Right HPCOM Mixer PGAL Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=51,iface=MIXER,name='Right HPCOM Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=105,iface=MIXER,name='Right HPCOM Mux' ; type=ENUMERATED,access=rw------,values=1,items=5 ; Item #0 'differential of HPROUT' ; Item #1 'constant VCM' ; Item #2 'single-ended' ; Item #3 'differential of HPLCOM' ; Item #4 'external feedback' : values=0 numid=7,iface=MIXER,name='Right Line Mixer DACL1 Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=79,iface=MIXER,name='Right Line Mixer DACL1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=82,iface=MIXER,name='Right Line Mixer DACR1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=77,iface=MIXER,name='Right Line Mixer Line2L Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=5,iface=MIXER,name='Right Line Mixer Line2L Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=80,iface=MIXER,name='Right Line Mixer Line2R Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=78,iface=MIXER,name='Right Line Mixer PGAL Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=6,iface=MIXER,name='Right Line Mixer PGAL Bypass Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=118,step=0 : values=118 | dBscale-min=-59.00dB,step=0.50dB,mute=1 numid=81,iface=MIXER,name='Right Line Mixer PGAR Bypass Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=91,iface=MIXER,name='Right Line1L Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=90,iface=MIXER,name='Right Line1R Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=89,iface=MIXER,name='Right Line2R Mux' ; type=ENUMERATED,access=rw------,values=1,items=2 ; Item #0 'single-ended' ; Item #1 'differential' : values=0 numid=93,iface=MIXER,name='Right PGA Mixer Line1L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=92,iface=MIXER,name='Right PGA Mixer Line1R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=94,iface=MIXER,name='Right PGA Mixer Line2R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=95,iface=MIXER,name='Right PGA Mixer Mic3L Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=96,iface=MIXER,name='Right PGA Mixer Mic3R Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off root@(none):~# amixer -c 0 contents
Booting Linux on physical CPU 0 Linux version 3.6.9 (sdivya@ubuntu) (gcc version 4.7.2 20120701 (prerelease) (c3 CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: Atmel SAMA5 (Device Tree), model: Atmel SAMA5D34-EK bootconsole [earlycon0] enabled Memory policy: ECC disabled, Data cache writeback AT91: Detected soc type: sama5d3 AT91: Detected soc subtype: sama5d34 AT91: sram at 0x300000 of 0x20000 mapped at 0xfef58000 KDBG: In at91_dt_initialize Clocks: CPU 528 MHz, master 132 MHz, main 12.000 MHz KDBG: calling at91_boot_soc_init KDBG: end of soc init in at91_dt_initialize Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw ro2 PID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 256MB = 256MB total Memory: 254012k/254012k available, 8132k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xd0800000 - 0xff000000 ( 744 MB) lowmem : 0xc0000000 - 0xd0000000 ( 256 MB) .text : 0xc0008000 - 0xc052c8fc (5267 kB) .init : 0xc052d000 - 0xc0554c0c ( 160 kB) .data : 0xc0556000 - 0xc0588100 ( 201 kB) .bss : 0xc0588124 - 0xc05a1168 ( 101 kB) NR_IRQS:16 nr_irqs:16 16 sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms Console: colour dummy device 80x30 Calibrating delay loop... 262.96 BogoMIPS (lpj=1314816) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok Setting up static identity map for 0x20417df0 - 0x20417e48 devtmpfs: initialized pinctrl core: initialized pinctrl subsystem NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations i2c-core: driver [dummy] registered AT91: error -22 while looking for mb-rev property, let assume we are using the e AT91: Power Management (with slow clock mode) gpio-at91 fffff200.gpio: at address fefff200 gpio-at91 fffff400.gpio: at address fefff400 gpio-at91 fffff600.gpio: at address fefff600 gpio-at91 fffff800.gpio: at address fefff800 gpio-at91 fffffa00.gpio: at address fefffa00 pinctrl-at91 pinctrl.3: initialized AT91 pinctrl driver bio: create slab <bio-0> at 0 at_hdmac ffffe600.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 chas at_hdmac ffffe800.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 chas SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb i2c-core: driver [tca6416-keypad] registered at91_i2c f0014000.i2c: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers at91_i2c f0014000.i2c: AT91 i2c bus driver. at91_i2c f0018000.i2c: using dma0chan2 (tx) and dma0chan3 (rx) for DMA transfers at91_i2c f0018000.i2c: AT91 i2c bus driver. Linux media interface: v0.10 Linux video capture interface: v2.00 Advanced Linux Sound Architecture Driver Version 1.0.25. cfg80211: Calling CRDA to update world regulatory domain Switching to clocksource tcb_clksrc NET: Registered protocol family 2 TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP: reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. jffs2: version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat, Inc. msgmni has been set to 496 NET: Registered protocol family 38 io scheduler noop registered (default) atmel_hlcdfb atmel_hlcdfb_base: 1500KiB frame buffer at 2f000000 (mapped at d08) Console: switching to colour frame buffer device 100x30 atmel_hlcdfb atmel_hlcdfb_base: fb0: Atmel LCDC at 0xf0030000 (mapped at d0a1c06 atmel_hlcdfb atmel_hlcdfb_ovl1: 1500KiB frame buffer at 2f200000 (mapped at d0a) atmel_hlcdfb atmel_hlcdfb_ovl1: fb1: Atmel LCDC at 0xf0030140 (mapped at d0b9a16 atmel_hlcdfb atmel_hlcdfb_ovl2: 1500KiB frame buffer at 2ec00000 (mapped at d0b) atmel_hlcdfb atmel_hlcdfb_ovl2: fb2: Atmel LCDC at 0xf0030240 (mapped at d0d1826 f0020000.serial: ttyS2 at MMIO 0xf0020000 (irq = 24) is a ATMEL_SERIAL ffffee00.serial: ttyS0 at MMIO 0xffffee00 (irq = 36) is a ATMEL_SERIAL console [ttyS0] enabled, bootconsole disabled console [ttyS0] enabled, bootconsole disabled brd: module loaded loop: module loaded ssc f0008000.ssc: Atmel SSC device at 0xd0d20000 (irq 19) at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write i2c-core: driver [at24] registered atmel_nand 60000000.nand: Using NFC atmel_nand: Use On Flash BBT atmel_nand 60000000.nand: Using dma0chan4 for DMA transfers. atmel_nand 60000000.nand: Time out to wait status ready! No NAND device found atmel_spi f0004000.spi: Using dma0chan4 (tx) and dma0chan5 (rx) for DMA transfs atmel_spi f0004000.spi: Atmel SPI Controller at 0xf0004000 (irq 18) atmel_spi f0004000.spi: master is unqueued, this is deprecated m25p80 spi32766.0: found mr25h256, expected at25df321a m25p80 spi32766.0: mr25h256 (32 Kbytes) CAN device driver interface at91_can f000c000.can: device registered (reg_base=d0d1e000, irq=20) at91_can f8010000.can: device registered (reg_base=d0d26000, irq=28) macb f0028000.ethernet: (unregistered net_device): invalid hw address, using ram libphy: MACB_mii_bus: probed macb f0028000.ethernet: eth0: Cadence GEM at 0xf0028000 irq 25 (ea:c6:ac:59:d4:) macb f0028000.ethernet: eth0: attached PHY driver [Generic PHY] (mii_bus:phy_ad) ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver atmel-ehci 700000.ehci: Atmel EHCI UHP HS atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1 atmel-ehci 700000.ehci: irq 44, io mem 0x00700000 atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: Atmel EHCI UHP HS usb usb1: Manufacturer: Linux 3.6.9 ehci_hcd usb usb1: SerialNumber: 700000.ehci hub 1-0:1.0: USB hub found hub 1-0:1.0: 3 ports detected ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver at91_ohci 600000.ohci: AT91 OHCI at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2 at91_ohci 600000.ohci: irq 44, io mem 0x00600000 usb usb2: New USB device found, idVendor=1d6b, idProduct=0001 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: AT91 OHCI usb usb2: Manufacturer: Linux 3.6.9 ohci_hcd usb usb2: SerialNumber: at91 hub 2-0:1.0: USB hub found hub 2-0:1.0: 3 ports detected usbcore: registered new interface driver cdc_acm cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usbcore: registered new interface driver usbserial usbserial: USB Serial Driver core atmel_usba_udc 500000.gadget: MMIO registers at 0xf8030000 mapped at d0d30000 atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at d2400000 gadget: using random self ethernet address gadget: using random host ethernet address usb0: MAC 2e:b2:fc:3e:ca:a3 usb0: HOST MAC de:86:60:47:ed:4e gadget: Ethernet Gadget, version: Memorial Day 2008 gadget: g_ether ready i2c-core: driver [atmel_mxt_ts] registered atmel_tsadcc f8018000.tsadcc: Master clock is set at: 66000000 Hz atmel_tsadcc f8018000.tsadcc: Prescaler is set at: 109 input: atmel touch screen controller as /devices/ahb.0/apb.1/f8018000.tsadcc/in0 at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0 AT91 Real Time Clock driver. i2c /dev entries driver i2c i2c-0: Added multiplexed i2c bus 2 i2c i2c-0: Added multiplexed i2c bus 3 i2c i2c-0: Added multiplexed i2c bus 4 i2c i2c-0: Added multiplexed i2c bus 5 i2c i2c-0: Added multiplexed i2c bus 6 i2c i2c-0: Added multiplexed i2c bus 7 i2c i2c-0: Added multiplexed i2c bus 8 i2c i2c-0: Added multiplexed i2c bus 9 pca954x 0-0070: registered 8 multiplexed busses for I2C switch pca9548 KDBG: pca954x is probed KDBG: Audio is enabled by writing 20 KDBG: Value read from bus after enabling audio is 20 i2c-core: driver [pca954x] registered i2c-core: driver [ov2640] registered at91sam9x5-video f0030340.lcdheo1: video device registered @ 0xd0d2e340, irq = 6 gspca_main: v2.14.0 registered usbcore: registered new interface driver uvcvideo USB Video Class driver (1.1.1) usbcore: registered new interface driver usbhid usbhid: USB HID core driver i2c-core: driver [tlv320aic3x] registered sama5d3ek-audio sound.5: setting pck0 to 32768Hz usb 1-3: new high-speed USB device number 2 using atmel-ehci sama5d3ek-audio sound.5: tlv320aic3x-hifi <-> f0008000.ssc mapping ok TCP: cubic registered NET: Registered protocol family 10 sit: IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29 lib80211: common routines for IEEE802.11 drivers VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1 at91_rtc fffffeb0.rtc: setting system clock to 2007-01-01 00:37:57 UTC (1167611) atmel_mci f0000000.mmc: version: 0x505 atmel_mci f0000000.mmc: using dma0chan6 for DMA transfers atmel_mci f0000000.mmc: Atmel MCI controller at 0xf0000000 irq 17, 1 slots atmel_mci f8000000.mmc: version: 0x505 atmel_mci f8000000.mmc: using dma1chan0 for DMA transfers usb 1-3: New USB device found, idVendor=0424, idProduct=2513 usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0 atmel_mci f8000000.mmc: Atmel MCI controller at 0xf8000000 irq 27, 1 slots atmel_aes f8038000.aes: version: 0x135 hub 1-3:1.0: USB hub found hub 1-3:1.0: 3 ports detected atmel_aes f8038000.aes: Atmel AES atmel_tdes f803c000.tdes: version: 0x701 mmc0: host does not support reading read-only switch. assuming write-enable. mmc0: new high speed SDHC card at address aaaa mmcblk0: mmc0:aaaa SU04G 3.69 GiB atmel_tdes f803c000.tdes: Atmel DES/TDES atmel_sha f8034000.sha: version: 0x410 mmcblk0: p1 p2 atmel_sha f8034000.sha: Atmel SHA1/SHA256 ALSA device list: #0: tlv320aic3x @ SAMA5D3
Thanks in advance,
Dhiv