1. 22 Mar, 2010 4 commits
    • Mark Brown's avatar
      ASoC: Move WM8350 microphone detection bias managment out of driver · 2f14430a
      Mark Brown authored
      Allow machines to control exactly when the bias is turned on and off.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      2f14430a
    • Mark Brown's avatar
      ASoC: Allow force enabled pins to be disabled · 5b9e87cc
      Mark Brown authored
      Some systems, such as those with mechanical jack detection, may wish
      to force enable a pin (typically mic bias) only some of the time.
      Support such systems by having disable_pin() also coveer force enabled
      pins.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      5b9e87cc
    • Mark Brown's avatar
      ASoC: Add a notifier for jack status changes · d5021ec9
      Mark Brown authored
      Some systems provide both mechanical and electrical detection of jack
      status changes. On such systems power savings can be achieved by only
      enabling the electrical detection methods when physical insertion has
      been detected.
      
      Begin supporting such systems by providing a notifier for jack status
      changes which can be used to trigger any reconfiguration.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      d5021ec9
    • Peter Ujfalusi's avatar
      ASoC: TWL4030: PM fix for output amplifiers · c96907f2
      Peter Ujfalusi authored
      Gain controls on outputs affect the power consumption
      when the gain is set to non 0 value.
      
      Outputs with amps have one register to configure the
      routing and the gain:
      PREDL_CTL (0x25):
      bit 0: Voice enable
      bit 1: Audio L1 enable
      bit 2: Audio L2 enable
      bit 3: Audio R2 enable
      bit 4-5: Gain (0x0 - power down, 0x1 - 6dB, 0x2 - 0dB, 0x3 - -6dB)
      
      bit 0 - 3: is handled in DAPM domain (DAPM_MIXER)
      bit 4 - 5: has simple volume control
      
      If there is no audio activity (BIAS_STANDBY), and
      user changes the volume, than the output amplifier will
      be enabled.
      If the user changes the routing (but the codec remains in
      BIAS_STANDBY), than the cached gain value also be written
      to the register, which enables the amplifier.
      
      The existing workaround for this is to have virtual
      PGAs associated with the outputs, and whit DAPM PMD
      the gain on the output will be forced to 0 (off) by
      bypassing the regcache.
      This failed to disable the amplifiers in several
      scenario (as mentioned above).
      
      Also if the codec is in BIAS_ON state, and user modifies
      a volume control, which path is actually not enabled, than
      that amplifier will be enabled as well, but it will
      be not turned off, since there is no DAPM path, which
      would make mute it.
      
      To prevent amps being enabled, when they are not
      needed, introduce the following workaround:
      Track the state of each of this type of output.
      In twl4030_write only allow actual write, when the
      given output is enabled, otherwise only update
      the reg_cache.
      The PGA event handlers on power up will write the cached
      value to the chip (restoring gain, routing selection).
      On power down 0 is written to the register (disabling
      the amp, and also just in case clearing the routing).
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      c96907f2
  2. 19 Mar, 2010 15 commits
  3. 18 Mar, 2010 4 commits
  4. 17 Mar, 2010 5 commits
  5. 16 Mar, 2010 8 commits
  6. 15 Mar, 2010 1 commit
  7. 12 Mar, 2010 3 commits