Browse Source

usb: dwc3: enable hibernation if to be supported

It enables hibernation if the function is set in coreConsultant.

Suggested-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Huang Rui 10 years ago
parent
commit
2eac399289
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/usb/dwc3/core.c

+ 6 - 0
drivers/usb/dwc3/core.c

@@ -449,6 +449,12 @@ static int dwc3_core_init(struct dwc3 *dwc)
 	case DWC3_GHWPARAMS1_EN_PWROPT_HIB:
 	case DWC3_GHWPARAMS1_EN_PWROPT_HIB:
 		/* enable hibernation here */
 		/* enable hibernation here */
 		dwc->nr_scratch = DWC3_GHWPARAMS4_HIBER_SCRATCHBUFS(hwparams4);
 		dwc->nr_scratch = DWC3_GHWPARAMS4_HIBER_SCRATCHBUFS(hwparams4);
+
+		/*
+		 * REVISIT Enabling this bit so that host-mode hibernation
+		 * will work. Device-mode hibernation is not yet implemented.
+		 */
+		reg |= DWC3_GCTL_GBLHIBERNATIONEN;
 		break;
 		break;
 	default:
 	default:
 		dev_dbg(dwc->dev, "No power optimization available\n");
 		dev_dbg(dwc->dev, "No power optimization available\n");