Created
May 16, 2013 12:35
-
-
Save pamaury/5591411 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// VBG_ADJ | |
// DO NOT WRITE THIS VALUE UNLESS IT IS FOR THE LiIon BATTERY CHARGING CODE!!! | |
// DAS - Changed based on defect 13606. Value may change for a few microseconds. | |
// | |
// ADJ_VAG | |
// Set to one so that we can explicitly adjust the Vag (audio ground | |
// voltage) by writing to the VAG_VAL field. | |
// | |
// VAG_VAL | |
// Vdda is the Vdd for analog output. In the 3600, Vdda is directly | |
// connected to Vddd, the Vdd for the digital section. So, if we lower | |
// Vdd to reduce power consumption in the digital circuitry, we are also | |
// lowering the high rail of the audio output. | |
// | |
// If we were using the entire voltage span from actual ground to Vdda, | |
// then lowering Vddd would do two things: it would lower the volume, | |
// and it would clip the highest voltages in the output signal. Since we | |
// want power-conserving measures to have no effect on user experience, | |
// we need to do something else. | |
// | |
// What we do here is to set Vag appropriately for the lowest possible | |
// value of Vdda. That way, Vdda can fluctuate all it wants, and the | |
// audio will remain undisturbed. | |
// | |
// The lowest voltage at which the digital hardware can function is | |
// 1.35V. Vdda can never be lower. So, we can set Vag to | |
// | |
// 1.35V / 2 = 0.675V | |
// | |
// and be assured that the audio output will never be disturbed by | |
// fluctuations in Vddd. | |
// | |
// VAG_VAL is a 4-bit field. A value of 0xf implies Vag = 1.00V. A value | |
// of 0 implies a Vag = 0.625V. Each bit is a 25mV step. | |
// | |
// 0.675V - 0.625V = 0.050V => 2 increments of 25mV each. | |
// | |
// NOTE: It is important to write the register in one step if LW_REF is | |
// being set, because LW_REF will cause the VAG_VAL to be lowered by 1.25/1.6. | |
//---------------------------------------------------------------------- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment