View Issue Details

IDProjectCategoryView StatusLast Update
0002630FSiMX6Audiopublic2016-09-30 10:15
Reporterderksen Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionV1.40 
Target VersionV2.30Fixed in VersionV2.20 
Summary0002630: Fixed value for lineout volume on SGTL5000
DescriptionLineout volume has currently fixed register value. This works but it's ill-suited for different boards like efusA9, PicoMODA9 and armStoneA9 because this value is depend on VDDA and VDDIO voltages.
Additional InformationUINT32 SGTL5000Codec::SGTL5000CodecInit(VOID)

    //------------------Startup volume configuration-----------------
    // Set LINEOUT volume based on VAG and LINEOUT_VAG values
    // The LO_VOL_LEFT and LO_VOL_RIGHT be 40*log(VAG_VAL/LO_VAGCNTRL) + 15
    // VDDA VDDIO LO_VOL_*
    // 1.8V 1.8V 0x0F
    // 1.8V 3.3V 0x06
    // 3.3V 1.8V 0x19
    // 3.3V 3.3V 0x0F
    uiStatus = SGTL5000WriteRegister(SGTL5000_CHIP_LINE_OUT_VOL_ADDR, 0x0F0F);

Lineout value can be calculate by following formula
40*log(VDDA/2/VDDIO/2) + 15 = 40*log(VDDA/VDDIO) + 15

In linux this value is set by platform file and would be used by codec initialization.
Forum Link
Found Driver Version1.1
Fixed Driver Version1.2

Activities

There are no notes attached to this issue.