Immutable branch between MFD and Regulator due for the v6.6 merge window

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmTf1+MACgkQUa+KL4f8
 d2G9Zg/+PKbGOPxuOunK2TJMZM2JsgLgNGWPraGnCTW3RZ7YCRmykFDX1sSAopgF
 jZ8ObrbpL6sa1FxdN0FV4yh5i0DtJIj6hL6tiR/rbAagij7Sm8PsXQo/GQ89OJmp
 +iioDd23pjIGMAYeG24sNor8SGG5ZDudluiSc9lGvYC6m9wUgah+LyKPuX3Zkypq
 /WPlMfDsSsidlgvsvrc197h1By+XVAv//ReuPSNzA7Y9Jq+LKrK3pwgCT+AKB783
 VaqaDNSGnzvTvvvHaguxyQEnmdrFG12Elom+kkP/6ZeVj3KDTE3QDRgolBnlRk4P
 KPCIxJ7gWfET81H4/z+XOHSRVUHjc3puxbw9boSCm2j3YJCHbtScje6MQT6YSzeG
 8FuJJXjqZf+YYhHZt4LwZQvfoS91+P/5xve9DdYStOtvGS2k9562yZmXJWYFM3uF
 uu1TPgWHkA6ryF/1QRVkz4oLA71kQc47W30gZuu9xLclXRlU0OQQk/oPXCplwzUN
 K1aG5GAg1Q3fsvBtfxv0xnzUGNOQbqoLHgnmx2qzY/scyhzQ9EzlqVmpI/jP9dOq
 63mpIQe5OvJDyCJ1auKjBBsYR4Q2SUmTA40/4lcG0VYs/tb1jJeauxPuGTuhEFur
 YpU5luPHfbWhkNO0uYq25ih8+RRXkH51CQu4TGhigMacH4b+ZX4=
 =jD5V
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmTf3VIACgkQJNaLcl1U
 h9Cr+wf7BOICjSM5Qnx3+Pg84mxpiGH262Slw7LayiZmwL61AhnUmnaiZZ05WPHa
 kPPjGP10SynrfP9iYEFZYlEDLcoSDNU9S6MbTUtXjB/ujyBRB++cSyVr0hqono0N
 q6VLFr0Tu/4GsBSLS6LETMBkEilBMSfgsWCG0XFJkPk3abIgeumopzRDGbAlhyvZ
 C4DH2FB0/K1jWeMm4f0nm5XlF+VRaW+ZRFbU0ak6YLoh/vLNJPKIk0vua4MxK3Dn
 pF1Du0Ee8Oj7WnS3F73YKZ/VoDrxUUWQTqbxH/T1UVR04R+w5P+OMhtVrXmVkeNo
 MDgXjlu7Vbumh+h44TSkCXTbcDNx6Q==
 =5pGI
 -----END PGP SIGNATURE-----

regulator: Merge dependency for tps65086

Merge Lee Jones' tag 'ib-mfd-regulator-v6.6' of

   git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

into 20230818204514.GA1380343@google.com so we can build the tps65086
support:

  Immutable branch between MFD and Regulator due for the v6.6 merge window
This commit is contained in:
Mark Brown 2023-08-18 22:05:24 +01:00
commit 1c6350f2d3
2 changed files with 26 additions and 11 deletions

View file

@ -81,16 +81,23 @@ static int tps65086_probe(struct i2c_client *client)
return PTR_ERR(tps->regmap);
}
ret = regmap_read(tps->regmap, TPS65086_DEVICEID, &version);
/* Store device ID to load regulator configuration that fit to IC variant */
ret = regmap_read(tps->regmap, TPS65086_DEVICEID1, &tps->chip_id);
if (ret) {
dev_err(tps->dev, "Failed to read revision register\n");
dev_err(tps->dev, "Failed to read revision register 1\n");
return ret;
}
ret = regmap_read(tps->regmap, TPS65086_DEVICEID2, &version);
if (ret) {
dev_err(tps->dev, "Failed to read revision register 2\n");
return ret;
}
dev_info(tps->dev, "Device: TPS65086%01lX, OTP: %c, Rev: %ld\n",
(version & TPS65086_DEVICEID_PART_MASK),
(char)((version & TPS65086_DEVICEID_OTP_MASK) >> 4) + 'A',
(version & TPS65086_DEVICEID_REV_MASK) >> 6);
(version & TPS65086_DEVICEID2_PART_MASK),
(char)((version & TPS65086_DEVICEID2_OTP_MASK) >> 4) + 'A',
(version & TPS65086_DEVICEID2_REV_MASK) >> 6);
if (tps->irq > 0) {
ret = regmap_add_irq_chip(tps->regmap, tps->irq, IRQF_ONESHOT, 0,

View file

@ -13,8 +13,9 @@
#include <linux/regmap.h>
/* List of registers for TPS65086 */
#define TPS65086_DEVICEID 0x01
#define TPS65086_IRQ 0x02
#define TPS65086_DEVICEID1 0x00
#define TPS65086_DEVICEID2 0x01
#define TPS65086_IRQ 0x02
#define TPS65086_IRQ_MASK 0x03
#define TPS65086_PMICSTAT 0x04
#define TPS65086_SHUTDNSRC 0x05
@ -75,10 +76,16 @@
#define TPS65086_IRQ_SHUTDN_MASK BIT(3)
#define TPS65086_IRQ_FAULT_MASK BIT(7)
/* DEVICEID Register field definitions */
#define TPS65086_DEVICEID_PART_MASK GENMASK(3, 0)
#define TPS65086_DEVICEID_OTP_MASK GENMASK(5, 4)
#define TPS65086_DEVICEID_REV_MASK GENMASK(7, 6)
/* DEVICEID1 Register field definitions */
#define TPS6508640_ID 0x00
#define TPS65086401_ID 0x01
#define TPS6508641_ID 0x10
#define TPS65086470_ID 0x70
/* DEVICEID2 Register field definitions */
#define TPS65086_DEVICEID2_PART_MASK GENMASK(3, 0)
#define TPS65086_DEVICEID2_OTP_MASK GENMASK(5, 4)
#define TPS65086_DEVICEID2_REV_MASK GENMASK(7, 6)
/* VID Masks */
#define BUCK_VID_MASK GENMASK(7, 1)
@ -100,6 +107,7 @@ enum tps65086_irqs {
struct tps65086 {
struct device *dev;
struct regmap *regmap;
unsigned int chip_id;
/* IRQ Data */
int irq;