您好,
我已从“/CS-file/__key/communityserver-discussion-components-files/6/3262_2D00_E2E.zip”下载用于 aic3262的 Linux 驱动 程序,并将其集成到我的内核中。
我还拥有 mkcfw 工具来生成 Linux 驱动程序请求的"tlv320aic3262_FW_v1.bin"。
请检查 CFD 文件,仅使用 PRB Mode1和 PLL 设置,miniDSP 编程不存在。
PFA CFD 文件和 PLL 设置
#------------------------------ # DAC/ADC CLOCK CONFIG #------------------------------ # MCLK is 38.4MHz # PLL_CLK = r*j.D/p = 1*5.1200/2 = 98.304 MHz # P=2, R=1 : XPPP RRRR sreg[PLL_PR_POW] = 0b.0100001; # J=5 :XXJJ JJJJ sreg[PLL_J] = 0b..000101; # D= 1200. MSB=04 LSB=B0 sreg[PLL_D_MSB] = 0x04; sreg[PLL_D_LSB] = 0xb0; # DIV = 1 XVVV VVVV (128,1-127) sreg[PLL_CKIN_DIV] = 0b.0000001; # NDAC = 2: XVVV VVVV (128,1-127) sreg[NDAC_DIV_POW] = 0b.0000010; # MDAC = 8 : XVVV VVVV (128,1-127) sreg[MDAC_DIV_POW] = 0b.0001000; # DOSR = 128 DOSRMSB = 0x00 DOSRLSB = 0x80 sreg[DOSR_MSB] = 0x00; sreg[DOSR_LSB] = 0x80; # NADC NADC = 2 sreg[NADC_DIV_POW] = 0b.0000010; # MADC MADC = 48 sreg[MADC_DIV_POW] = 0b.0001000; # AOSR = 128 sreg[AOSR] = 128; #------------------------------ # ASI1 CLOCKS #------------------------------ # ASI1 BCLK DIVIDER CLOCK INPUT = DAC_MOD_CLOCK : XXXX XX01 sreg[ASI1_BCLK_N_CNTL] = 0b......01; # BCLK N DIVIDER = 4 : XVVV VVVV sreg[ASI1_BCLK_N] = 0b.0000100; # WCLK N DIVIDER = 32 : XVVV VVVV sreg[ASI1_WCLK_N] = 0b.0100000; # ASI1 BCLK WCLK OUTPUTS : XBBB XWWWW # BCLK = BCLK DIV OUT # WCLK = ASI1 WDIV sreg[ASI1_BWCLK_OUT_CNTL] = 0b.000.010; #------------------------------ # ASI2 CLOCKS #------------------------------ # ASI2 BCLK DIVIDER CLOCK INPUT = DAC_MOD_CLOCK : XXXX XX01 sreg[ASI2_BCLK_N_CNTL] = 0b......01; # BCLK N DIVIDER = 4 : XVVV VVVV sreg[ASI2_BCLK_N] = 0b.0000100; # WCLK N DIVIDER = 32 : XVVV VVVV sreg[ASI2_WCLK_N] = 0b.0100000; # ASI2 BCLK WCLK OUTPUTS : XBBB XWWWW # BCLK = ASI2 BDIV # WCLK = DAC_FS sreg[ASI2_BWCLK_OUT_CNTL] = 0b.010.000; #------------------------------ # ASI3 CLOCKS #------------------------------ # ASI3 BCLK DIVIDER CLOCK INPUT = DAC_MOD_CLOCK : XXXX XX01 sreg[ASI3_BCLK_N_CNTL] = 0b......01; # BCLK N DIVIDER = 4 : XVVV VVVV sreg[ASI3_BCLK_N] = 0b.0000100; # WCLK N DIVIDER = 32 : XVVV VVVV sreg[ASI3_WCLK_N] = 0b.0100000; # ASI3 BCLK WCLK OUTPUTS : XBBB XWWWW # BCLK = ASI3 BDIV # WCLK = DAC_FS sreg[ASI3_BWCLK_OUT_CNTL] = 0b.100.000;
1) Linux 请求固件“tlv320aic3262_FW_v1.bin”,并尝试执行 PLL 设置和 PRB 模式设置
请告诉我,我是否需要通过 amixer 设置来自 Linux 用户空间的音频路由(用于播放的 HP 和用于拍摄的 in2)
或者我需要在固件文件中添加此详细信息?
2)如果编解码器作为主中继器工作,我可以通过 Linux 驱动程序更改 PLL 设置运行时间吗?
3)如果仅使用 PRB 模式,将启动 ADC 和 DAC 的 ADC 和 DAC
我是否需要通过 amixer 从 Linux 用户空间执行此操作?