1. 20 4月, 2009 1 次提交
  2. 03 4月, 2009 1 次提交
  3. 29 1月, 2009 1 次提交
    • P
      ASoC: TWL4030: Add analog loopback support · 7393958f
      Peter Ujfalusi 提交于
      This patch adds the analog loopback/bypass support for twl4030 codec.
      
      Details for the implementation:
      It seams that the analog loopback needs the DAC powered on on the channel,
      where the loopback is selected. The switch for the DACs has been moved from
      the DAPM_DAC to the "Analog XX Playback Mixer". In this way the DAC will be
      powered while the audio playback is used or/and the loopback is enabled for
      the channel.
      
      The twl4030 codec powering has been reworked. Now the codec will be powered as
      long as it does not receives the SND_SOC_BIAS_OFF event. The exceptions are
      when the given change in the registers needs the codec power down/up cycle in
      order to take effect. Otherwise the codec is on.
      
      When the codec enters to STANDBY state and none of the loopback paths are
      enabled, than the amplifiers, which are no in the DAPM path are forced to turn
      off and the PLL is disabled. When playback/capture starts the disabled gains
      are restored and the PLL is enabled.
      
      When one of the loopback enabled in STANDBY mode, the disabled gains are
      restored and the PLL is enabled also.
      
      In short: the codec always goes to the lowest power state based on the
      bias_level and the bypass_state.
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      7393958f
  4. 31 12月, 2008 1 次提交
    • P
      ASoC: TWL4030: DAPM based capture implementation · 276c6222
      Peter Ujfalusi 提交于
      This patch adds DAPM implementaion for the capture path
      on twlx030.
      
      TWL has two physical ADC and two digital microphone (stereo) connections.
      The CPU interface has four microphone channels.
      For simplicity the microphone channel paths are named as:
      TX1 (Left/Right) - when using i2s mode, only the TX1 data is valid
      TX2 (Left/Right)
      
      Input routing (simplified version):
      There is two levels of mux settings for TWL in input path:
      Analog input mux:
       ADCL <- {Off, Main mic, Headset mic, AUXL, Carkit mic}
       ADCR <- {Off, Sub mic, AUXR}
      
      Analog/Digital mux:
      TX1 Analog mode:
       TX1L <- ADCL
       TX1R <- ADCR
      TX1 Digital mode:
       TX1L <- Digimic0 (Left)
       TX1R <- Digimic0 (Right)
      
      TX2 Analog mode:
       TX2L <- ADCL
       TX2R <- ADCR
      TX2 Digital mode:
       TX2L <- Digimic1 (Left)
       TX2R <- Digimic1 (Right)
      
      The patch provides the following user controls for the capture path:
      Mux settings:
      "TX1 Capture Route": {Analog, Digimic0}
      "TX2 Capture Route": {Analog, Digimic1}
      "Analog Left Capture Route":  {Off, Main Mic, Headset Mic, AUXL, Carkit Mic}
      "Analog Right Capture Route": {Off, Sub Mic, AUXR}
      
      Volume/Gain controls:
      "TX1 Digital Capture Volume": Stereo gain control for TX1 path
      "TX2 Digital Capture Volume": Stereo gain control for TX2 path
      "Analog Capture Volume":      Stereo gain control for the analog path only
      
      Important things for the board files:
      Microphone bias:
      "Mic Bias 1":       Bias for Main mic or for digimic0 (analog or digital path)
      "Mic Bias 2":       Bias for Sub mic or for digimic1 (analog or digital path)
      "Headset Mic Bias": Bias for Headset mic
      
      When the routing configured correctly only the needed components will be
      powered/enabled.
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      276c6222
  5. 12 12月, 2008 1 次提交
  6. 03 12月, 2008 1 次提交
    • G
      ASoC: TWL4030: Add input selection and gain controls · 5920b453
      Grazvydas Ignotas 提交于
      The TWL4030 codec device has two ADCs. Both of them can have
      several inputs routed to them, but TRM says that only one source
      can be selected for every ADC, even though every source has a
      dedicated bit in the registers.
      
      This patch adds input source controls. It modifies default register
      values to have no inputs selected and ADCs disabled. When some
      input is selected, control handlers enable apropriate input
      amplifier and ADC. If a microphone is selected, bias power is
      automatically enabled. When some input is deselected, unused
      chip parts are disabled.
      
      Microphone and line input recording tested on OMAP3 pandora board.
      Signed-off-by: NGrazvydas Ignotas <notasas@gmail.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      5920b453
  7. 31 10月, 2008 1 次提交