Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2764133imm; Mon, 10 Sep 2018 06:13:56 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYPTgJkSHu8ce5I/LqMfmF7N8KpzP6hI/MLLQ3nnrl9acLLsLoCCZUeYckq/lU+ZhC3qP/6 X-Received: by 2002:a65:608b:: with SMTP id t11-v6mr23002347pgu.259.1536585236500; Mon, 10 Sep 2018 06:13:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536585236; cv=none; d=google.com; s=arc-20160816; b=QuBIJojHYG53hlPMHOmIudkwQ4trKe9COs/98CCT3dsRG2cpCQMVnWl2dEqZ1lvbyk bqo3Ster8nbx8gqg5GZnq7EXAwCATgoDNCDIWvuZocd5azCbei3HUtX1mC+FTV5yx7oY 80Cs5sfooDQUj9/abbSpgXBGUvKChbmmiqCh/94TvY0IYqC0M0B891ZkH1EByfrNeQe+ 7PX9xt8X4xFSK7TeObLmoj09UEp4Qy/JRvNm1tWnIWVSmgExH1sjWc61iv/fWJtXvoA1 xj5tJyh3IbhBcPvIECy6nnJkkCr5mqIdCws/P2WVRIdfYUqDGz+zcQDjgqEex2l92olw mTpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:cc:from:date:content-transfer-encoding:mime-version :subject:to:dkim-signature; bh=HOl6YisnWcrnte8Vt3kXD+q7ASel3KYhWVAAC4Se2xI=; b=VdwVNCCj0jZC6keTTPMISXUPuFiak7n3Cdj0yVe15Ew9Yehd3raSq4K77HNNEJxBPv tVMAZnM/SkyxHuhCx+hn2ww3WdNa/koTWFGNZLUehrg7wN9AVZ67LXWs8I1bqZydBEVx cfo7CdLqBKlQmq52mN9Egn7h2uhh3SOBvF6ub3k0YYEhNO/YqU7oBxF3cg9fR4+Hl+VG XJXZb4YEWOxxyZjKTiSxnRFhaAljNVd+0qB0nW22Zq1wEgt91Iuppc5REtR8JTKQc+4Q 9Ox/KE/7laTIVclAEhodt5um43Vsc/rgKB/2vtkbpOS8NEKeU+RXdkvhFWFKr8Rv/fpR errw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@akkea.ca header.s=mail header.b=JjH8DTTT; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p20-v6si15943438pgk.393.2018.09.10.06.13.40; Mon, 10 Sep 2018 06:13:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@akkea.ca header.s=mail header.b=JjH8DTTT; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728616AbeIJSFo (ORCPT + 99 others); Mon, 10 Sep 2018 14:05:44 -0400 Received: from node.akkea.ca ([192.155.83.177]:38054 "EHLO node.akkea.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727269AbeIJSFo (ORCPT ); Mon, 10 Sep 2018 14:05:44 -0400 Received: by node.akkea.ca (Postfix, from userid 33) id 046995420DB; Mon, 10 Sep 2018 13:11:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1536585103; bh=HOl6YisnWcrnte8Vt3kXD+q7ASel3KYhWVAAC4Se2xI=; h=To:Subject:Date:From:Cc:In-Reply-To:References; b=JjH8DTTTwcynPJtnrT+ZFv3s/lP1QQkPG9ciVbHputR2p+cZypKxcKpV9heR5t1VK t/D00ui3JxJhkOhNp29wemS0MPqTpWFxq8P2lwdX1T395M0XQ91J46f0mz5s+vp1+Q keTaFWOZ4tJrYe0WDu96/zIddBfIzIz6gv1fIw3k= To: Heikki Krogerus Subject: Re: [PATCH v2] usb: typec: get the vbus source and charge values from the devicetree X-PHP-Originating-Script: 1000:rcube.php MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 10 Sep 2018 07:11:43 -0600 From: Angus Ainslie Cc: groeck7@gmail.com, Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20180910073529.GL25121@kuha.fi.intel.com> References: <20180906192644.24587-1-angus@akkea.ca> <20180909180531.28092-1-angus@akkea.ca> <20180910073529.GL25121@kuha.fi.intel.com> Message-ID: <18a1f08b114adb65baf55f202a28d85e@www.akkea.ca> X-Sender: angus@akkea.ca User-Agent: Roundcube Webmail/1.1.3 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Heikki On 2018-09-10 01:35, Heikki Krogerus wrote: > On Sun, Sep 09, 2018 at 12:05:31PM -0600, Angus Ainslie (Purism) wrote: >> If the board is being powered by USB disabling the source and sink >> can remove power from the board. Allow the source and sink to be >> initallized based on devicetree values. >> >> Changed since V1: >> >> use devicetree values instead of hardcoded initialization. >> >> Signed-off-by: Angus Ainslie (Purism) >> --- >> .../bindings/connector/usb-connector.txt | 4 ++++ >> drivers/usb/typec/tcpm.c | 14 >> +++++++++++--- >> 2 files changed, 15 insertions(+), 3 deletions(-) >> >> diff --git >> a/Documentation/devicetree/bindings/connector/usb-connector.txt >> b/Documentation/devicetree/bindings/connector/usb-connector.txt >> index 8855bfcfd778..afe851a713c3 100644 >> --- a/Documentation/devicetree/bindings/connector/usb-connector.txt >> +++ b/Documentation/devicetree/bindings/connector/usb-connector.txt >> @@ -22,6 +22,10 @@ Optional properties for usb-c-connector: >> or Try.SRC, should be "sink" for Try.SNK or "source" for Try.SRC. >> - data-role: should be one of "host", "device", "dual"(DRD) if typec >> connector supports USB data. >> +- init-vbus-source: set the initalization value for vbus-source to >> true. >> + If this property is not present the initial value will be false. >> +- init-vbus-charge: set the initalization value for vbus-charge to >> true. >> + If this property is not present the initial value will be false. > > If you put the description of those properties here, you are going to > need to rename them. Those describe tcpm specific properties, but to > that file you want to put descriptions of generic properties. > They are tcpm specific but need to go into the connector sub-node to get parsed correctly. Would something like below be better ? diff --git a/Documentation/devicetree/bindings/usb/typec-tcpci.txt b/Documentation/devicetree/bindings/usb/typec-tcpci.txt index 0dd1469e7318..ae0a3e97d9b6 100644 --- a/Documentation/devicetree/bindings/usb/typec-tcpci.txt +++ b/Documentation/devicetree/bindings/usb/typec-tcpci.txt @@ -15,6 +15,12 @@ Required sub-node: of connector node are specified in Documentation/devicetree/bindings/connector/usb-connector.txt +Optional properties for usb-c-connector sub-node: +- init-vbus-source: set the initalization value for vbus-source to true. + If this property is not present the initial value will be false. +- init-vbus-charge: set the initalization value for vbus-charge to true. + If this property is not present the initial value will be false. + Example: ptn5110@50 { > Your problem is that you can not cope with a lose of VBUS as a sink, > right? For that you just need one boolean device property IMO. > Something like depend-on-vbus. I thought that it would better to be able to control each independently. With my specific hardware I need both defaulted to true but for another piece of HW just being able to control one of them might be sufficient. Thanks Angus > >> Required properties for usb-c-connector with power delivery support: >> - source-pdos: An array of u32 with each entry providing supported >> power >> diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c >> index ca7bedb46f7f..7f5d4f209e07 100644 >> --- a/drivers/usb/typec/tcpm.c >> +++ b/drivers/usb/typec/tcpm.c >> @@ -2462,9 +2462,7 @@ static int tcpm_init_vbus(struct tcpm_port >> *port) >> { >> int ret; >> >> - ret = port->tcpc->set_vbus(port->tcpc, false, false); >> - port->vbus_source = false; >> - port->vbus_charge = false; >> + ret = port->tcpc->set_vbus(port->tcpc, port->vbus_source, >> port->vbus_charge); >> return ret; >> } >> >> @@ -4266,6 +4264,16 @@ static int tcpm_fw_get_caps(struct tcpm_port >> *port, >> return -EINVAL; >> port->port_type = port->typec_caps.type; >> >> + if (fwnode_property_present(fwnode, "init-vbus-source")) >> + port->vbus_source = true; >> + else >> + port->vbus_source = false; >> + >> + if (fwnode_property_present(fwnode, "init-vbus-charge")) >> + port->vbus_charge = true; >> + else >> + port->vbus_charge = false; >> + >> if (port->port_type == TYPEC_PORT_SNK) >> goto sink; >> >> -- >> 2.17.1 > > Thanks,