Unverified Commit 63be976d authored by Jeff Chang's avatar Jeff Chang Committed by Mark Brown
Browse files

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: default avatarJeff Chang <jeff_chang@richtek.com>
Link: https://patch.msgid.link/20250716021230.2660564-1-jeff_chang@richtek.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 43728a64
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -31,8 +31,11 @@
#define RT6160_PGSTAT_MASK	BIT(0)

#define RT6160_VENDOR_ID	0xA0
#define RT6166_VENDOR_ID	0xB0
#define RT6160_VOUT_MINUV	2025000
#define RT6160_VOUT_MAXUV	5200000
#define RT6166_VOUT_MINUV	1800000
#define RT6166_VOUD_MAXUV	4950000
#define RT6160_VOUT_STPUV	25000
#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 regmap *regmap;
	bool enable_state;
	uint8_t devid;
};

static const unsigned int rt6160_ramp_tables[] = {
@@ -260,14 +264,25 @@ static int rt6160_probe(struct i2c_client *i2c)
	if (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);
		return -ENODEV;
	}

	priv->devid = devid;

	priv->desc.name = "rt6160-buckboost";
	priv->desc.type = REGULATOR_VOLTAGE;
	priv->desc.owner = THIS_MODULE;
	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;
	if (vsel_active_low)