Address offset: 0x058
Global Power Down Register
This is the Hibernation control register. This register is active only during hibernation and ADP. The application can get the status of the wakeup_logic and control it through this register.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | W | W | W | W | W | V | U | T | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | |||||||
| Reset 0x00000010 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
PMUINTSEL |
PMU Interrupt Select (PMUIntSel) A write to this bit with 1'b1 enables the PMU to generate interrupts to the application. During this state all interrupts from the DWC_otg_core module are blocked to the application. Note: This bit must be set to 1'b1 before the core is put into hibernation. Note: This bit must not be written to during normal mode of operation. |
||||||||||||||||||||||||||||||||
|
DISABLE |
0 |
Internal DWC_otg_core interrupt is selected |
|||||||||||||||||||||||||||||||||
|
ENABLE |
1 |
External DWC_otg_pmu interrupt is selected |
|||||||||||||||||||||||||||||||||
| B |
RW |
PMUACTV |
PMU Active (PMUActv) This is bit is to enable or disable the PMU logic. Note: This bit must not be written to during normal mode of operation. |
||||||||||||||||||||||||||||||||
|
DISABLE |
0 |
Disable PMU module |
|||||||||||||||||||||||||||||||||
|
ENABLE |
1 |
Enable PMU module |
|||||||||||||||||||||||||||||||||
| C |
RW |
RESTORE |
Restore The application must program this bit to enable or disable restore mode from the PMU module. Note: This bit must not be written to during normal mode of operation. |
||||||||||||||||||||||||||||||||
|
DISABLE |
0 |
The controller in normal mode of operation |
|||||||||||||||||||||||||||||||||
|
ENABLE |
1 |
The controller in Restore mode |
|||||||||||||||||||||||||||||||||
| D |
RW |
PWRDNCLMP |
Power Down Clamp (PwrDnClmp) The application must program this bit to enable or disable the clamps to all the outputs of the core module to prevent the corruption of other active logic. |
||||||||||||||||||||||||||||||||
|
DISABLE |
0 |
Disable PMU power clamp |
|||||||||||||||||||||||||||||||||
|
ENABLE |
1 |
Enable PMU power clamp |
|||||||||||||||||||||||||||||||||
| E |
RW |
PWRDNRSTN |
Power Down ResetN (PwrDnRst_n) The application must program this bit to reset the core during the Hibernation exit process or during ADP when powering up the core (in case the core was powered off during ADP process). Note: This bit must not be written to during normal mode of operation. |
||||||||||||||||||||||||||||||||
|
DISABLE |
0 |
Reset the controller |
|||||||||||||||||||||||||||||||||
|
ENABLE |
1 |
The controller is in normal operation |
|||||||||||||||||||||||||||||||||
| F |
RW |
PWRDNSWTCH |
Power Down Switch (PwrDnSwtch) This bit indicates to the controller whether the VDD switch is in ON/OFF state. Note: This bit must not be written to during normal mode of operation. |
||||||||||||||||||||||||||||||||
|
ON |
0 |
The controller is in ON state |
|||||||||||||||||||||||||||||||||
|
OFF |
1 |
The controller is in OFF state |
|||||||||||||||||||||||||||||||||
| G |
RW |
DISABLEVBUS |
DisableVBUS Host Mode: The application must program this bit if HPRT0.PrtPwr was programmed to 0 before entering Hibernation. This is to indicate PMU whether session was ended before entering Hibernation. Device Mode: The application must program this bit to inform the PMU whether the bvalid valid signal is high (session valid) or low (session end) whenever the core is switched off. This bit is valid only when GPWRDN.PMUActv is 1. |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
Host mode:HPRT0.PrtPwr was not programmed to 0, and in Device mode:Session Valid |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
Host mode:HPRT0.PrtPwr was programmed to 0 and in Device mode:Session End |
|||||||||||||||||||||||||||||||||
| H |
RW |
LNSTSCHNG |
Line State Change (LnStsChng) This interrupt is asserted when there is a Linestate Change detected by the PMU. The application must read GPWRDN.Linestate to determine the current linestate on USB. This bit is valid only when GPWRDN.PMUActv is 1. |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
No LineState change on USB |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
LineState change on USB |
|||||||||||||||||||||||||||||||||
| I |
RW |
LINESTAGECHANGEMSK |
LineStageChangeMsk Mask for LineStateChange interrupt. |
||||||||||||||||||||||||||||||||
|
MASK |
0 |
Mask for LineStateChange Interrupt |
|||||||||||||||||||||||||||||||||
|
NOMASK |
1 |
No LineStateChange Interrupt Mask |
|||||||||||||||||||||||||||||||||
| J |
RW |
RESETDETECTED |
ResetDetected This field indicates that Reset has been detected by the PMU module. This field generates an interrupt. |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
Reset not detected |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
Reset detected |
|||||||||||||||||||||||||||||||||
| K |
RW |
RESETDETMSK |
ResetDetMsk Mask for ResetDetected interrupt |
||||||||||||||||||||||||||||||||
|
MASK |
0 |
Mask for ResetDetect Interrupt |
|||||||||||||||||||||||||||||||||
|
NOMASK |
1 |
No ResetDetect Interrupt Mask |
|||||||||||||||||||||||||||||||||
| L |
RW |
DISCONNECTDETECT |
DisconnectDetect This field indicates that Disconnect has been detected by the PMU. This field generates an interrupt. After detecting disconnect during hibernation the application must not restore the core, but instead start the initialization process. |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
Disconnect not detected |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
Disconnect detected |
|||||||||||||||||||||||||||||||||
| M |
RW |
DISCONNECTDETECTMSK |
DisconnectDetectMsk Mask For DisconnectDetect Interrupt |
||||||||||||||||||||||||||||||||
|
MASK |
0 |
Mask for DisconnectDetect Interrupt |
|||||||||||||||||||||||||||||||||
|
NOMASK |
1 |
No DisconnectDetect Interrupt Mask |
|||||||||||||||||||||||||||||||||
| N |
RW |
CONNECTDET |
ConnectDet This field indicates that a new connect has been detected |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
Connect not detected |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
Connect detected |
|||||||||||||||||||||||||||||||||
| O |
RW |
CONNDETMSK |
ConnDetMsk Mask for ConnectDet interrupt |
||||||||||||||||||||||||||||||||
|
NOMASK |
0 |
No ConnectDet Interrupt Mask |
|||||||||||||||||||||||||||||||||
|
MASK |
1 |
Mask for ConnectDet Interrupt |
|||||||||||||||||||||||||||||||||
| P |
RW |
SRPDETECT |
SRPDetect This field indicates that SRP has been detected by the PMU. This field generates an interrupt. After detecting SRP during hibernation the application must not restore the core. The application must get into the initialization process. |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
SRP not detected |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
SRP detected |
|||||||||||||||||||||||||||||||||
| Q |
RW |
SRPDETECTMSK |
SRPDetectMsk Mask for SRPDetect Interrupt |
||||||||||||||||||||||||||||||||
|
NOMASK |
0 |
No SRPDetect Interrupt Mask |
|||||||||||||||||||||||||||||||||
|
MASK |
1 |
Mask for SRPDetect Interrupt |
|||||||||||||||||||||||||||||||||
| R |
RW |
STSCHNGINT |
Status Change Interrupt (StsChngInt) This field indicates a status change in either the IDDIG or BSessVld signal. After receiving this interrupt the application must read the GPWRDN register and interpret the change in IDDIG or BSesVld with respect to the previous value stored by the application. Note: When Battery Charger is enabled and the ULPI interface is used, if StsChngInt is received and the application reads GPWRDN register and determines that it is because of a change in the value of IDDIG, then StsChngInt may be generated once again within the next few clock cycles. This occurs because of an ambiguity in the implementation of Battery Charger Support over the ULPI interface. After receiving the StsChngInt for the second time the application can once again read the GPWRDN register. However, this time the valueIDDIG (or BSesVld) would not have changed. The application then processes the second interrupt but no further action will be required as a result. |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
No Status change |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
Status change detected |
|||||||||||||||||||||||||||||||||
| S |
RW |
STSCHNGINTMSK |
StsChngIntMsk Mask for StsChng Interrupt |
||||||||||||||||||||||||||||||||
|
MASK |
0 |
Mask for Status Change Interrupt |
|||||||||||||||||||||||||||||||||
|
NOMASK |
1 |
No Status Change Interrupt Mask |
|||||||||||||||||||||||||||||||||
| T |
R |
LINESTATE |
LineState This field indicates the current linestate on USB as seen by the PMU module. This bit is valid only when GPWRDN.PMUActv is 1. |
||||||||||||||||||||||||||||||||
|
LS1 |
0 |
Linestate on USB: DM = 0, DP = 0 |
|||||||||||||||||||||||||||||||||
|
LS2 |
1 |
Linestate on USB: DM = 0, DP = 1 |
|||||||||||||||||||||||||||||||||
|
LS3 |
2 |
Linestate on USB: DM = 1, DP = 0 |
|||||||||||||||||||||||||||||||||
|
LS4 |
3 |
Linestate on USB: Not-defined |
|||||||||||||||||||||||||||||||||
| U |
R |
IDDIG |
This bit indicates the status of the signal IDDIG. The application must read this bit after receiving GPWRDN.StsChngInt and decode based on the previous value stored by the application. Indicates the current mode. This bit is valid only when GPWRDN.PMUActv is 1. |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
Host Mode |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
Device Mode |
|||||||||||||||||||||||||||||||||
| V |
R |
BSESSVLD |
B Session Valid (BSessVld) This field reflects the B session valid status signal from the PHY. This bit is valid only when GPWRDN.PMUActv is 1. |
||||||||||||||||||||||||||||||||
|
NOTVALID |
0 |
B_Valid is 0 |
|||||||||||||||||||||||||||||||||
|
VALID |
1 |
B_Valid is 1 |
|||||||||||||||||||||||||||||||||
| W |
R |
MULTVALIDBC |
MultValIdBC Battery Charger ACA inputs in the following order: These bits are present only if BC_SUPPORT = 1. Otherwise, these bits are reserved and will read 5'h0. |
||||||||||||||||||||||||||||||||
|
RID0 |
0 |
OTG device as B-device |
|||||||||||||||||||||||||||||||||
|
RIDC |
1 |
OTG device as B-device, can connect |
|||||||||||||||||||||||||||||||||
|
RIDB |
2 |
OTG device as B-device, cannot connect |
|||||||||||||||||||||||||||||||||
|
RIDA |
4 |
OTG device as A-device |
|||||||||||||||||||||||||||||||||
|
RIDGND |
8 |
ID_OTG pin is grounded |
|||||||||||||||||||||||||||||||||
|
RIDARIDGND |
12 |
OTG device as A-device, RID_A=1 and RID_GND=1 |
|||||||||||||||||||||||||||||||||
|
RIDFLOAT |
16 |
ID pull down when ID_OTG is floating |
|||||||||||||||||||||||||||||||||
|
RIDCRIDFLOAT |
17 |
OTG device as B-device, can connect, RID_C=1 and RID_FLOAT=1 |
|||||||||||||||||||||||||||||||||
|
RIDBRIDFLOAT |
18 |
OTG device as B-device, cannot connect, RID_B=1 and RID_FLOAT=1 |
|||||||||||||||||||||||||||||||||
|
RID1 |
31 |
OTG device as A-device |
|||||||||||||||||||||||||||||||||