From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752551AbdHPRig (ORCPT ); Wed, 16 Aug 2017 13:38:36 -0400 Received: from mx1.redhat.com ([209.132.183.28]:32844 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751844AbdHPRie (ORCPT ); Wed, 16 Aug 2017 13:38:34 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 116BC4ACB4 Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=hdegoede@redhat.com Subject: Re: [PATCH v2 08/14] power: supply: Add power_supply_set_input_current_limit_from_supplier helper To: Tony Lindgren Cc: Wolfram Sang , Guenter Roeck , Heikki Krogerus , Sebastian Reichel , Darren Hart , Andy Shevchenko , Greg Kroah-Hartman , Liam Breck , linux-i2c@vger.kernel.org, linux-pm@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org References: <20170815200502.17339-1-hdegoede@redhat.com> <20170815200502.17339-9-hdegoede@redhat.com> <20170816155443.GH8569@atomide.com> From: Hans de Goede Message-ID: <327357a2-3491-fa7c-f715-eb1c321c3c38@redhat.com> Date: Wed, 16 Aug 2017 19:38:29 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170816155443.GH8569@atomide.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 16 Aug 2017 17:38:34 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 16-08-17 17:54, Tony Lindgren wrote: > * Hans de Goede [170815 13:06]: >> On some devices the USB Type-C port power (USB PD 2.0) negotiation is >> done by a separate port-controller IC, while the current limit is >> controlled through another (charger) IC. >> >> It has been decided to model this by modelling the external Type-C >> power brick (adapter/charger) as a power-supply class device which >> supplies the charger-IC, with its voltage-now and current-max representing >> the negotiated voltage and max current draw. >> >> This commit adds a power_supply_set_input_current_limit_from_supplier >> helper function which charger power-supply drivers can call to get >> the max-current from their supplier and have this applied >> through their set_property call-back to their input-current-limit. > > Hmm so can this also be used for the USB gadget subsystem > to tell charge controller when it's OK to enable 500mA > charging after enumeration? I'm not sure that that would be best modeled this way. Perhaps the phy-driver can directly control the gpio you have for that, that seems better then trying to solve this with cross subsystem calls which are always tricky. > FYI, that's controlled by the bq24190 pin named OTG that should > be only set high after enumeration. Any ideas how that is wired > on your device? Does it connect to the USB PHY or to a GPIO > line? I believe it is just hardwired to be logical high all the time on my board. Regards, Hans From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: [PATCH v2 08/14] power: supply: Add power_supply_set_input_current_limit_from_supplier helper Date: Wed, 16 Aug 2017 19:38:29 +0200 Message-ID: <327357a2-3491-fa7c-f715-eb1c321c3c38@redhat.com> References: <20170815200502.17339-1-hdegoede@redhat.com> <20170815200502.17339-9-hdegoede@redhat.com> <20170816155443.GH8569@atomide.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20170816155443.GH8569@atomide.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Tony Lindgren Cc: devel@driverdev.osuosl.org, Heikki Krogerus , linux-kernel@vger.kernel.org, Wolfram Sang , Greg Kroah-Hartman , linux-pm@vger.kernel.org, Sebastian Reichel , platform-driver-x86@vger.kernel.org, Liam Breck , Guenter Roeck , Darren Hart , Andy Shevchenko , linux-i2c@vger.kernel.org List-Id: linux-i2c@vger.kernel.org Hi, On 16-08-17 17:54, Tony Lindgren wrote: > * Hans de Goede [170815 13:06]: >> On some devices the USB Type-C port power (USB PD 2.0) negotiation is >> done by a separate port-controller IC, while the current limit is >> controlled through another (charger) IC. >> >> It has been decided to model this by modelling the external Type-C >> power brick (adapter/charger) as a power-supply class device which >> supplies the charger-IC, with its voltage-now and current-max representing >> the negotiated voltage and max current draw. >> >> This commit adds a power_supply_set_input_current_limit_from_supplier >> helper function which charger power-supply drivers can call to get >> the max-current from their supplier and have this applied >> through their set_property call-back to their input-current-limit. > > Hmm so can this also be used for the USB gadget subsystem > to tell charge controller when it's OK to enable 500mA > charging after enumeration? I'm not sure that that would be best modeled this way. Perhaps the phy-driver can directly control the gpio you have for that, that seems better then trying to solve this with cross subsystem calls which are always tricky. > FYI, that's controlled by the bq24190 pin named OTG that should > be only set high after enumeration. Any ideas how that is wired > on your device? Does it connect to the USB PHY or to a GPIO > line? I believe it is just hardwired to be logical high all the time on my board. Regards, Hans