[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <AANLkTik=M9S6iB9YitHevJ0e7X=jxsug6qLkYdGBqmoo@mail.gmail.com>
Date: Mon, 27 Sep 2010 16:00:35 +0530
From: Arun Murthy <arunrmurthy.83@...il.com>
To: Grazvydas Ignotas <notasas@...il.com>
Cc: Anton Vorontsov <cbouatmailru@...il.com>,
linux-omap@...r.kernel.org, linux-kernel@...r.kernel.org,
Felipe Balbi <balbi@...com>, Madhusudhan <madhu.cr@...com>
Subject: Re: [PATCH v3] power_supply: Add driver for TWL4030/TPS65950 BCI charger
On Mon, Sep 27, 2010 at 1:05 AM, Grazvydas Ignotas <notasas@...il.com> wrote:
>
> TWL4030/TPS65950 is a multi-function device with integrated charger,
> which allows charging from AC or USB. This driver enables the
> charger and provides several monitoring functions.
>
> Tested on OMAP3 Pandora board.
>
> Signed-off-by: Grazvydas Ignotas <notasas@...il.com>
> ---
> This is v3 of BCI charger driver I first sent nearly a year ago [1].
> I've updated it to use the new OTG notifiers for VBUS notifications,
> however it still is not able to determine charge current to use.
> For that reason there is now a temporary module param to enable USB
> charging, until I can figure out how to get that info from the gadget
> stack (hopefully Felipe can help me here).
On detecting USB plug, the driver is suppose to detect the type of usb
device. Then if the device is a PC(standard host) the charging current
is to be obtained from the usb stack. Hence the driver will have to
wait until the usb stack or driver notifies the current that can be
drawn. The usb stack or driver gets to know the amount of current to
be drawn through the negotiations that happen between the host and
device.
> +
> + platform_set_drvdata(pdev, bci);
> +
> + bci->ac.name = "twl4030_ac";
> + bci->ac.type = POWER_SUPPLY_TYPE_MAINS;
> + bci->ac.properties = twl4030_charger_props;
> + bci->ac.num_properties = ARRAY_SIZE(twl4030_charger_props);
> + bci->ac.get_property = twl4030_bci_get_property;
> +
> + ret = power_supply_register(&pdev->dev, &bci->ac);
> + if (ret) {
> + dev_err(&pdev->dev, "failed to register ac: %d\n", ret);
> + goto fail_register_ac;
> + }
> +
> + bci->usb.name = "twl4030_usb";
> + bci->usb.type = POWER_SUPPLY_TYPE_USB;
> + bci->usb.properties = twl4030_charger_props;
> + bci->usb.num_properties = ARRAY_SIZE(twl4030_charger_props);
> + bci->usb.get_property = twl4030_bci_get_property;
> +
> + ret = power_supply_register(&pdev->dev, &bci->usb);
> + if (ret) {
> + dev_err(&pdev->dev, "failed to register usb: %d\n", ret);
> + goto fail_register_usb;
> + }
Only AC and USB monitoring is achieved by registering with power supply class.
How is battery monitored?
An instance of battery is to be registered with power supply class in
order to monitor battery.
Thanks and Regards,
Arun R Murthy
---------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists