On Fri, Feb 13, 2015 at 02:02:11PM -0800, David Cohen wrote: > Hi Felipe, > > [snip] > > > diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c > > index 8d95056..53902ea 100644 > > --- a/drivers/usb/dwc3/dwc3-pci.c > > +++ b/drivers/usb/dwc3/dwc3-pci.c > > @@ -21,6 +21,7 @@ > > #include <linux/slab.h> > > #include <linux/pci.h> > > #include <linux/platform_device.h> > > +#include <linux/gpio/consumer.h> > > > > #include "platform_data.h" > > > > @@ -35,6 +36,24 @@ > > > > static int dwc3_pci_quirks(struct pci_dev *pdev) > > { > > + if (pdev->vendor == PCI_VENDOR_ID_INTEL && > > + pdev->device == PCI_DEVICE_ID_INTEL_BYT) { > > + struct gpio_desc *gpio; > > + > > + gpio = gpiod_get_index(&pdev->dev, "reset", 0); > > + if (!IS_ERR(gpio)) { > > + gpiod_direction_output(gpio, 0); > > + gpiod_set_value_cansleep(gpio, 1); > > + gpiod_put(gpio); > > + } > > + gpio = gpiod_get_index(&pdev->dev, "cs", 1); > > + if (!IS_ERR(gpio)) { > > + gpiod_direction_output(gpio, 0); > > + gpiod_set_value_cansleep(gpio, 1); > > + gpiod_put(gpio); > > + } > > + } > > + > > A lot has been discussed in other branches of this thread. > > But in resume, this is the last open point to make Heikki's proposal > good on my side. If you accept this ugly quirk (but necessary for > current BYT-CR products when ULPI bus enumerates phy), everything seems > good to me. If you don't accept, we need to figure out a way to get the > platform driver code back to give gpio to phy as platform data in a way > that it could live together with ULPI bus (BYT-CR needs the ULPI bus too).
Is this needed to *all* Baytrail devices or could we have devices with updated firmware which won't need this ? I wonder if we should apply the quirk for each known product that actually needs this. Also, I will only accept the series, after I'm shown logs that it works with your known-to-be-broken device. cheers -- balbi
signature.asc
Description: Digital signature