lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 8 Apr 2019 19:10:49 +0300 From: Andy Shevchenko <andy.shevchenko@...il.com> To: Heikki Krogerus <heikki.krogerus@...ux.intel.com> Cc: "Rafael J. Wysocki" <rjw@...ysocki.net>, Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Hans de Goede <hdegoede@...hat.com>, Darren Hart <dvhart@...radead.org>, Andy Shevchenko <andy@...radead.org>, ACPI Devel Maling List <linux-acpi@...r.kernel.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Platform Driver <platform-driver-x86@...r.kernel.org> Subject: Re: [PATCH 09/11] platform/x86: intel_cht_int33fe: Provide fwnode for the USB connector On Wed, Apr 3, 2019 at 7:46 PM Heikki Krogerus <heikki.krogerus@...ux.intel.com> wrote: > > In ACPI, and now also in DT, the USB connectors usually have > their own device nodes. In case of USB Type-C, those > connector (port) nodes are child nodes of the controller or > PHY device, in our case the fusb302. The software fwnodes > allow us to create a similar child node for fusb302 that > represents the connector also on Intel CHT. > > This makes it possible replace the fusb302 specific device > properties which were deprecated with the common USB > connector properties that tcpm.c is able to use directly. > Reviewed-by: Andy Shevchenko <andy.shevchenko@...il.com> > Signed-off-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com> > --- > drivers/platform/x86/intel_cht_int33fe.c | 37 ++++++++++++++++++++++-- > 1 file changed, 34 insertions(+), 3 deletions(-) > > diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c > index 2f12ce154489..544e0b90aa07 100644 > --- a/drivers/platform/x86/intel_cht_int33fe.c > +++ b/drivers/platform/x86/intel_cht_int33fe.c > @@ -25,6 +25,7 @@ > #include <linux/regulator/consumer.h> > #include <linux/slab.h> > #include <linux/pci.h> > +#include <linux/usb/pd.h> > > #define EXPECTED_PTYPE 4 > > @@ -32,6 +33,7 @@ enum { > INT33FE_NODE_FUSB302, > INT33FE_NODE_MAX17047, > INT33FE_NODE_PI3USB30532, > + INT33FE_NODE_USB_CONNECTOR, > INT33FE_NODE_MAX, > }; > > @@ -112,9 +114,29 @@ cht_int33fe_max17047(struct device *dev, struct cht_int33fe_data *data) > > static const struct property_entry fusb302_props[] = { > PROPERTY_ENTRY_STRING("linux,extcon-name", "cht_wcove_pwrsrc"), > - PROPERTY_ENTRY_U32("fcs,max-sink-microvolt", 12000000), > - PROPERTY_ENTRY_U32("fcs,max-sink-microamp", 3000000), > - PROPERTY_ENTRY_U32("fcs,max-sink-microwatt", 36000000), > + { } > +}; > + > +#define PDO_FIXED_FLAGS \ > + (PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP | PDO_FIXED_USB_COMM) > + > +static const u32 src_pdo[] = { > + PDO_FIXED(5000, 1500, PDO_FIXED_FLAGS), > +}; > + > +static const u32 snk_pdo[] = { > + PDO_FIXED(5000, 400, PDO_FIXED_FLAGS), > + PDO_VAR(5000, 12000, 3000), > +}; > + > +static const struct property_entry usb_connector_props[] = { > + PROPERTY_ENTRY_STRING("name", "connector"), > + PROPERTY_ENTRY_STRING("data-role", "dual"), > + PROPERTY_ENTRY_STRING("power-role", "dual"), > + PROPERTY_ENTRY_STRING("try-power-role", "sink"), > + PROPERTY_ENTRY_U32_ARRAY("source-pdos", src_pdo), > + PROPERTY_ENTRY_U32_ARRAY("sink-pdos", snk_pdo), > + PROPERTY_ENTRY_U32("op-sink-microwatt", 36000000), > { } > }; > > @@ -149,6 +171,15 @@ static int cht_int33fe_add_nodes(struct cht_int33fe_data *data) > data->node[i] = fwnode; > } > > + /* Node for the USB connector (FUSB302 is the parent) */ > + fwnode = fwnode_create_software_node(usb_connector_props, > + data->node[INT33FE_NODE_FUSB302]); > + if (IS_ERR(fwnode)) { > + ret = PTR_ERR(fwnode); > + goto err_remove_nodes; > + } > + data->node[INT33FE_NODE_USB_CONNECTOR] = fwnode; > + > return 0; > > err_remove_nodes: > -- > 2.20.1 > -- With Best Regards, Andy Shevchenko
Powered by blists - more mailing lists