PCM5121: PCM5121: TMD8 configuration and demo code

Part Number: PCM5121

Tool/software:

Hi Arash

Per our discussion in the email, let use this e2e to track the issue investigation:

Current progress:  modify  Page 0 / Register 40 and then the needed shift was set in   Page 0 / Register 41.

Tied below 2 ways configuration:

Config Page0/register 14 as below besides your suggestion

Hi Wang

Please update your newest CDST status on page0/register 94 and page0/register 95 here

Thanks

Thomas

  • Hello Thomas,

    Code:

                    uint8_t idx;
                    uint8_t temp;
            
                    sRegWrite(0,0x02,0x00);//"Standby Request" //"Powerdown Request" All to 0, normal mode.
                    LOG_INFO("PCM5121: PCM5121 Read 0x02 = %02x.... \r\n",Pcm5121_ReadByte(0x02));
                    sRegWrite(0,0x04,0x00);
                    sRegWrite(0,0x0e,0x10);
                    //sRegWrite(0,0x0d,0x10);
                    sRegWrite(0,0x0d,0x00);
                    sRegWrite(0,0x0e,0x30);


                    for (idx = 0; idx < 7; idx++){
                                    sRegWrite(0, pllcfg_96[idx][0],pllcfg_96[idx][1]);
                    }

                    sRegWrite(0,0x25,0x1a);
                    sRegWrite(0,0x04,0x01);
                    
                    sRegWrite(0,0x23,0x03);
                    sRegWrite(0,0x24,0x00);
                    
                    sRegWrite(0,0x28,0x13);
                    
    #if 1                 //VCOM Mode
                    sRegWrite(1,0x08,0x01);
                    sRegWrite(1,0x09,0x00);//VCOM power on.
                    sRegWrite(1,0x08,0x00);
                    sRegWrite(1,0x01,0x01);//"Output Amplitude Type" set to 1, VCOM mode.
    #else   //VREF Mode
                    sRegWrite(1,0x08,0x01);
                    sRegWrite(1,0x09,0x01);
                    delay_1ms(10);
                    sRegWrite(1,0x08,0x00);
                    sRegWrite(1,0x01,0x00);
                    
    #endif
                    
                    sRegWrite(0,0x02,0x00);
                    LOG_INFO("PCM5121: PCM5121 Read 0x25 = %02x.... \r\n",Pcm5121_ReadByte(0x25));
                    
                    sRegWrite(0,61,0x30);
                    sRegWrite(0,62,0x30);
                    
                    //sRegWrite(0,0x3D,0x1F);  //gain
                    //sRegWrite(0,0x3E,0x1F);
                    //Pcm5121_ReadByte(0x28);
                    //Pcm5121_WriteByte(0x00,0x00);
                    printf("PCM5121: PCM5121 Read 0x28 = %02x.... \r\n",Pcm5121_ReadByte(0x28));
                    Pcm5121_WriteByte(0x00,0x00);
                    printf("PCM5121: PCM5121 Read 0x5B = %02x.... \r\n",Pcm5121_ReadByte(0x5B));
                    Pcm5121_WriteByte(0x00,0x00);
                    printf("PCM5121: PCM5121 Read 0x5E = %02x.... \r\n",Pcm5121_ReadByte(0x5E));
                    Pcm5121_WriteByte(0x00,0x00);
                    printf("PCM5121: PCM5121 Read 0x5F = %02x.... \r\n",Pcm5121_ReadByte(0x5F));
                    LOG_INFO("PCM5121: PCM5121 init success.... \r\n");

    result:

    (note:Hexadecimal)

    Best Regards

    Joseph

  • Hi Thomas, Joseph,

    Arash was out of office today and will get to this thread tomorrow.

    Best,

    Garret