一个USB设备能够进入低功耗模式(支持挂起和恢复)。
主机还可以为设备启动、挂起和恢复,在这种情况下,主机知道设备状态。
设想情况是:
发布于 2017-07-28 15:33:39
根据USB规范,USB设备不能挂起到USB主机的链接。只有主机才能挂起链接。挂起(U3)也不同于低功耗模式(U1/U2)。通过与主机协商,设备可以开始切换到低功耗模式,但不能暂停。
现在让我们考虑一下您的意思是低功耗模式(U1/U2),那么主机驱动程序无法知道端口何时切换到由设备启动的低功耗模式,因为这不会发生任何事件。您需要监视您自己的链接状态,以查看链接是否切换到低功耗模式。
据我所知,有一个API用来获取连接到集线器的设备的链接状态。
static void xhci_hub_report_link_state(struct xhci_hcd *xhci,
u32 *status, u32 status_reg)此API可用于跟踪通过外部集线器连接的设备的链接状态。但是没有API可以用来读取根中心端口链接状态。如果主机控制器驱动程序公开任何接口,则可以使用该接口。
请参阅dwc3控制器代码,该代码公开可用于读取链接状态的调试器接口。
path -usb/dwc3/调试器c
空气污染指数-
static int dwc3_link_state_show(struct seq_file *s, void *unused)PS -我考虑过你有XHCI控制器。但是对于EHCI控制器来说也是一样的。设备永远不能挂起USB连接。
https://stackoverflow.com/questions/45351924
复制相似问题