• Haojian Zhuang's avatar
    mfd: Support 88pm8606 in 860x driver · 53dbab7a
    Haojian Zhuang authored
    88PM8606 and 88PM8607 are two discrete chips used for power management.
    Hardware designer can use them together or only one of them according to
    requirement.
    
    There's some logic tightly linked between these two chips. For example, USB
    charger driver needs to access both chips by I2C interface.
    
    Now share one driver to these two devices. Only one I2C client is identified
    in platform init data. If another chip is also used, user should mark it in
    companion_addr field of platform init data. Then driver could create another
    I2C client for the companion chip.
    
    All I2C operations are accessed by 860x-i2c driver. In order to support both
    I2C client address, the read/write API is changed in below.
    
    reg_read(client, offset)
    reg_write(client, offset, data)
    
    The benefit is that client drivers only need one kind of read/write API. I2C
    and MFD driver can be shared in both 8606 and 8607.
    
    Since API is changed, update API in 8607 regulator driver.
    Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@marvell.com>
    Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
    53dbab7a
88pm860x-core.c 3.85 KB