Re: [PATCH v2 3/3] power/supply: Add generic USB charger driver

From: Rob Herring
Date: Thu Dec 19 2019 - 16:38:52 EST


On Mon, Dec 16, 2019 at 11:52:05AM +0100, Paul Cercueil wrote:
> Hi Peter,
>
>
> Le lun., déc. 16, 2019 at 01:24, Peter Chen <peter.chen@xxxxxxx> a écrit :
> >
> > > >> +
> > > >> + desc = &charger->desc;
> > > >> + desc->name = "usb-charger";
> > > >> + desc->properties = usb_charger_properties;
> > > >> + desc->num_properties = ARRAY_SIZE(usb_charger_properties);
> > > >> + desc->get_property = usb_charger_get_property;
> > > >> + desc->type = POWER_SUPPLY_TYPE_USB;
> > > >
> > > > What's your further plan for this generic USB charger?
> > > > To support BC1.2, we need to know charger type, and how we could
> > > get
> > > > it?
> > > >
> > > > Peter
> > >
> > > Well I don't really know. The USB role framework does not give any
> > > info about
> > > what's plugged.
> > >
> >
> > What's the use case for this patch set? How it be used?
>
> My devicetree:
>
> usb_otg: usb@13440000 {
> compatible = "ingenic,jz4770-musb", "simple-mfd";
> reg = <0x13440000 0x10000>;
> [...]
>
> usb-role-switch;
>
> connector {
> compatible = "gpio-usb-b-connector", "usb-b-connector";
> label = "mini-USB";
> type = "mini";
>
> id-gpios = <&gpf 18 GPIO_ACTIVE_HIGH>;
> vbus-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
> [...]
> };
>
> usb_charger: usb-charger {
> compatible = "usb-charger";

What h/w device is this?

> };
> };
>
> The new gpio-usb-connector driver uses the ID/VBUS GPIOs to detect in which
> state (device, host, unconnected) a OTG connector is. However, that means I
> cannot use the standard gpio-charger driver to detect the presence of a
> charger based on the state of the VBUS gpio, since it's already requested
> here. So the point of this patchset is to provide an alternative to
> gpio-charger that works with OTG controllers compatible with
> 'usb-role-switch'.

Why not fix gpio-charger or make whatever 'owns' vbus-gpios to register
a charger device?

I guess you could have Vbus sensing with no charging capability, but
that sounds like a new property, not a node to me.

Rob