• Linus Walleij's avatar
    iio: magnetometer: Add driver for Yamaha YAS530 · de8860b1
    Linus Walleij authored
    This adds an IIO magnetometer driver for the Yamaha
    YAS530 family of magnetometer/compass chips YAS530,
    YAS532 and YAS533.
    
    A quick survey of the source code released by different
    vendors reveal that we have these variants in the family
    with some deployments listed:
    
     * YAS529 MS-3C (2005 Samsung Aries)
     * YAS530 MS-3E (2011 Samsung Galaxy S Advance)
     * YAS532 MS-3R (2011 Samsung Galaxy S4)
     * YAS533 MS-3F (Vivo 1633, 1707, V3, Y21L)
     * (YAS534 is a magnetic switch)
     * YAS535 MS-6C
     * YAS536 MS-3W
     * YAS537 MS-3T (2015 Samsung Galaxy S6, Note 5)
     * YAS539 MS-3S (2018 Samsung Galaxy A7 SM-A750FN)
    
    The YAS529 is so significantly different from the
    YAS53x variants that it will require its own driver.
    The YAS537 and YAS539 have slightly different register
    sets but have strong similarities so a common driver
    patching this one will probably be reasonable.
    
    The source code for Samsung Galaxy A7's YAS539 is not
    that is significantly different from the YAS530 in the
    Galaxy S Advance, so I believe we will only need this
    one driver with quirks to handle all of them.
    
    The YAS539 is actively announced on Yamaha's devices
    site:
    https://device.yamaha.com/en/lsi/products/e_compass/
    
    This is a driver written from scratch using buffered
    IIO and runtime PM handling regulators and reset.
    
    Thanks to Andy Shevchenko for great help in finding all
    the special kernel infrastructure functions and quirks
    during review of this driver.
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
    Cc: phone-devel@vger.kernel.org
    Cc: Jonathan Bakker <xc-racer2@live.ca>
    Link: https://lore.kernel.org/r/20201224120820.1120099-2-linus.walleij@linaro.orgSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    de8860b1
Kconfig 6.2 KB