diff mbox series

[1/2] power: supply: axp20x_usb_power: enable USB BC detection on AXP813

Message ID 20191002112545.58481-2-icenowy@aosc.io (mailing list archive)
State Not Applicable, archived
Headers show
Series Enable USB BC detection to raise AXP813 Vbus current | expand

Commit Message

Icenowy Zheng Oct. 2, 2019, 11:25 a.m. UTC
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 <icenowy@aosc.io>
---
 drivers/power/supply/axp20x_usb_power.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Sebastian Reichel Oct. 14, 2019, 4:22 a.m. UTC | #1
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 <icenowy@aosc.io>
> ---

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
>
diff mbox series

Patch

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;