build/patch/kernel/archive/sunxi-5.10/megous/power-supply-axp20x-usb-power-Change-Vbus-hold-volta.patch

40 lines
1.3 KiB
Diff
Raw Normal View History

From b059dbee47914f4074e150a481a49e73be1efcf2 Mon Sep 17 00:00:00 2001
From: Ondrej Jirman <megous@megous.com>
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 <megous@megous.com>
---
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