Skip to content

Instantly share code, notes, and snippets.

@pamaury
Created May 16, 2013 12:35
Show Gist options
  • Save pamaury/5591411 to your computer and use it in GitHub Desktop.
Save pamaury/5591411 to your computer and use it in GitHub Desktop.
//
// 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