About adau1961 driver

I found the  macro in here https://github.com/analogdevicesinc/linux/blob/adau17x1/sound/soc/codecs/adau17x1.h

#define ADUA_SERIAL_PORT1_BCLK32          (0x0 << 5)

#define ADUA_SERIAL_PORT1_BCLK48          (0x1 << 5)

#define ADUA_SERIAL_PORT1_BCLK64          (0x2 << 5)

But I am strange that on page 55 of datasheet

Table 41. Serial Port Control 1 Register

Bits Bit Name Description

[7:5] BPF[2:0] Number of bit clock cycles per LRCLK audio frame.

Setting Bit Clock Cycles

000 64 (default)

001 32

010 48

011 128

100 256

who is right one ?

I am also puzzle that why  the Headphone playback switch is alway on  but my lineout switch always off?

numid=14,iface=MIXER,name='Headphone Playback Switch'

  ; type=BOOLEAN,access=rw------,values=2

  : values=on,on

numid=13,iface=MIXER,name='Headphone Playback Volume'

  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0

  : values=37,37

  | dBscale-min=-57.00dB,step=1.00dB,mute=0

There is no script in the filesystem do such behavior.

Can anybody tell me why?

I use PLL, so the core clock is 1024fs =1024*44.1kHz, My MCLK input is 24MHz,

How to set or configure the BCLK? The BCLK and LRCLK of ADAU1961 is master.

Thank you

Parents
  • Hi,

    Yes, currently when playing 16bit samples the audio bus will see 16bits of data, 16 zeros, 16bit of data, 16 zeros, etc. The code can of course be updated to set the number of blcks per frame based on the sample size.

    If you want to playback audio from the I2S port to the Lineout port you need to configure the controls like this:

    Set "DAC Playback Mux" to "AIFIN"

    Enable "Lineout Playback Switch"

    Set "Lineout Playback Volume" to a reasonable setting

    Set "Left LR Playback Mixer Left Volume" to non zero

    Set "Right LR Playback Mixer Right Volume" to non zero

    Enable "Left Playback Mixer Left DAC Switch"

    Enable "Right Playback Mixer Right DAC Switch"

    - Lars

Reply
  • Hi,

    Yes, currently when playing 16bit samples the audio bus will see 16bits of data, 16 zeros, 16bit of data, 16 zeros, etc. The code can of course be updated to set the number of blcks per frame based on the sample size.

    If you want to playback audio from the I2S port to the Lineout port you need to configure the controls like this:

    Set "DAC Playback Mux" to "AIFIN"

    Enable "Lineout Playback Switch"

    Set "Lineout Playback Volume" to a reasonable setting

    Set "Left LR Playback Mixer Left Volume" to non zero

    Set "Right LR Playback Mixer Right Volume" to non zero

    Enable "Left Playback Mixer Left DAC Switch"

    Enable "Right Playback Mixer Right DAC Switch"

    - Lars

Children
No Data