On Wed, Aug 12, 2015 at 07:06:09PM +0800, Yunzhi Li wrote: > Hi , > 在 2015/8/11 22:12, Felipe Balbi 写道: > >Hi, > > > >On Tue, Aug 11, 2015 at 10:27:42AM +0800, Yunzhi Li wrote: > >>We initiate dwc2 usb controller in BIOS, when kernel driver > >>start-up we should reset AHB hclk domain to reset all AHB > >>interface registers to default. Without this the FIFO value > >>setting might be incorrect because calculating FIFO size need the > >>power-on value of GRXFSIZ/GNPTXFSIZ/HPTXFSIZ registers. > >> > >>This patch could avoid warnning massage like in rk3288 platform: > >>[ 2.074764] dwc2 ff580000.usb: 256 invalid for > >>host_perio_tx_fifo_size. Check HW configuration. > >> > >>Signed-off-by: Yunzhi Li > >> > >>--- > >> > >> drivers/usb/dwc2/platform.c | 12 ++++++++++++ > >> 1 file changed, 12 insertions(+) > >> > >>diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c > >>index 9093530..3da21ab 100644 > >>--- a/drivers/usb/dwc2/platform.c > >>+++ b/drivers/usb/dwc2/platform.c > >>@@ -42,6 +42,7 @@ > >> #include > >> #include > >> #include > >>+#include > >> #include > >>@@ -165,6 +166,7 @@ static int dwc2_driver_probe(struct platform_device *dev) > >> struct resource *res; > >> struct phy *phy; > >> struct usb_phy *uphy; > >>+ struct reset_control *rst; > >> int retval; > >> int irq; > >>@@ -189,6 +191,16 @@ static int dwc2_driver_probe(struct platform_device *dev) > >> hsotg->dev = &dev->dev; > >>+ /* AHB hclk domain reset, set all AHB interface registers to default */ > >>+ rst = devm_reset_control_get_optional(&dev->dev, "ahb_reset"); > >why isn't this done in core so PCI systems can also make use of it ? > > > I have no ides about how to reset a PCI interface dwc2 controller, John > could you please give some infomation about it ? > Is it also needed for PCI interface dwc2 IP ? even on platform only, how do you know all users provide a ahb_reset reset controller ? -- balbi