Tool/software:
Hi,
I'm trying to get the factory calibration work but it always gives me a zero result:
InitFTCC: dev name: tas2563
smartamp_calib_start, enter
GET_RE:0.000000
tas2563 calibration values:
Dev[0] Re = 0.00 Ohm
Dev[0] rms_pow = 0x00000000
Dev[0] t_limit = 0x00000000
SPK[0] Calibration fail : Re is too low (limit: 6.53).
smartamp_calib_stop: Finish FTC
RE:
0.000000
Setup
- Linux
- Driver from https://git.ti.com/git/tas2781-linux-drivers/tas2781-linux-driver.git
- ftc tool from https://git.ti.com/git/tas2781-linux-drivers/tas2781-ftc.git
Configuration
/lib/firmware/tas2563-a.ftcfg
; TAS2563QFN Factory Test and Calibration Configuration File ; ----------------------------------------------------------------------------- ; PPC3 File: Match EQ hybrid.ppc3 ; TAS2563QFN_Mono version: 3.0.0 ; DDC Name: 12-12 MatchEQhybrid ; Comments: [Write Comments Here] ; FTC Settings FTC_BYPASS = 0 ; Refer to documentation TEST_DELTA_T = 80 ; Delta Temperature Limit during verification phase CALIBRATION_TIME = 2000 ; Duration (in ms) of calibration phase VERIFICATION_TIME = 4000 ; Duration (in ms) of the verification phase CONFIGURATION = 0 ; Refer to documentation CONFIGURATION_CALIBRATION = 1 ; Refer to documentation DEV_ADDR = 4f ; I2C slave write addr (in hex) for device A ; Pass/Fail Limits RE_HI = 7.975 RE_LO = 6.525 F0_HI = 924 F0_LO = 616 Q_HI = 1.704 Q_LO = 1.136 T_HI = 40 T_LO = 0 ; Obtained from Speaker Manufacturer SPK_T_MAX = 100 ; Speaker Maximum Temperature (C) SPK_RE_TOL_PER = 10 ; Re +/- tolerance (%) ; Obtained from PurePath Console 3 (PPC3) PPC3_RE0 = 3.71 ; Re0 (ohm) PPC3_FWARP = 135 ; CMWF (Hz) PPC3_BL = 2.075 ; Bl (Tm) PPC3_MMS = 1.5105 ; Mms (g) PPC3_RTV = 18.3 ; Rtv (K/W) PPC3_RTM = 5 ; Rtm (K/W) PPC3_RTVA = 12 ; Rtva (K/W) PPC3_SYSGAIN = 8.92 ; System Gain (V/FS) PPC3_DEV_NONLIN_PER = 1.5 ; Device Non-linearity (%) PPC3_DELTA_T_LIMIT = 80 ; Delta Thermal Limit (C) PPC3_PIG = 2 ; Refer to documentation PPC3_RE_ALPHA = 0.0033 ; Temperature coefficient alpha (1/K) FS_RATE = 48000 ; TAS2563QFN Sample Rate ; Calibration parameters locations (Book,Page,Offset,CoeffLength) umg_SsmKEGCye = 0x00,0x0d,0x3c,0x01 iks_E0 = 0x00,0x0f,0x34,0x01 yep_LsqM0 = 0x00,0x0f,0x40,0x01 mcb_ZwiNgmaj = 0x00,0x0f,0x44,0x01 oyz_U0_ujx = 0x00,0x0f,0x48,0x01 kgd_OEldlc = 0x00,0x10,0x14,0x01
Schematics
Regbin
amixer contents
numid=25,iface=MIXER,name='Configuration' ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0 : values=1 numid=2,iface=MIXER,name='DMIC High Pass Filter1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=3,iface=MIXER,name='DMIC High Pass Filter2 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=4,iface=MIXER,name='DMIC Low Pass Filter Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=5,iface=MIXER,name='DMIC SW_LR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=1,iface=MIXER,name='DMIC Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0 : values=15 | dBscale-min=0.00dB,step=3.00dB,mute=0 numid=9,iface=MIXER,name='LO0_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=9 numid=19,iface=MIXER,name='LO10_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=0 numid=20,iface=MIXER,name='LO11_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=0 numid=10,iface=MIXER,name='LO1_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=10 numid=11,iface=MIXER,name='LO2_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=0 numid=12,iface=MIXER,name='LO3_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=0 numid=13,iface=MIXER,name='LO4_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=0 numid=14,iface=MIXER,name='LO5_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=1 numid=15,iface=MIXER,name='LO6_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=0 numid=16,iface=MIXER,name='LO7_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=0 numid=17,iface=MIXER,name='LO8_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=0 numid=18,iface=MIXER,name='LO9_MUX' ; type=ENUMERATED,access=rw------,values=1,items=17 ; Item #0 'UNUSED' ; Item #1 'LI0' ; Item #2 'LI1' ; Item #3 'LI2' ; Item #4 'LI3' ; Item #5 'LI4' ; Item #6 'LI5' ; Item #7 'LI6' ; Item #8 'LI7' ; Item #9 'LI8' ; Item #10 'LI9' ; Item #11 'LI10' ; Item #12 'LI11' ; Item #13 'LI12' ; Item #14 'LI13' ; Item #15 'LI14' ; Item #16 'LI15' : values=0 numid=6,iface=MIXER,name='Mixer0 LR_MIX Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=7,iface=MIXER,name='Mixer0 MIX_MODE Option' ; type=ENUMERATED,access=rw------,values=1,items=4 ; Item #0 'Linear weighted plus' ; Item #1 'Average' ; Item #2 'Clamping' ; Item #3 'Nonlinear Distort' : values=1 numid=24,iface=MIXER,name='Program' ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0 : values=0 numid=21,iface=MIXER,name='TASDEVICE Profile id' ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0 : values=1 numid=8,iface=MIXER,name='baic1_fmt' ; type=ENUMERATED,access=rw------,values=1,items=11 ; Item #0 'PCMA' ; Item #1 'PCMB' ; Item #2 'DSPA' ; Item #3 'DSPB' ; Item #4 'TDM1A' ; Item #5 'TDM1B' ; Item #6 'TDM2A' ; Item #7 'TDM2B' ; Item #8 'I2S' ; Item #9 'LEFT' ; Item #10 'RIGHT' : values=8 numid=22,iface=MIXER,name='tas2563-amp-gain-volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=28,step=0 : values=9 | dBscale-min=8.00dB,step=0.50dB,mute=0 numid=23,iface=MIXER,name='tas2563-digital-volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=65535,step=0 : values=16384 | dBscale-min=-96.33dB,step=0.01dB,mute=1
Calibration script
amixer cset numid=24,iface=MIXER,name="Program" 0
amixer cset numid=25,iface=MIXER,name="Configuration" 1
amixer cset numid=21,iface=MIXER,name="TASDEVICE Profile id" 1
aplay --device="hw:0,0" /data/silence.wav &
sleep 15
tasdevice_ftc 1
killall aplay
# file /data/silence.wav
/data/silence.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 48000 Hz
DSP config
/sys/devices/platform/apb/10052000.i2c/i2c-2/2-004f # cat dspfwinfo_list
tas2563-1amp-dsp.bin
Kernel format
Generated by PPC3V0xC000
ndev: 1
mnPrograms: 2
ProgramName: Tuning Mode
ProgramName: ROM Mode
mnConfigurations: 3
nConfig:0
ConfigName:configuration_Tuning Mode_48 KHz_s1_0 Program:0x00
nConfig:1
ConfigName:calibration_Tuning Mode_48 KHz_s1_0 Program:0x00
nConfig:2
ConfigName:configuration_ROM Mode_48 KHz_s0_1 Program:0x01
Any suggestions?
Thanks and best regards,
Stephan