mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
regulator: rt6160: Add rt6166 vout min_uV setting for compatible
1. remove unintentional GPL change 2. using switch case for Device ID probe check. Signed-off-by: Jeff Chang <jeff_chang@richtek.com> Link: https://patch.msgid.link/20250716021230.2660564-1-jeff_chang@richtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
43728a6434
commit
63be976da9
@ -31,8 +31,11 @@
|
|||||||
#define RT6160_PGSTAT_MASK BIT(0)
|
#define RT6160_PGSTAT_MASK BIT(0)
|
||||||
|
|
||||||
#define RT6160_VENDOR_ID 0xA0
|
#define RT6160_VENDOR_ID 0xA0
|
||||||
|
#define RT6166_VENDOR_ID 0xB0
|
||||||
#define RT6160_VOUT_MINUV 2025000
|
#define RT6160_VOUT_MINUV 2025000
|
||||||
#define RT6160_VOUT_MAXUV 5200000
|
#define RT6160_VOUT_MAXUV 5200000
|
||||||
|
#define RT6166_VOUT_MINUV 1800000
|
||||||
|
#define RT6166_VOUD_MAXUV 4950000
|
||||||
#define RT6160_VOUT_STPUV 25000
|
#define RT6160_VOUT_STPUV 25000
|
||||||
#define RT6160_N_VOUTS ((RT6160_VOUT_MAXUV - RT6160_VOUT_MINUV) / RT6160_VOUT_STPUV + 1)
|
#define RT6160_N_VOUTS ((RT6160_VOUT_MAXUV - RT6160_VOUT_MINUV) / RT6160_VOUT_STPUV + 1)
|
||||||
|
|
||||||
@ -43,6 +46,7 @@ struct rt6160_priv {
|
|||||||
struct gpio_desc *enable_gpio;
|
struct gpio_desc *enable_gpio;
|
||||||
struct regmap *regmap;
|
struct regmap *regmap;
|
||||||
bool enable_state;
|
bool enable_state;
|
||||||
|
uint8_t devid;
|
||||||
};
|
};
|
||||||
|
|
||||||
static const unsigned int rt6160_ramp_tables[] = {
|
static const unsigned int rt6160_ramp_tables[] = {
|
||||||
@ -260,15 +264,26 @@ static int rt6160_probe(struct i2c_client *i2c)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if ((devid & RT6160_VID_MASK) != RT6160_VENDOR_ID) {
|
devid = devid & RT6160_VID_MASK;
|
||||||
|
|
||||||
|
switch (devid) {
|
||||||
|
case RT6166_VENDOR_ID:
|
||||||
|
case RT6160_VENDOR_ID:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
dev_err(&i2c->dev, "VID not correct [0x%02x]\n", devid);
|
dev_err(&i2c->dev, "VID not correct [0x%02x]\n", devid);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->devid = devid;
|
||||||
|
|
||||||
priv->desc.name = "rt6160-buckboost";
|
priv->desc.name = "rt6160-buckboost";
|
||||||
priv->desc.type = REGULATOR_VOLTAGE;
|
priv->desc.type = REGULATOR_VOLTAGE;
|
||||||
priv->desc.owner = THIS_MODULE;
|
priv->desc.owner = THIS_MODULE;
|
||||||
priv->desc.min_uV = RT6160_VOUT_MINUV;
|
if (priv->devid == RT6166_VENDOR_ID)
|
||||||
|
priv->desc.min_uV = RT6166_VOUT_MINUV;
|
||||||
|
else
|
||||||
|
priv->desc.min_uV = RT6160_VOUT_MINUV;
|
||||||
priv->desc.uV_step = RT6160_VOUT_STPUV;
|
priv->desc.uV_step = RT6160_VOUT_STPUV;
|
||||||
if (vsel_active_low)
|
if (vsel_active_low)
|
||||||
priv->desc.vsel_reg = RT6160_REG_VSELL;
|
priv->desc.vsel_reg = RT6160_REG_VSELL;
|
||||||
|
Loading…
Reference in New Issue
Block a user