From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v9,12/12] extcon: axp288: Set USB role where necessary From: Chanwoo Choi Message-Id: <5AB441EB.2030403@samsung.com> Date: Fri, 23 Mar 2018 08:53:15 +0900 To: Heikki Krogerus , Greg Kroah-Hartman , Hans de Goede Cc: Darren Hart , Andy Shevchenko , MyungJoo Ham , Mathias Nyman , Guenter Roeck , Jun Li , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org List-ID: T24gMjAxOOuFhCAwM+yblCAyMOydvCAyMTo1NywgSGVpa2tpIEtyb2dlcnVzIHdyb3RlOgo+IEZy b206IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+Cj4gCj4gVGhlIEFYUDI4OCBC QzEuMiBjaGFyZ2VyIGRldGVjdGlvbiAvIGV4dGNvbiBjb2RlIG1heSBzZWVtIGxpa2UgYSBzdHJh bmdlCj4gcGxhY2UgdG8gYWRkIGNvZGUgdG8gY29udHJvbCB0aGUgVVNCIHJvbGUtc3dpdGNoIG9u IGRldmljZXMgd2l0aCBhbiBBWFAyODgsCj4gYnV0IHRoZXJlIGFyZSAyIHJlYXNvbnMgdG8gZG8g dGhpcyBpbnNpZGUgdGhlIGF4cDI4OCBleHRjb24gY29kZToKPiAKPiAxKSBPbiBtYW55IGRldmlj ZXMgdGhlIFVTQiByb2xlIGlzIGNvbnRyb2xsZWQgYnkgQUNQSSBBTUwgY29kZSwgYnV0IHRoZSBB TUwKPiAgICBjb2RlIG9ubHkgc3dpdGNoZXMgYmV0d2VlbiB0aGUgaG9zdCBhbmQgbm9uZSByb2xl cywgYmVjYXVzZSBvZiBXaW5kb3dzCj4gICAgbm90IHJlYWxseSB1c2luZyBkZXZpY2UgbW9kZS4g VG8gbWFrZSBkZXZpY2UgbW9kZSB3b3JrIHdlIG5lZWQgdG8gdG9nZ2xlCj4gICAgYmV0d2VlbiB0 aGUgbm9uZS9kZXZpY2Ugcm9sZXMgYmFzZWQgb24gVmJ1cyBwcmVzZW5jZSwgYW5kIHRoZSBheHAy ODgKPiAgICBleHRjb24gZ2V0cyBpbnRlcnJ1cHRzIG9uIFZidXMgaW5zZXJ0aW9uIC8gcmVtb3Zh bC4KPiAKPiAyKSBJbiBvcmRlciBmb3Igb3VyIEJDMS4yIGNoYXJnZXIgZGV0ZWN0aW9uIHRvIHdv cmsgcHJvcGVybHkgdGhlIHJvbGUKPiAgICBtdXggbXVzdCBiZSBwcm9wZXJseSBzZXQgdG8gZGV2 aWNlIG1vZGUgYmVmb3JlIHdlIGRvIHRoZSBkZXRlY3Rpb24uCj4gCj4gQWxzbyBub3RlIHRoZSBL Y29uZmlnIGhlbHAtdGV4dCAvIG9ic29sZXRlIGRlcGVuZHMgb24gVVNCX1BIWSB3aGljaCBhcmUK PiByZW1uYW50cyBmcm9tIG9sZGVyIG5ldmVyIHVwc3RyZWFtZWQgY29kZSBhbHNvIGNvbnRyb2xs aW5nIHRoZSBtdXggZnJvbQo+IHRoZSBheHAyODggZXh0Y29uIGNvZGUuCj4gCj4gVGhpcyBjb21t aXQgYWxzbyBhZGRzIGNvZGUgdG8gZ2V0IG5vdGlmaWNhdGlvbnMgZnJvbSB0aGUgSU5UMzQ5NiBl eHRjb24KPiBkZXZpY2UsIHdoaWNoIGlzIHVzZWQgb24gc29tZSBkZXZpY2VzIHRvIG5vdGlmeSB0 aGUga2VybmVsIGFib3V0IGlkLXBpbgo+IGNoYW5nZXMgaW5zdGVhZCBvZiB0aGVtIGJlaW5nIGhh bmRsZWQgdGhyb3VnaCBBTUwgY29kZS4KPiAKPiBUaGlzIGZpeGVzOgo+IC1EZXZpY2UgbW9kZSBu b3Qgd29ya2luZyBvbiBtb3N0IENIVCBkZXZpY2VzIHdpdGggYW4gQVhQMjg4Cj4gLUhvc3QgbW9k ZSBub3Qgd29ya2luZyBvbiBkZXZpY2VzIHdpdGggYW4gSU5UMzQ5NiBBQ1BJIGRldmljZQo+IC1D aGFyZ2VyLXR5cGUgbWlzZGV0ZWN0aW9uIChhbHdheXMgU0RQKSBvbiBkZXZpY2VzIHdpdGggYW4g SU5UMzQ5NiB3aGVuIHRoZQo+ICBVU0Igcm9sZSAoYWx3YXlzKSBnZXRzIGluaXRpYWxpemVkIGFz IGhvc3QKPiAKPiBTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQu Y29tPgo+IFJldmlld2VkLWJ5OiBBbmR5IFNoZXZjaGVua28gPGFuZHkuc2hldmNoZW5rb0BnbWFp bC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogSGVpa2tpIEtyb2dlcnVzIDxoZWlra2kua3JvZ2VydXNA bGludXguaW50ZWwuY29tPgo+IC0tLQo+IENoYW5nZXMgaW4gdjQ6Cj4gLUFkZCBBbmR5J3MgUmV2 aWV3ZWQtYnkKPiAKPiBDaGFuZ2VzIGluIHYyOgo+IC1BZGQgZGVwZW5kcyBvbiBYODYgdG8gS2Nv bmZpZyAodGhlIEFYUDI4OCBQTUlDIGlzIG9ubHkgdXNlZCBvbiBYODYpCj4gLVVzZSBuZXcgYWNw aV9kZXZfZ2V0X2ZpcnN0X21hdGNoX25hbWUoKSBoZWxwZXIgdG8gZ2V0IHRoZSBJTlQzNDk2IGRl dmljZS1uYW1lCj4gLUFkZCBIZWlra2kncyBSZXZpZXdlZC1ieQo+IC0tLQo+ICBkcml2ZXJzL2V4 dGNvbi9LY29uZmlnICAgICAgICAgfCAgIDMgKy0KPiAgZHJpdmVycy9leHRjb24vZXh0Y29uLWF4 cDI4OC5jIHwgMTc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4g IDIgZmlsZXMgY2hhbmdlZCwgMTcwIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpBY2tl ZC1ieTogQ2hhbndvbyBDaG9pIDxjdzAwLmNob2lAc2Ftc3VuZy5jb20+Cgpbc25pcF0K From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chanwoo Choi Subject: Re: [PATCH v9 12/12] extcon: axp288: Set USB role where necessary Date: Fri, 23 Mar 2018 08:53:15 +0900 Message-ID: <5AB441EB.2030403@samsung.com> References: <20180320125713.85465-1-heikki.krogerus@linux.intel.com> <20180320125713.85465-13-heikki.krogerus@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT Return-path: In-reply-to: <20180320125713.85465-13-heikki.krogerus@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org To: Heikki Krogerus , Greg Kroah-Hartman , Hans de Goede Cc: Darren Hart , Andy Shevchenko , MyungJoo Ham , Mathias Nyman , Guenter Roeck , Jun Li , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org List-Id: platform-driver-x86.vger.kernel.org On 2018년 03월 20일 21:57, Heikki Krogerus wrote: > From: Hans de Goede > > The AXP288 BC1.2 charger detection / extcon code may seem like a strange > place to add code to control the USB role-switch on devices with an AXP288, > but there are 2 reasons to do this inside the axp288 extcon code: > > 1) On many devices the USB role is controlled by ACPI AML code, but the AML > code only switches between the host and none roles, because of Windows > not really using device mode. To make device mode work we need to toggle > between the none/device roles based on Vbus presence, and the axp288 > extcon gets interrupts on Vbus insertion / removal. > > 2) In order for our BC1.2 charger detection to work properly the role > mux must be properly set to device mode before we do the detection. > > Also note the Kconfig help-text / obsolete depends on USB_PHY which are > remnants from older never upstreamed code also controlling the mux from > the axp288 extcon code. > > This commit also adds code to get notifications from the INT3496 extcon > device, which is used on some devices to notify the kernel about id-pin > changes instead of them being handled through AML code. > > This fixes: > -Device mode not working on most CHT devices with an AXP288 > -Host mode not working on devices with an INT3496 ACPI device > -Charger-type misdetection (always SDP) on devices with an INT3496 when the > USB role (always) gets initialized as host > > Signed-off-by: Hans de Goede > Reviewed-by: Andy Shevchenko > Signed-off-by: Heikki Krogerus > --- > Changes in v4: > -Add Andy's Reviewed-by > > Changes in v2: > -Add depends on X86 to Kconfig (the AXP288 PMIC is only used on X86) > -Use new acpi_dev_get_first_match_name() helper to get the INT3496 device-name > -Add Heikki's Reviewed-by > --- > drivers/extcon/Kconfig | 3 +- > drivers/extcon/extcon-axp288.c | 176 +++++++++++++++++++++++++++++++++++++++-- > 2 files changed, 170 insertions(+), 9 deletions(-) Acked-by: Chanwoo Choi [snip] -- Best Regards, Chanwoo Choi Samsung Electronics