Skip to content
  1. May 14, 2010
  2. May 12, 2010
  3. May 11, 2010
  4. May 10, 2010
  5. May 07, 2010
  6. May 06, 2010
  7. May 05, 2010
  8. May 03, 2010
    • Peter Ujfalusi's avatar
      ASoC: tlv320dac33: Support for turning off the codec · ad05c03b
      Peter Ujfalusi authored
      
      
      Let the codec to hit OFF instead of STANDBY, when there is no activity.
      When the codec is off, than the associated regulator can be also turned
      off (if the number of users on the regulator is 0).
      
      After initialization, the codec remains in power off, it is only turned
      on for reading the ID registers (also testing the regulators).
      
      The codec power is enabled, when the codec is moving from BIAS_OFF
      to BIAS_STANDBY.
      The codec is turned off, when it hits BIAS_OFF.
      
      There are few scenarios, which has to be taken care::
      1. Analog bypass caused BIAS_OFF -> BIAS_ON
         We need to power on the codec, and do the chip init, but we does not
         need to execute the playback related configuration
      2. Playback caused  BIAS_OFF -> BIAS_ON
         We need to power on the codec, and do the chip init, and also we need
         to execute the playback related configuration.
      3. Playback start, while Analog bypass is on (BIAS_ON -> BIAS_ON)
         We need to execute the playback related configuration. The codec is
         already on.
      4. Analog bypass enable, while playback (BIAS_ON -> BIAS_ON)
         Nothing need to be done.
      5. Playback start withing soc power down timeout (BIAS_ON -> BIAS_ON)
         We need to execute the playback related configuration. The codec is
         still on.
      
      Since the power up, and the codec init is optimized, the added overhead
      in stream start is minimal.
      
      Withing this patch, the hard_power function is now only doing what it
      supposed to: only handle the powers, and GPIO reset line.
      The codec initialization and state restore has been moved out.
      
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      ad05c03b