From patchwork Wed Aug 30 09:48:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans de Goede X-Patchwork-Id: 807556 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xj15M41xFz9sNn for ; Wed, 30 Aug 2017 19:52:39 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751300AbdH3JsU (ORCPT ); Wed, 30 Aug 2017 05:48:20 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35226 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751242AbdH3JsT (ORCPT ); Wed, 30 Aug 2017 05:48:19 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CC67C91FF1; Wed, 30 Aug 2017 09:48:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com CC67C91FF1 Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=hdegoede@redhat.com Received: from shalem.localdomain.com (ovpn-116-238.ams2.redhat.com [10.36.116.238]) by smtp.corp.redhat.com (Postfix) with ESMTP id E913587CA1; Wed, 30 Aug 2017 09:48:15 +0000 (UTC) From: Hans de Goede To: Darren Hart , Andy Shevchenko , Wolfram Sang , Sebastian Reichel , Greg Kroah-Hartman , Guenter Roeck , Heikki Krogerus Cc: Hans de Goede , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, Liam Breck , Tony Lindgren , linux-pm@vger.kernel.org, devel@driverdev.osuosl.org Subject: [PATCH v3 00/11] Hookup typec power-negotation to the PMIC and charger Date: Wed, 30 Aug 2017 11:48:03 +0200 Message-Id: <20170830094814.17758-1-hdegoede@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 30 Aug 2017 09:48:19 +0000 (UTC) Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org Hi All, Here is v3 of my typec power-negotation hookup series. New this version: - Drop a few patches merged into linux-power-supply.git/for-next - Drop the "power: supply: bq24190_charger: Remove extcon handling" patch *for now*, this can only be merged once all the other patches are in place (and extcon handling is no longer needed) - Address some review comments in some of the other patches, see the per patch changelogs inside the commit messages I believe that this series is ready for merging now and I would like to ask the various subsys maintainers to pick up and merge these patches. All the patches can be merged independent of eachother with the exception of the last 2 patches: i2c-cht-wc: Add device-properties for fusb302 integration platform/x86: intel_cht_int33fe: Update fusb302 type string, add properties Which should not be merged until all the other patches are in place. For reference below is the cover letter of v2 of this patch. Regards, Hans v2 series cover letter: This series implements a number of typec changes discussed a while back: - It exports the negotiated voltage and max-current in the form of a power-supply class device which represents the USB Type-C power-brick (adapter/charger) - It adds a power_supply_set_input_current_limit_from_supplier helper function which charger drivers can use to get the max-current from their supplier - It adds regulator support to the charger IC on the device I've. The exported regulator controls the 5v boost convertor which generates the 5V USB vbus which gets output when the Type-C port is in host / power-src mode - It adds a bunch of misc. related fixes and glue code to tie everything together One thing which was undecided in the previous discussion was how to make port-controller drivers hookup to external ICs (e.g. a non Type-C aware PMIC) to decect the input-current-limit for USB2 power-sources (through e.g. BC1.2 detection). Since a number of existing drivers, including the one for the PMIC used on the 2 mini laptops I'm working on, already use the extcon framework to communicate the detected USB2 charger-type, I've decided to simply hook into this existing code. As this patch set shows this can be done with zero changes to the existing PMIC/extcon drivers. With this series the GPD win and GPD pocket mini laptops both fully support any type of Type-C charging. When hooked up with: -A -> C cable and plugged into a regular port they charge at 5V 0.5A -A -> C cable and plugged into a dedictaed charger they charge at 5V 2A -C -> C cable and plugged into a fixed 5V 3A charger, at 5V 3A -C -> C cable and plugged into a PD capable charger, which delivers max 12V, 2A they charge at 12V, 2A And when a Type-C to USB-A receptacle (so host mode) cable gets plugged in the port correctly supplies 5V to any plugged in USB-A peripherals. This is v2 of this series, which has the following changes (see changelog inside individual patches for details): -Add "i2c: Allow overriding dev_name through board_info" patch, this is necessary for getting stable dev_names which are necessary for specifying regulator-mappings through regulator_init_data -Use regulator_init_data to specify mapping, drop "staging: typec: fusb302: Add support for fcs,vbus-regulator-name device-property" patch -Merged helper code for port-c related extcon / power_supply handling directly into the fusb302 patches using the code, rather then trying to add generic helpers even though there is only 1 user