• Jett.Zhou's avatar
    mfd: Fix 88pm860x test bank i2c interface bug · 5bdf7411
    Jett.Zhou authored
    There are two banks in 88pm8607. One is the normal bank, and the other
    one is the test bank, it means it have the same register address in the
    normal bank and test bank seperately.
    For test bank register, it needs a special I2C sequence to acess as below,
        Touching to 0xFA address
        Touching to 0xFB address
        Touching to 0xFF address
        Accessing bank register
        Touching to 0xFE address
        Touching to 0xFC address
    This sequence can't be interrupted. It means that we can't use
    i2c_transfef() to implement touching 0xFA address. Otherwise, other i2c
    operation may be inserted into 0xFA and 0xFB operation since the lock of
    i2c_adapter is already released.
    So for test bank we implemented specific i2c read/write operation;
    Signed-off-by: default avatarJett.Zhou <jtzhou@marvell.com>
    Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
    5bdf7411
88pm860x-i2c.c 8.84 KB