Re: [RFC][PATCH 0/3] add EXTCON_CHG_USB_* cables to MSM USB phy

From: Chanwoo Choi
Date: Tue May 23 2017 - 06:16:28 EST


Hi,

On 2017ë 05ì 17ì 22:12, Damien Riegel wrote:
> Hi,
>
> On Fri, Apr 14, 2017 at 02:43:27PM -0400, Damien Riegel wrote:
>> This patchset adds a way for the MSM USB phy to notify a power supply
>> when the charging state changes. It achieves that using the extcon
>> subsystem.
>>
>> The first patch makes sure msm_otg_notify_charger is called after the
>> charger attributes have been set.
>> The second one makes sure that function is called when unplugging a
>> "in-the-wall" charger.
>> The last one adds EXTCON_CHG_USB_* cables to the phy.
>>
>>
>> I send this patchset as RFC because it seems a bit peculiar to have
>> different drivers that generate the EXTCON_USB_* and EXTCON_CHG_USB_*
>> events, so I want to make sure to get things right.
>>
>> As far as I can tell, all the drivers in the kernel that have USB
>> charger events also have the EXTCON_USB one. In this case, this patchset
>> would make things a bit different for the MSM phy:
>>
>> +----------+ +--------------+
>> | gpio | | PMIC |<-+
>> +----------+ +--------------+ |
>> | | |
>> `--------------------+ | EXTCON_CHG_USB_*
>> | | events
>> EXTCON_USB | |
>> events | |
>> \|/ |
>> +--------------+ |
>> | USB PHY |--+
>> +--------------+
>>
>> Text version: EXTCON_USB comes from a GPIO or a PMIC, that triggers a
>> notifier in the USB phy. That notifier will determine the new
>> EXTCON_CHG_USB_XXX state and the PMIC will be notified about it and
>> determine how much current it can use to charge a battery.
>>
>> Please let me know if this is the correct way to go.
>
> I wanted to know if someone has any comment to make on this patchset?
> I'm currently working on the PMIC driver and it uses the EXTCON
> notifications, so I just want to make sure it makes sense to do that.

It looks like some strange situation. In this case, it seems like
that usb phy just uses the extcon as a notifier chain.


IMHO, USB PHY might handle the regulator provided by PMIC
instead of extcon notifier as following:
But, I'm not sure. It is just my opinion.

+----------+ +--------------+
| gpio | | PMIC |
+----------+ +--------------+
| |
`----------+ |
| regulator
EXTCON_USB |
events |
\|/ \|/
+--------------+
| USB PHY |
+--------------+
|
\|/
USB PHY may determine how much current
it can use to charge a battery according
to the charger cable. Because USB PHY
know the kind of connected charger cable.

--
Best Regards,
Chanwoo Choi
Samsung Electronics