• F
    ASoC: sgtl5000: Fix driver probe after reset · af8ee112
    Fabio Estevam 提交于
    After a 'reboot' command in Linux or after pressing the system's reset button
    the sgtl5000 driver fails to probe:
    
    sgtl5000 0-000a: Device with ID register ffff is not a sgtl5000
    sgtl5000 0-000a: ASoC: failed to probe CODEC -19
    imx-sgtl5000 sound.12: ASoC: failed to instantiate card -19
    imx-sgtl5000 sound.12: snd_soc_register_card failed (-19)
    
    sgtl5000 codec does not have a reset line, nor a reset command in software, so
    after a system reset the codec does not contain the default register values
    from sgtl5000_reg_defaults[] anymore, as these are only valid after a
    power-on-reset cycle.
    
    Fix this issue by explicitly reading all the reset register values from
    sgtl5000_reg_defaults[] and writing them back into sgtl5000 to ensure a sane
    state.
    Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
    Tested-by: NEric Nelson <eric.nelson@boundarydevices.com>
    Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
    af8ee112
sgtl5000.c 40.1 KB