Post Go back to editing

sound: ASoC: ssm2602 : DAC and ADC power up calls

Hi there,

I have been trying to get your SSM2604 chip working ... both in master and slave mode ... but have had no success.

I am using the linux ssm2602.c driver.

With the SSM2604 in slave mode. I can verify that I get a good I2C command init. sound: ASoC: ssm2602 0-001a: Failed to issue reset: -6

I can verify that my MCLK and LR_CLK lines are good. I can also see my serial data out line generating bit data just fine. The I2S lines are working however I see no analog output.

I have look further into the ssm2602.c driver and I notice that there aren't any power up calls to the DAC. When I look at the data sheet - it notes that they are default in power down.

Are these bits perhaps set in the ".dapm_routes = ssm260x_routes,"  ?

Or do these power ups need to be put in place ?

Is there a sequence of registers which should be written, but perhaps aren't ?

In master mode, I can't seem to get the system to generate clocks ... I have a 12MHz crystal attached as expected. See here sound: ASoC: ssm2602 : master clock

thanks

Matt

  • Hi,

    The ADC and DAC as well are managed by DAPM and are automatically powered up, when playback or capture starts and there is a valid path. E.g. for the DAC to have a valid output path you have to connect the DAC to the output mixer by enabling the "Output Mixer Hifi Playback Switch".

    - Lars

  • Yep, I had a good look at the registers once mute was turned off ... they all check out well ... see below.

    I put a 10k Ohm resistor as my load on the output ... but I still see no signal coming out ... this is with the codec in slave mode. I am starting to think perhaps this is a hardware issue, even though the I2C seems to get ACK from the reset register write during the codec driver probe call.

    Matt

    [  294.870774] ssm2602_mute SSM2602_LINVOL:0x0 = 0x197

    [  294.874190] ssm2602_mute SSM2602_RINVOL:0x1 = 0x197

    [  294.879073] ssm2602_mute SSM2602_LOUT1V:0x2 = 0x79

    [  294.883827] ssm2602_mute SSM2602_ROUT1V:0x3 = 0x79

    [  294.888615] ssm2602_mute SSM2602_APANA:0x4 = 0x11

    [  294.893288] ssm2602_mute SSM2602_APDIGI:0x5 = 0x0

    [  294.897992] ssm2602_mute SSM2602_PWR:0x6 = 0x77

    [  294.902489] ssm2602_mute SSM2602_IFACE:0x7 = 0x2

    [  294.907089] ssm2602_mute SSM2602_SRATE:0x8 = 0x1

    [  294.911706] ssm2602_mute SSM2602_ACTIVE:0x9 = 0x1

  • Hi,

    Sorry for delay. The OSC output seems to be powered down. The thing is the driver should power it up by default unless you explicitly disable it.

    - Lars

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.