lkml.org 
[lkml]   [2018]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2] usb: typec: get the vbus source and charge values from the devicetree
    Date
    From
    +Mark
    +Rob

    On 2018-09-09 12:05, 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) <angus@akkea.ca>
    > ---
    > .../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.
    >
    > 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;

    \
     
     \ /
      Last update: 2018-09-09 22:10    [W:4.214 / U:0.820 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site