diff --git a/arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts b/arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts index 0b85e96323b7ca..cd61803ad9f243 100644 --- a/arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts +++ b/arch/arm64/boot/dts/qcom/sdm636-xiaomi-tulip.dts @@ -159,6 +159,16 @@ &blsp_i2c2 { status = "okay"; + + regulator@60 { + compatible = "fcs,fan53526"; + reg = <0x60>; + regulator-always-on; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1100000>; + vin-supply = <&vph_pwr>; + fcs,suspend-voltage-selector = <1>; + }; }; &blsp_i2c6 { diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index 17c9bf20438590..9048ec2af7d56e 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -76,9 +76,11 @@ enum fan53555_vendor { enum { FAN53526_CHIP_ID_01 = 1, + FAN53526_CHIP_ID_08 = 8, }; enum { + FAN53526_CHIP_REV_01 = 1, FAN53526_CHIP_REV_08 = 8, }; @@ -272,6 +274,19 @@ static int fan53526_voltages_setup_fairchild(struct fan53555_device_info *di) return -EINVAL; } break; + case FAN53526_CHIP_ID_08: + switch (di->chip_rev) { + case FAN53526_CHIP_REV_01: + di->vsel_min = 600000; + di->vsel_step = 6250; + break; + default: + dev_err(di->dev, + "Chip ID %d with rev %d not supported!\n", + di->chip_id, di->chip_rev); + return -EINVAL; + } + break; default: dev_err(di->dev, "Chip ID %d not supported!\n", di->chip_id);