2019-10-02 12:18:21

by Icenowy Zheng

[permalink] [raw]
Subject: [PATCH 1/2] power: supply: axp20x_usb_power: enable USB BC detection on AXP813

The AXP813 PMIC has support for detection of USB Battery Charging
specification, and it will limit the current to 500mA by default when
the detection is not enabled or the detection result is SDP.

Enable the BC detection to allow correctly selection of the current.

Signed-off-by: Icenowy Zheng <[email protected]>
---
drivers/power/supply/axp20x_usb_power.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/power/supply/axp20x_usb_power.c b/drivers/power/supply/axp20x_usb_power.c
index dc4c316eff81..5f0a5722b19e 100644
--- a/drivers/power/supply/axp20x_usb_power.c
+++ b/drivers/power/supply/axp20x_usb_power.c
@@ -48,6 +48,8 @@

#define AXP20X_VBUS_MON_VBUS_VALID BIT(3)

+#define AXP813_BC_EN BIT(0)
+
/*
* Note do not raise the debounce time, we must report Vusb high within
* 100ms otherwise we get Vbus errors in musb.
@@ -495,6 +497,12 @@ static int axp20x_usb_power_probe(struct platform_device *pdev)
return -EINVAL;
}

+ if (power->axp20x_id == AXP813_ID) {
+ /* Enable USB Battery Charging specification detection */
+ regmap_update_bits(axp20x->regmap, AXP288_BC_GLOBAL,
+ AXP813_BC_EN, AXP813_BC_EN);
+ }
+
psy_cfg.of_node = pdev->dev.of_node;
psy_cfg.drv_data = power;

--
2.21.0


2019-10-15 00:58:46

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH 1/2] power: supply: axp20x_usb_power: enable USB BC detection on AXP813

Hi,

On Wed, Oct 02, 2019 at 07:25:44PM +0800, Icenowy Zheng wrote:
> The AXP813 PMIC has support for detection of USB Battery Charging
> specification, and it will limit the current to 500mA by default when
> the detection is not enabled or the detection result is SDP.
>
> Enable the BC detection to allow correctly selection of the current.
>
> Signed-off-by: Icenowy Zheng <[email protected]>
> ---

Thanks, queued to power-supply-next.

-- Sebastian

> drivers/power/supply/axp20x_usb_power.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/power/supply/axp20x_usb_power.c b/drivers/power/supply/axp20x_usb_power.c
> index dc4c316eff81..5f0a5722b19e 100644
> --- a/drivers/power/supply/axp20x_usb_power.c
> +++ b/drivers/power/supply/axp20x_usb_power.c
> @@ -48,6 +48,8 @@
>
> #define AXP20X_VBUS_MON_VBUS_VALID BIT(3)
>
> +#define AXP813_BC_EN BIT(0)
> +
> /*
> * Note do not raise the debounce time, we must report Vusb high within
> * 100ms otherwise we get Vbus errors in musb.
> @@ -495,6 +497,12 @@ static int axp20x_usb_power_probe(struct platform_device *pdev)
> return -EINVAL;
> }
>
> + if (power->axp20x_id == AXP813_ID) {
> + /* Enable USB Battery Charging specification detection */
> + regmap_update_bits(axp20x->regmap, AXP288_BC_GLOBAL,
> + AXP813_BC_EN, AXP813_BC_EN);
> + }
> +
> psy_cfg.of_node = pdev->dev.of_node;
> psy_cfg.drv_data = power;
>
> --
> 2.21.0
>


Attachments:
(No filename) (1.46 kB)
signature.asc (849.00 B)
Download all attachments