Message ID | 20170807195420.20767-3-liam@networkimprov.net |
---|---|
State | Changes Requested, archived |
Headers | show |
On Mon, Aug 07, 2017 at 12:54:17PM -0700, Liam Breck wrote: > From: Liam Breck <kernel@networkimprov.net> > > Document monitored-battery and ti,system-minimum-microvolt properties. > > Cc: Rob Herring <robh@kernel.org> > Cc: devicetree@vger.kernel.org > Signed-off-by: Liam Breck <kernel@networkimprov.net> > --- > .../devicetree/bindings/power/supply/bq24190.txt | 49 ++++++++++++++++++++++ > 1 file changed, 49 insertions(+) > create mode 100644 Documentation/devicetree/bindings/power/supply/bq24190.txt > > diff --git a/Documentation/devicetree/bindings/power/supply/bq24190.txt b/Documentation/devicetree/bindings/power/supply/bq24190.txt > new file mode 100644 > index 00000000..82a1c842 > --- /dev/null > +++ b/Documentation/devicetree/bindings/power/supply/bq24190.txt > @@ -0,0 +1,49 @@ > +TI BQ24190 Li-Ion Battery Charger > + > +Required properties: > +- compatible: contains one of the following: > + * "ti,bq24190" > + * "ti,bq24192i" > +- reg: integer, I2C address of the charger. > +- interrupts[-extended]: configuration for charger INT pin. > + > +Optional properties: > +- monitored-battery: phandle of battery characteristics devicetree node > + The charger uses the following battery properties: > + + precharge-current-microamp: maximum charge current during precharge > + phase (typically 20% of battery capacity). > + + charge-term-current-microamp: a charge cycle terminates when the > + battery voltage is above recharge threshold, and the current is below > + this setting (typically 10% of battery capacity). > + See Documentation/devicetree/bindings/power/supply/battery.txt > +- ti,system-minimum-microvolt: when power is connected and the battery is below > + minimum system voltage, the system will be regulated above this setting. > + > +Other features: > +- Use gpio-hog to set the OTG pin high to enable 500mA charge current on USB SDP port. Why doesn't the charger driver control this? > + > +Example: > + > + bat: battery { > + compatible = "simple-battery"; > + precharge-current-microamp = <256000>; > + charge-term-current-microamp = <128000>; > + // etc. > + }; > + > + bq24190: charger@6a { > + compatible = "ti,bq24190"; > + reg = <0x6a>; > + interrupts-extended = <&gpiochip 10 IRQ_TYPE_EDGE_FALLING>; > + monitored-battery = <&bat>; > + ti,system-minimum-microvolt = <3200000>; > + }; > + > + &twl_gpio { > + otg { > + gpio-hog; > + gpios = <6 0>; > + output-high; > + line-name = "otg-gpio"; > + }; > + }; > -- > 2.13.2 > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Rob, On Thu, Aug 10, 2017 at 7:50 PM, Rob Herring <robh@kernel.org> wrote: > On Mon, Aug 07, 2017 at 12:54:17PM -0700, Liam Breck wrote: >> From: Liam Breck <kernel@networkimprov.net> >> >> Document monitored-battery and ti,system-minimum-microvolt properties. >> >> Cc: Rob Herring <robh@kernel.org> >> Cc: devicetree@vger.kernel.org >> Signed-off-by: Liam Breck <kernel@networkimprov.net> >> --- >> .../devicetree/bindings/power/supply/bq24190.txt | 49 ++++++++++++++++++++++ >> 1 file changed, 49 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/power/supply/bq24190.txt >> >> diff --git a/Documentation/devicetree/bindings/power/supply/bq24190.txt b/Documentation/devicetree/bindings/power/supply/bq24190.txt >> new file mode 100644 >> index 00000000..82a1c842 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/power/supply/bq24190.txt >> @@ -0,0 +1,49 @@ >> +TI BQ24190 Li-Ion Battery Charger >> + >> +Required properties: >> +- compatible: contains one of the following: >> + * "ti,bq24190" >> + * "ti,bq24192i" >> +- reg: integer, I2C address of the charger. >> +- interrupts[-extended]: configuration for charger INT pin. >> + >> +Optional properties: >> +- monitored-battery: phandle of battery characteristics devicetree node >> + The charger uses the following battery properties: >> + + precharge-current-microamp: maximum charge current during precharge >> + phase (typically 20% of battery capacity). >> + + charge-term-current-microamp: a charge cycle terminates when the >> + battery voltage is above recharge threshold, and the current is below >> + this setting (typically 10% of battery capacity). >> + See Documentation/devicetree/bindings/power/supply/battery.txt >> +- ti,system-minimum-microvolt: when power is connected and the battery is below >> + minimum system voltage, the system will be regulated above this setting. >> + >> +Other features: >> +- Use gpio-hog to set the OTG pin high to enable 500mA charge current on USB SDP port. > > Why doesn't the charger driver control this? This pin/gpio has to be high when USB is plugged in to make the charger chip negotiate 500mA from a SDP port. It should generally be configured that way even if the driver is not loaded, as the chip does not require a driver to function. Some boards may do that with a pull-up. Also the user may want to change this via sysfs and not have the driver "fix" it. >> + >> +Example: >> + >> + bat: battery { >> + compatible = "simple-battery"; >> + precharge-current-microamp = <256000>; >> + charge-term-current-microamp = <128000>; >> + // etc. >> + }; >> + >> + bq24190: charger@6a { >> + compatible = "ti,bq24190"; >> + reg = <0x6a>; >> + interrupts-extended = <&gpiochip 10 IRQ_TYPE_EDGE_FALLING>; >> + monitored-battery = <&bat>; >> + ti,system-minimum-microvolt = <3200000>; >> + }; >> + >> + &twl_gpio { >> + otg { >> + gpio-hog; >> + gpios = <6 0>; >> + output-high; >> + line-name = "otg-gpio"; >> + }; >> + }; >> -- >> 2.13.2 >> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, On Fri, Aug 11, 2017 at 02:57:10PM -0700, Liam Breck wrote: > On Thu, Aug 10, 2017 at 7:50 PM, Rob Herring <robh@kernel.org> wrote: > > On Mon, Aug 07, 2017 at 12:54:17PM -0700, Liam Breck wrote: > >> From: Liam Breck <kernel@networkimprov.net> > >> > >> Document monitored-battery and ti,system-minimum-microvolt properties. > >> > >> Cc: Rob Herring <robh@kernel.org> > >> Cc: devicetree@vger.kernel.org > >> Signed-off-by: Liam Breck <kernel@networkimprov.net> > >> --- > >> .../devicetree/bindings/power/supply/bq24190.txt | 49 ++++++++++++++++++++++ > >> 1 file changed, 49 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/power/supply/bq24190.txt > >> > >> diff --git a/Documentation/devicetree/bindings/power/supply/bq24190.txt b/Documentation/devicetree/bindings/power/supply/bq24190.txt > >> new file mode 100644 > >> index 00000000..82a1c842 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/power/supply/bq24190.txt > >> @@ -0,0 +1,49 @@ > >> +TI BQ24190 Li-Ion Battery Charger > >> + > >> +Required properties: > >> +- compatible: contains one of the following: > >> + * "ti,bq24190" > >> + * "ti,bq24192i" > >> +- reg: integer, I2C address of the charger. > >> +- interrupts[-extended]: configuration for charger INT pin. > >> + > >> +Optional properties: > >> +- monitored-battery: phandle of battery characteristics devicetree node > >> + The charger uses the following battery properties: > >> + + precharge-current-microamp: maximum charge current during precharge > >> + phase (typically 20% of battery capacity). > >> + + charge-term-current-microamp: a charge cycle terminates when the > >> + battery voltage is above recharge threshold, and the current is below > >> + this setting (typically 10% of battery capacity). > >> + See Documentation/devicetree/bindings/power/supply/battery.txt > >> +- ti,system-minimum-microvolt: when power is connected and the battery is below > >> + minimum system voltage, the system will be regulated above this setting. > >> + > >> +Other features: > >> +- Use gpio-hog to set the OTG pin high to enable 500mA charge current on USB SDP port. > > > > Why doesn't the charger driver control this? > > This pin/gpio has to be high when USB is plugged in to make the > charger chip negotiate 500mA from a SDP port. It should generally be > configured that way even if the driver is not loaded, as the chip does > not require a driver to function. Some boards may do that with a > pull-up. Also the user may want to change this via sysfs and not have > the driver "fix" it. drivers/power/supply/qcom_smbb.c exposes the otg feature as regulator. I think in this case it could be exposed as gpio-regulator. -- Sebastian
Hi Sebastian, On Sat, Aug 12, 2017 at 9:42 AM, Sebastian Reichel <sre@kernel.org> wrote: > Hi, > > On Fri, Aug 11, 2017 at 02:57:10PM -0700, Liam Breck wrote: >> On Thu, Aug 10, 2017 at 7:50 PM, Rob Herring <robh@kernel.org> wrote: >> > On Mon, Aug 07, 2017 at 12:54:17PM -0700, Liam Breck wrote: >> >> From: Liam Breck <kernel@networkimprov.net> >> >> >> >> Document monitored-battery and ti,system-minimum-microvolt properties. >> >> >> >> Cc: Rob Herring <robh@kernel.org> >> >> Cc: devicetree@vger.kernel.org >> >> Signed-off-by: Liam Breck <kernel@networkimprov.net> >> >> --- >> >> .../devicetree/bindings/power/supply/bq24190.txt | 49 ++++++++++++++++++++++ >> >> 1 file changed, 49 insertions(+) >> >> create mode 100644 Documentation/devicetree/bindings/power/supply/bq24190.txt >> >> >> >> diff --git a/Documentation/devicetree/bindings/power/supply/bq24190.txt b/Documentation/devicetree/bindings/power/supply/bq24190.txt >> >> new file mode 100644 >> >> index 00000000..82a1c842 >> >> --- /dev/null >> >> +++ b/Documentation/devicetree/bindings/power/supply/bq24190.txt >> >> @@ -0,0 +1,49 @@ >> >> +TI BQ24190 Li-Ion Battery Charger >> >> + >> >> +Required properties: >> >> +- compatible: contains one of the following: >> >> + * "ti,bq24190" >> >> + * "ti,bq24192i" >> >> +- reg: integer, I2C address of the charger. >> >> +- interrupts[-extended]: configuration for charger INT pin. >> >> + >> >> +Optional properties: >> >> +- monitored-battery: phandle of battery characteristics devicetree node >> >> + The charger uses the following battery properties: >> >> + + precharge-current-microamp: maximum charge current during precharge >> >> + phase (typically 20% of battery capacity). >> >> + + charge-term-current-microamp: a charge cycle terminates when the >> >> + battery voltage is above recharge threshold, and the current is below >> >> + this setting (typically 10% of battery capacity). >> >> + See Documentation/devicetree/bindings/power/supply/battery.txt >> >> +- ti,system-minimum-microvolt: when power is connected and the battery is below >> >> + minimum system voltage, the system will be regulated above this setting. >> >> + >> >> +Other features: >> >> +- Use gpio-hog to set the OTG pin high to enable 500mA charge current on USB SDP port. >> > >> > Why doesn't the charger driver control this? >> >> This pin/gpio has to be high when USB is plugged in to make the >> charger chip negotiate 500mA from a SDP port. It should generally be >> configured that way even if the driver is not loaded, as the chip does >> not require a driver to function. Some boards may do that with a >> pull-up. Also the user may want to change this via sysfs and not have >> the driver "fix" it. > > drivers/power/supply/qcom_smbb.c exposes the otg feature as > regulator. I think in this case it could be exposed as > gpio-regulator. Hans is doing that here: https://patchwork.kernel.org/patch/9883717/ The datasheet labels one pin "OTG" but that's misleading; it really enables negotiation of 500mA input current, but does not turn on OTG mode. If this pin is low, it only prevents the driver from starting OTG mode via I2C msg. Tony & Matt & I discussed this at some length off-list. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Liam Breck <liam@networkimprov.net> [170812 12:00]: > On Sat, Aug 12, 2017 at 9:42 AM, Sebastian Reichel <sre@kernel.org> wrote: > > On Fri, Aug 11, 2017 at 02:57:10PM -0700, Liam Breck wrote: > >> >> +Other features: > >> >> +- Use gpio-hog to set the OTG pin high to enable 500mA charge current on USB SDP port. > >> > > >> > Why doesn't the charger driver control this? > >> > >> This pin/gpio has to be high when USB is plugged in to make the > >> charger chip negotiate 500mA from a SDP port. It should generally be > >> configured that way even if the driver is not loaded, as the chip does > >> not require a driver to function. Some boards may do that with a > >> pull-up. Also the user may want to change this via sysfs and not have > >> the driver "fix" it. > > > > drivers/power/supply/qcom_smbb.c exposes the otg feature as > > regulator. I think in this case it could be exposed as > > gpio-regulator. > > Hans is doing that here: > https://patchwork.kernel.org/patch/9883717/ > > The datasheet labels one pin "OTG" but that's misleading; it really > enables negotiation of 500mA input current, but does not turn on OTG > mode. If this pin is low, it only prevents the driver from starting > OTG mode via I2C msg. Yeah so before the device has enumerated this pin keeps the max current at 100mA as required by the USB spec. This pin should be only toggled after enumerating in bootloader or by the kernel driver. I tink the USB PHY driver can also be wired to control this line. Probably best to set it up as just a GPIO that the bq24190 driver controls optionally. Then later on we should have some Linux generic way for USB gadget subsystem to tell the charger that we have enumerated, and then bq24190 driver can toggle this GPIO to enable higher charge rates. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Aug 16, 2017 at 8:47 AM, Tony Lindgren <tony@atomide.com> wrote: > * Liam Breck <liam@networkimprov.net> [170812 12:00]: >> On Sat, Aug 12, 2017 at 9:42 AM, Sebastian Reichel <sre@kernel.org> wrote: >> > On Fri, Aug 11, 2017 at 02:57:10PM -0700, Liam Breck wrote: >> >> >> +Other features: >> >> >> +- Use gpio-hog to set the OTG pin high to enable 500mA charge current on USB SDP port. >> >> > >> >> > Why doesn't the charger driver control this? >> >> >> >> This pin/gpio has to be high when USB is plugged in to make the >> >> charger chip negotiate 500mA from a SDP port. It should generally be >> >> configured that way even if the driver is not loaded, as the chip does >> >> not require a driver to function. Some boards may do that with a >> >> pull-up. Also the user may want to change this via sysfs and not have >> >> the driver "fix" it. >> > >> > drivers/power/supply/qcom_smbb.c exposes the otg feature as >> > regulator. I think in this case it could be exposed as >> > gpio-regulator. >> >> Hans is doing that here: >> https://patchwork.kernel.org/patch/9883717/ >> >> The datasheet labels one pin "OTG" but that's misleading; it really >> enables negotiation of 500mA input current, but does not turn on OTG >> mode. If this pin is low, it only prevents the driver from starting >> OTG mode via I2C msg. > > Yeah so before the device has enumerated this pin keeps the > max current at 100mA as required by the USB spec. This pin > should be only toggled after enumerating in bootloader or > by the kernel driver. I tink the USB PHY driver can also > be wired to control this line. > > Probably best to set it up as just a GPIO that the bq24190 > driver controls optionally. > > Then later on we should have some Linux generic way for > USB gadget subsystem to tell the charger that we have > enumerated, and then bq24190 driver can toggle this GPIO > to enable higher charge rates. I discovered a few months ago that setting this pin high after USB connect has NO effect on iinlim. It has to be high at connect to auto-negotiate 500mA. There is no point in making the driver control this pin; we already tried that. Here we are just documenting how the DT can enable this pin via gpio-hog. I believe the only way to defer 500mA negotiation is to leave this pin off and set iinlim via I2C msg to chip. We can do that in a gadget script via sysfs input_current_limit. Hans does not have to enable this pin to start OTG-host on his x86 device, perhaps because it is wired high there. Our script can set the linked gpio high if nec for OTG-host. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Liam Breck <liam@networkimprov.net> [170816 13:11]: > On Wed, Aug 16, 2017 at 8:47 AM, Tony Lindgren <tony@atomide.com> wrote: > > * Liam Breck <liam@networkimprov.net> [170812 12:00]: > >> On Sat, Aug 12, 2017 at 9:42 AM, Sebastian Reichel <sre@kernel.org> wrote: > >> > On Fri, Aug 11, 2017 at 02:57:10PM -0700, Liam Breck wrote: > >> >> >> +Other features: > >> >> >> +- Use gpio-hog to set the OTG pin high to enable 500mA charge current on USB SDP port. > >> >> > > >> >> > Why doesn't the charger driver control this? > >> >> > >> >> This pin/gpio has to be high when USB is plugged in to make the > >> >> charger chip negotiate 500mA from a SDP port. It should generally be > >> >> configured that way even if the driver is not loaded, as the chip does > >> >> not require a driver to function. Some boards may do that with a > >> >> pull-up. Also the user may want to change this via sysfs and not have > >> >> the driver "fix" it. > >> > > >> > drivers/power/supply/qcom_smbb.c exposes the otg feature as > >> > regulator. I think in this case it could be exposed as > >> > gpio-regulator. > >> > >> Hans is doing that here: > >> https://patchwork.kernel.org/patch/9883717/ > >> > >> The datasheet labels one pin "OTG" but that's misleading; it really > >> enables negotiation of 500mA input current, but does not turn on OTG > >> mode. If this pin is low, it only prevents the driver from starting > >> OTG mode via I2C msg. > > > > Yeah so before the device has enumerated this pin keeps the > > max current at 100mA as required by the USB spec. This pin > > should be only toggled after enumerating in bootloader or > > by the kernel driver. I tink the USB PHY driver can also > > be wired to control this line. > > > > Probably best to set it up as just a GPIO that the bq24190 > > driver controls optionally. > > > > Then later on we should have some Linux generic way for > > USB gadget subsystem to tell the charger that we have > > enumerated, and then bq24190 driver can toggle this GPIO > > to enable higher charge rates. > > I discovered a few months ago that setting this pin high after USB > connect has NO effect on iinlim. It has to be high at connect to > auto-negotiate 500mA. There is no point in making the driver control > this pin; we already tried that. > > Here we are just documenting how the DT can enable this pin via gpio-hog. Or in bootloader. Yeah this is mostly for completely empty battery to start charging at 100mA until bootloader can start and enable higher rates. > I believe the only way to defer 500mA negotiation is to leave this pin > off and set iinlim via I2C msg to chip. We can do that in a gadget > script via sysfs input_current_limit. Hans does not have to enable > this pin to start OTG-host on his x86 device, perhaps because it is > wired high there. Our script can set the linked gpio high if nec for > OTG-host. Yeah once something is running? If the kernel does not need to do anything about it, how about just leave it out of the binding docs then? Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Aug 16, 2017 at 2:06 PM, Tony Lindgren <tony@atomide.com> wrote: > * Liam Breck <liam@networkimprov.net> [170816 13:11]: >> On Wed, Aug 16, 2017 at 8:47 AM, Tony Lindgren <tony@atomide.com> wrote: >> > * Liam Breck <liam@networkimprov.net> [170812 12:00]: >> >> On Sat, Aug 12, 2017 at 9:42 AM, Sebastian Reichel <sre@kernel.org> wrote: >> >> > On Fri, Aug 11, 2017 at 02:57:10PM -0700, Liam Breck wrote: >> >> >> >> +Other features: >> >> >> >> +- Use gpio-hog to set the OTG pin high to enable 500mA charge current on USB SDP port. >> >> >> > >> >> >> > Why doesn't the charger driver control this? >> >> >> >> >> >> This pin/gpio has to be high when USB is plugged in to make the >> >> >> charger chip negotiate 500mA from a SDP port. It should generally be >> >> >> configured that way even if the driver is not loaded, as the chip does >> >> >> not require a driver to function. Some boards may do that with a >> >> >> pull-up. Also the user may want to change this via sysfs and not have >> >> >> the driver "fix" it. >> >> > >> >> > drivers/power/supply/qcom_smbb.c exposes the otg feature as >> >> > regulator. I think in this case it could be exposed as >> >> > gpio-regulator. >> >> >> >> Hans is doing that here: >> >> https://patchwork.kernel.org/patch/9883717/ >> >> >> >> The datasheet labels one pin "OTG" but that's misleading; it really >> >> enables negotiation of 500mA input current, but does not turn on OTG >> >> mode. If this pin is low, it only prevents the driver from starting >> >> OTG mode via I2C msg. >> > >> > Yeah so before the device has enumerated this pin keeps the >> > max current at 100mA as required by the USB spec. This pin >> > should be only toggled after enumerating in bootloader or >> > by the kernel driver. I tink the USB PHY driver can also >> > be wired to control this line. >> > >> > Probably best to set it up as just a GPIO that the bq24190 >> > driver controls optionally. >> > >> > Then later on we should have some Linux generic way for >> > USB gadget subsystem to tell the charger that we have >> > enumerated, and then bq24190 driver can toggle this GPIO >> > to enable higher charge rates. >> >> I discovered a few months ago that setting this pin high after USB >> connect has NO effect on iinlim. It has to be high at connect to >> auto-negotiate 500mA. There is no point in making the driver control >> this pin; we already tried that. >> >> Here we are just documenting how the DT can enable this pin via gpio-hog. > > Or in bootloader. Yeah this is mostly for completely empty > battery to start charging at 100mA until bootloader can start > and enable higher rates. > >> I believe the only way to defer 500mA negotiation is to leave this pin >> off and set iinlim via I2C msg to chip. We can do that in a gadget >> script via sysfs input_current_limit. Hans does not have to enable >> this pin to start OTG-host on his x86 device, perhaps because it is >> wired high there. Our script can set the linked gpio high if nec for >> OTG-host. > > Yeah once something is running? I haven't tried OTG-host on the anvl yet since it requires a special cable. > If the kernel does not need to do anything about it, how about > just leave it out of the binding docs then? It seemed useful to document the OTG pin DT config for boards that have it wired to a gpio... Is that not wise? -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Liam Breck <liam@networkimprov.net> [170816 14:16]: > On Wed, Aug 16, 2017 at 2:06 PM, Tony Lindgren <tony@atomide.com> wrote: > > > If the kernel does not need to do anything about it, how about > > just leave it out of the binding docs then? > > It seemed useful to document the OTG pin DT config for boards that > have it wired to a gpio... Is that not wise? Well maybe just add a comment to the driver about it until we know how we want to handle it? Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Liam Breck <liam@networkimprov.net> [170816 14:16]: > On Wed, Aug 16, 2017 at 2:06 PM, Tony Lindgren <tony@atomide.com> wrote: > > If the kernel does not need to do anything about it, how about > > just leave it out of the binding docs then? > > It seemed useful to document the OTG pin DT config for boards that > have it wired to a gpio... Is that not wise? Well maybe add it as a note to the description rather than a binding. It might be actually best to document it in both places. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/power/supply/bq24190.txt b/Documentation/devicetree/bindings/power/supply/bq24190.txt new file mode 100644 index 00000000..82a1c842 --- /dev/null +++ b/Documentation/devicetree/bindings/power/supply/bq24190.txt @@ -0,0 +1,49 @@ +TI BQ24190 Li-Ion Battery Charger + +Required properties: +- compatible: contains one of the following: + * "ti,bq24190" + * "ti,bq24192i" +- reg: integer, I2C address of the charger. +- interrupts[-extended]: configuration for charger INT pin. + +Optional properties: +- monitored-battery: phandle of battery characteristics devicetree node + The charger uses the following battery properties: + + precharge-current-microamp: maximum charge current during precharge + phase (typically 20% of battery capacity). + + charge-term-current-microamp: a charge cycle terminates when the + battery voltage is above recharge threshold, and the current is below + this setting (typically 10% of battery capacity). + See Documentation/devicetree/bindings/power/supply/battery.txt +- ti,system-minimum-microvolt: when power is connected and the battery is below + minimum system voltage, the system will be regulated above this setting. + +Other features: +- Use gpio-hog to set the OTG pin high to enable 500mA charge current on USB SDP port. + +Example: + + bat: battery { + compatible = "simple-battery"; + precharge-current-microamp = <256000>; + charge-term-current-microamp = <128000>; + // etc. + }; + + bq24190: charger@6a { + compatible = "ti,bq24190"; + reg = <0x6a>; + interrupts-extended = <&gpiochip 10 IRQ_TYPE_EDGE_FALLING>; + monitored-battery = <&bat>; + ti,system-minimum-microvolt = <3200000>; + }; + + &twl_gpio { + otg { + gpio-hog; + gpios = <6 0>; + output-high; + line-name = "otg-gpio"; + }; + };