• Jeff LaBundy's avatar
    mfd: iqs62x: Do not change clock frequency during ATI · 6a8fac01
    Jeff LaBundy authored
    After a reset event, the device automatically triggers ATI at the
    default core clock frequency (16 MHz). Soon afterward, the driver
    loads firmware which may attempt to lower the frequency.
    
    If this initial ATI cycle is still in progress when the frequency
    is changed, however, the device incorrectly reports channels 0, 1
    and 2 to be in a state of touch once ATI finally completes.
    
    To solve this problem, wait until ATI is complete before lowering
    the frequency. Because this particular ATI cycle occurs following
    a reset event, its duration is predictable and a simple delay can
    suffice.
    Signed-off-by: default avatarJeff LaBundy <jeff@labundy.com>
    Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
    6a8fac01
iqs62x.c 26.3 KB