Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Mar 2018 22:45:45 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r330554 - head/sys/arm/allwinner
Message-ID:  <201803062245.w26MjjJK073834@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Tue Mar  6 22:45:45 2018
New Revision: 330554
URL: https://svnweb.freebsd.org/changeset/base/330554

Log:
  aw_usbphy: Move later to SUPPORTDEV pass
  
  vbus-supply properties may be specified for each PHY. These properties
  reference a regulator that we must turn on/off as we turn the PHY on/off.
  However, if the usbphy comes up before the regulator in question (as is the
  case with GPIO-controlled regulators), then we will fail to grab a handle to
  the regulator and control it as the PHY power state changes.
  
  Fix it by just attaching the usbphy driver later. We don't really need it at
  RESOURCE, we just need it to be before DEFAULT when ehci/ohci attach. In
  particular, this fixes the USB NIC on a board that we don't yet supported-
  without this, it will not power on and if_ure cannot attach.
  
  Tested on:	various boards [manu]
  Tested on:	OrangePi R1 [Rap2 (irc)]
  Reported by:	Rap2 (irc, "Cannot find USB NIC")

Modified:
  head/sys/arm/allwinner/aw_usbphy.c

Modified: head/sys/arm/allwinner/aw_usbphy.c
==============================================================================
--- head/sys/arm/allwinner/aw_usbphy.c	Tue Mar  6 21:45:23 2018	(r330553)
+++ head/sys/arm/allwinner/aw_usbphy.c	Tue Mar  6 22:45:45 2018	(r330554)
@@ -418,7 +418,7 @@ static driver_t awusbphy_driver = {
 };
 
 static devclass_t awusbphy_devclass;
-
+/* aw_usbphy needs to come up after regulators/gpio/etc, but before ehci/ohci */
 EARLY_DRIVER_MODULE(awusbphy, simplebus, awusbphy_driver, awusbphy_devclass,
-    0, 0, BUS_PASS_RESOURCE + BUS_PASS_ORDER_MIDDLE);
+    0, 0, BUS_PASS_SUPPORTDEV + BUS_PASS_ORDER_MIDDLE);
 MODULE_VERSION(awusbphy, 1);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803062245.w26MjjJK073834>