• Misael Lopez Cruz's avatar
    ASoC: TWL6040: Add twl6040 codec driver · 8ecbabd9
    Misael Lopez Cruz authored
    Initial version of TWL6040 codec driver.
    
    The TWL6040 codec uses a proprietary PDM-based digital audio interface.
    Audio paths supported are:
    
    - Input: Main Mic, Sub Mic, Headset Mic, Auxiliary-FM Left/Right
    - Output: Headset Left/Right, Handsfree Left/Right
    
    TWL6040 codec supports power-up/down manual and automatic sequence.
    Manual sequence is done through a specific register writes sequence.
    Automatic sequence is done when the codec is powered-up through the
    external AUDPWRON line. The completion of the sequence is signaled
    through the audio interrupt.
    
    TWL6040 codec sysclk can be provided by: low-power or high
    performance PLL:
    
    - The low-power PLL takes a low-frequency input at 32,768 Hz and
    generates an approximate of 17.64 or 19.2 MHz (for 44.1 KHz and 48 KHz
    respectively)
    
    - The high-performance PLL generates an exact 19.2 MHz clock signal
    from high-frequency input at 12/19.2/26/38.4 MHz.
    
    Low-power playback mode is a special scenario where only headset path
    (headset DAC and driver) is active.
    
    For the particular case of headset path, PLL being used defines the
    headset power mode: low-power, high-performance.
    Signed-off-by: default avatarMisael Lopez Cruz <x0052729@ti.com>
    Signed-off-by: default avatarJorge Eduardo Candelaria <jorge.candelaria@ti.com>
    Signed-off-by: default avatarMargarita Olaya Cabrera <magi.olaya@ti.com>
    Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    8ecbabd9
twl6040.h 3.77 KB