From b059dbee47914f4074e150a481a49e73be1efcf2 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Mon, 14 Dec 2020 07:42:08 +0100 Subject: [PATCH 313/323] power: supply: axp20x-usb-power: Change Vbus hold voltage to 4.5V This fixes USB-PD charger resets. Signed-off-by: Ondrej Jirman --- drivers/power/supply/axp20x_usb_power.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/power/supply/axp20x_usb_power.c b/drivers/power/supply/axp20x_usb_power.c index 182a00b4a..96d8a8ef2 100644 --- a/drivers/power/supply/axp20x_usb_power.c +++ b/drivers/power/supply/axp20x_usb_power.c @@ -839,6 +839,18 @@ static int axp20x_usb_power_probe(struct platform_device *pdev) AXP813_BC_EN, AXP813_BC_EN); } + /*TODO: Re-work this into a supply property with OF based default value */ + if (of_machine_is_compatible("pine64,pinephone-1.2") > 0 || + of_machine_is_compatible("pine64,pinephone-1.1") > 0 || + of_machine_is_compatible("pine64,pinephone-1.0") > 0) { + + dev_info(&pdev->dev, "Increasing Vbus hold voltage to 4.5V\n"); + + ret = regmap_update_bits(axp20x->regmap, 0x30, 0x7 << 3, 0x5 << 3); + if (ret) + return ret; + } + psy_cfg.of_node = pdev->dev.of_node; psy_cfg.drv_data = power; -- 2.34.0