From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759361AbdLRMls (ORCPT ); Mon, 18 Dec 2017 07:41:48 -0500 Received: from mail1.bemta5.messagelabs.com ([195.245.231.142]:10217 "EHLO mail1.bemta5.messagelabs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759152AbdLRMln (ORCPT ); Mon, 18 Dec 2017 07:41:43 -0500 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPIsWRWlGSWpSXmKPExsUSt3OpsW7zdvM og459NhbNi9ezWbw5Pp3Jomv1ThaLy7vmsFl87j3CaLFoWSuzxZOFZ5gsGhe8Z7E4vbvE4s/z W2wOXB47Z91l99i0qpPNY97JQI/9c9ewe7zfd5XNY+f3BnaPz5vkAtijWDPzkvIrElgz1n86z 1xwUKJi46GvrA2MLcJdjFwcQgLrGSWeL7jE3MXICeRUSKyd/Ze1i5GDg1fATeLM3RKQMJuAhc TkEw/YQMIsAqoS57cHgYSFBZwkTj9sYgEZIyIwj0ni1Ya7bCAJZoE6id7fb1lAbF4BQYmTM5+ wQMQlJA6+eAG1ykDi9IJGsLiEgL3E9PdXmUHmSwjoSzQei4UIG0p8n/WNBSJsLtH2xH8CI/8s JENnIRm6gJFpFaNGcWpRWWqRrqGRXlJRZnpGSW5iZo6uoYGpXm5qcXFiempOYlKxXnJ+7iZGY OAzAMEOxr5ZzocYJTmYlER5Z3KbRQnxJeWnVGYkFmfEF5XmpBYfYpTh4FCS4K3cZh4lJFiUmp 5akZaZA4xBmLQEB4+SCK8RSJq3uCAxtzgzHSJ1ilGX49nM1w3MQix5+XmpUuK8biBFAiBFGaV 5cCNg6eASo6yUMC8j0FFCPAWpRbmZJajyrxjFORiVhHnLQabwZOaVwG16BXQEE9ARUyPAjihJ REhJNTAGG+efuHNZL7Lj9uOG+pRZLe9vq98X+Vl4bR3r8f+tDh/t3982OH1mo9LftKynRWddL vZrvo8Q9n9o86n65rfGSum41fvuOfl+VjH+c+FqWfcl6yVPn7Nyb9iTfoNxaqzRxdRt6Za714 tph54+UeOh8i84+sqBgpvMc92VHpYGXM26svj1rvtySizFGYmGWsxFxYkAdIWYYgIDAAA= X-Env-Sender: Adam.Thomson.Opensource@diasemi.com X-Msg-Ref: server-13.tower-179.messagelabs.com!1513600899!106262486!1 X-Originating-IP: [94.185.165.51] X-StarScan-Received: X-StarScan-Version: 9.4.45; banners=-,-,- X-VirusChecked: Checked Message-ID: From: Adam Thomson Date: Mon, 18 Dec 2017 12:41:35 +0000 Subject: [PATCH v3 0/7] typec: tcpm: Add sink side support for PPS To: Heikki Krogerus , Guenter Roeck , Greg Kroah-Hartman , Sebastian Reichel , Hans de Goede , Yueyao Zhu , Rui Miguel Silva CC: , , , MIME-Version: 1.0 Content-Type: text/plain X-KSE-AttachmentFiltering-Interceptor-Info: protection disabled X-KSE-ServerInfo: sw-ex-cashub01.diasemi.com, 9 X-KSE-Antivirus-Interceptor-Info: scan successful X-KSE-Antivirus-Info: Clean, bases: 18/12/2017 09:33:00 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch set adds sink side support for the PPS feature introduced in the USB PD 3.0 specification. The source PPS supply is represented using the Power Supply framework to provide access and control APIs for dealing with it's operating voltage and current, and switching between a standard PDO and PPS APDO operation. During standard PDO operation the voltage and current is read-only, but for APDO PPS these are writable as well to allow for control. It should be noted that the keepalive for PPS is not handled within TCPM. The expectation is that the external user will be required to ensure re-requests occur regularly to ensure PPS remains and the source does not hard reset. Changes in v3: - Drop 'RFC' from patch series titles - Rename PPS related defines to be PPS specific rather than generic APDO titles - Update source caps logging to only print PPS APDOs, and for others report as undefined. - Add ABI documentation for tcpm-source-psy sysfs properties - Rebase PDO selection on top of 'typec: tcpm: Only request matching pdos' patch. - Update capabilities validation introduced in 'typec: tcpm: Validate source and sink caps' to support PPS APDOs. - Dropped power_supply 'type' property update for PPS addition - Added 'connected_type' property to power_supply framework, to support supplies which can report multiple connected types (e.g. USB), as discussed with Heikki. Changes in v2: - Use USB_PD and usb_pd prefixes for macros and inline functions in headers. - Negotiate spec revision of PD headers during initial contract agreement. - New headers now use SPDX tags for referencing correct license. NOTE: Code changes are based on linux-next tag 'next-20171212' to pick up capabilities validation and selection updates. Adam Thomson (7): typec: tcpm: Add PD Rev 3.0 definitions to PD header typec: tcpm: Add ADO header for Alert message handling typec: tcpm: Add SDB header for Status message handling typec: tcpm: Add core support for sink side PPS power: supply: Add 'connected_type' property and supporting code typec: tcpm: Represent source supply through power_supply class typec: tcpm: Add support for sink PPS related messages .../ABI/testing/sysfs-class-power-tcpm-source-psy | 92 +++ drivers/power/supply/power_supply_sysfs.c | 50 ++ drivers/usb/typec/Kconfig | 1 + drivers/usb/typec/fusb302/Kconfig | 2 +- drivers/usb/typec/fusb302/fusb302.c | 63 +- drivers/usb/typec/tcpm.c | 918 ++++++++++++++++++++- include/linux/power_supply.h | 15 + include/linux/usb/pd.h | 187 ++++- include/linux/usb/pd_ado.h | 42 + include/linux/usb/pd_ext_sdb.h | 31 + include/linux/usb/tcpm.h | 2 +- 11 files changed, 1308 insertions(+), 95 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-class-power-tcpm-source-psy create mode 100644 include/linux/usb/pd_ado.h create mode 100644 include/linux/usb/pd_ext_sdb.h -- 1.9.1