• Brian Bloniarz's avatar
    ALSA: ice1712 delta - initialize SPI clock · b8b1a4cb
    Brian Bloniarz authored
    The driver was using an initial value for the clock on the SPI bus
    which was read from ICE1712 EEPROM,
    ice->eeprom.data[ICE_EEP1_GPIO_STATE] & ICE1712_DELTA_AP_CCLK (0x02)
    
    It appears some cards have it default high, some cards
    have it default low. On my Delta 66 rev. E:
    $ cat /proc/asound/M66/ice1712 | grep 'GPIO state'
      GPIO state       : 0x70 /* ICE1712_DELTA_AP_CCLK bit is zero */
    On my Audiophile 2496:
    $ cat /proc/asound/M2496/ice1712 | grep 'GPIO state'
      GPIO state       : 0xfe /* ICE1712_DELTA_AP_CCLK bit is one */
    
    It must be raised before the first SPI write happens, or the write will
    fail, leading to:
    
    [   23.248721] invalid CS8427 signature 0x0: let me try again...
    
    I theorize that 4eb4550a
    is no longer needed, it was a different way to workaround
    the problem.
    
    [fixed variable decleration by tiwai]
    Signed-off-by: default avatarBrian Bloniarz <brian.bloniarz@gmail.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    b8b1a4cb
delta.c 24.7 KB