Address offset: 0x010
Reset Register
The application uses this register to reset various hardware features inside the controller.
| 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 | J | I | H | G | G | G | F | F | F | F | F | E | D | C | B | A | |||||||||||||||||||
| Reset 0x80000000 | 1 | 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 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CSFTRST |
Mode: Host and Device. Core Soft Reset (CSftRst) Resets the hclk and phy_clock domains as follows: - Clears the interrupts and all the CSR registers except the following register bits: -- PCGCCTL.RstPdwnModule -- PCGCCTL.GateHclk -- PCGCCTL.PwrClmp -- PCGCCTL.StopPPhyLPwrClkSelclk -- GUSBCFG.ForceDevMode -- GUSBCFG.ForceHstMode -- GUSBCFG.PhyLPwrClkSel -- GUSBCFG.DDRSel -- GUSBCFG.PHYSel -- GUSBCFG.FSIntf -- GUSBCFG.ULPI_UTMI_Sel -- GUSBCFG.PHYIf -- GUSBCFG.TxEndDelay -- GUSBCFG.TermSelDLPulse -- GUSBCFG.ULPIClkSusM -- GUSBCFG.ULPIAutoRes -- GUSBCFG.ULPIFsLs -- GGPIO -- GPWRDN -- GADPCTL -- HCFG.FSLSPclkSel -- DCFG.DevSpd -- DCTL.SftDiscon - All module state machines - All module state machines (except the AHB Completer Unit) are reset to the IDLE state, and all the transmit FIFOs and the receive FIFO are flushed. - Any transactions on the AHB Requester are terminated as soon as possible, after gracefully completing the last data phase of an AHB transfer. Any transactions on the USB are terminated immediately. - When Hibernation or ADP feature is enabled, the PMU module is not reset by the Core Soft Reset. The application can write to this bit any time it wants to reset the core. The application must clear this bit after checking the bit 29 of this register (Core Soft Reset Done). Software must also must check that bit 31 of this register is 1 (AHB Requester is IDLE) before starting any operation. Typically software reset is used during software development and also when you dynamically change the PHY selection bits in the USB configuration registers listed above. When you change the PHY, the corresponding clock for the PHY is selected and used in the PHY domain. Once a new clock is selected, the PHY domain has to be reset for proper operation. |
||||||||||||||||||||||||||||||||
|
NOTACTIVE |
0 |
No reset |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Resets hclk and phy_clock domains |
|||||||||||||||||||||||||||||||||
| B |
RW |
PIUFSSFTRST |
Mode: Host and Device. PIU FS Dedicated Controller Soft Reset (PIUFSSftRst) Resets the PIU FS Dedicated Controller All module state machines in FS Dedicated Controller of PIU are reset to the IDLE state. Used to reset the FS Dedicated controller in PIU in case of any PHY Errors like Loss of activity or Babble Error resulting in the PHY remaining in RX state for more than one frame boundary. This is a self clearing bit and core clears this bit after all the necessary logic is reset in the core. |
||||||||||||||||||||||||||||||||
|
RESETINACTIVE |
0 |
No Reset |
|||||||||||||||||||||||||||||||||
|
RESETACTIVE |
1 |
PIU FS Dedicated Controller Soft Reset |
|||||||||||||||||||||||||||||||||
| C |
RW |
FRMCNTRRST |
Mode: Host only. Host Frame Counter Reset (FrmCntrRst) The application writes this bit to reset the (micro)Frame number counter inside the core. When the (micro)Frame counter is reset, the subsequent SOF sent out by the core has a (micro)Frame number of 0. When application writes 1 to the bit, it might not be able to read back the value as it gets cleared by the core in a few clock cycles. |
||||||||||||||||||||||||||||||||
|
NOTACTIVE |
0 |
No reset |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Host Frame Counter Reset |
|||||||||||||||||||||||||||||||||
| D |
RW |
RXFFLSH |
Mode: Host and Device. RxFIFO Flush (RxFFlsh) The application can flush the entire RxFIFO using this bit, but must first ensure that the core is not in the middle of a transaction. The application must only write to this bit after checking that the controller is neither reading from the RxFIFO nor writing to the RxFIFO. The application must wait until the bit is cleared before performing any other operations. This bit requires eight clocks (slowest of PHY or AHB clock) to clear. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Does not flush the entire RxFIFO |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Flushes the entire RxFIFO |
|||||||||||||||||||||||||||||||||
| E |
RW |
TXFFLSH |
Mode: Host and Device. TxFIFO Flush (TxFFlsh) This bit selectively flushes a single or all transmit FIFOs, but cannot do so If the core is in the midst of a transaction. The application must write this bit only after checking that the core is neither writing to the TxFIFO nor reading from the TxFIFO. Verify using these registers: - ReadNAK Effective Interrupt ensures the core is not reading from the FIFO - WriteGRSTCTL.AHBIdle ensures the core is not writing anything to the FIFO. Flushing is normally recommended when FIFOs are reconfigured or when switching between Shared FIFO and Dedicated Transmit FIFO operation. FIFO flushing is also recommended during device endpoint disable. The application must wait until the core clears this bit before performing any operations. This bit takes eight clocks to clear, using the slower clock of phy_clk or hclk. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No Flush |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Selectively flushes a single or all transmit FIFOs |
|||||||||||||||||||||||||||||||||
| F |
RW |
TXFNUM |
Mode: Host and Device. TxFIFO Number (TxFNum) This is the FIFO number that must be flushed using the TxFIFO Flush bit. This field must not be changed until the core clears the TxFIFO Flush bit. -- Non-periodic TxFIFO flush in Host mode -- Non-periodic TxFIFO flush in device mode when in shared FIFO operation -- Tx FIFO 0 flush in device mode when in dedicated FIFO mode -- Periodic TxFIFO flush in Host mode -- Periodic TxFIFO 1 flush in Device mode when in shared FIFO operation -- TXFIFO 1 flush in device mode when in dedicated FIFO mode -- Periodic TxFIFO 2 flush in Device mode when in shared FIFO operation -- TXFIFO 2 flush in device mode when in dedicated FIFO mode ... -- Periodic TxFIFO 15 flush in Device mode when in shared FIFO operation -- TXFIFO 15 flush in device mode when in dedicated FIFO mode |
||||||||||||||||||||||||||||||||
|
TXF0 |
0 |
-Periodic TxFIFO flush in host mode -Periodic TxFIFO 0 flush in device mode when in shared FIFO operation -TXFIFO 0 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF1 |
1 |
-Periodic TxFIFO flush in host mode -Periodic TxFIFO 1 flush in device mode when in shared FIFO operation -TXFIFO 1 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF2 |
2 |
-Periodic TxFIFO 2 flush in device mode when in shared FIFO operation -TXFIFO 2 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF3 |
3 |
-Periodic TxFIFO 3 flush in device mode when in shared FIFO operation -TXFIFO 3 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF4 |
4 |
-Periodic TxFIFO 4 flush in device mode when in shared FIFO operation -TXFIFO 4 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF5 |
5 |
-Periodic TxFIFO 5 flush in device mode when in shared FIFO operation -TXFIFO 5 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF6 |
6 |
-Periodic TxFIFO 6 flush in device mode when in shared FIFO operation -TXFIFO 6 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF7 |
7 |
-Periodic TxFIFO 7 flush in device mode when in shared FIFO operation -TXFIFO 7 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF8 |
8 |
-Periodic TxFIFO 8 flush in device mode when in shared FIFO operation -TXFIFO 8 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF9 |
9 |
-Periodic TxFIFO 9 flush in device mode when in shared FIFO operation -TXFIFO 9 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF10 |
10 |
-Periodic TxFIFO 10 flush in device mode when in shared FIFO operation -TXFIFO 10 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF11 |
11 |
-Periodic TxFIFO 11 flush in device mode when in shared FIFO operation -TXFIFO 11 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF12 |
12 |
-Periodic TxFIFO 12 flush in device mode when in shared FIFO operation -TXFIFO 12 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF13 |
13 |
-Periodic TxFIFO 13 flush in Device mode when in shared FIFO operation -TXFIFO 13 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF14 |
14 |
-Periodic TxFIFO 14 flush in Device mode when in shared FIFO operation -TXFIFO 14 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF15 |
15 |
-Periodic TxFIFO 15 flush in Device mode when in shared FIFO operation - TXFIFO 15 flush in device mode when in dedicated FIFO mode |
|||||||||||||||||||||||||||||||||
|
TXF16 |
16 |
Flush all the transmit FIFOs in device or host mode |
|||||||||||||||||||||||||||||||||
| G |
RW |
CLOCKSWITCHTIMER |
This field is applicable if the controller is configured with multiple PHY interfaces. It must be programmed before programming the required PHY interface in GUSBCFG register. Host Mode: Set this field to 3'b111 if: - The clock from the previous PHY is OFF before switching to the new PHY. Set this field to 3'b010 if all the below conditions are satisfied: - (OTG_FSPHY_INTERFACE != 0 && OTG_HSPHY_INTERFACE !=0) - USB1.1 FS Serial PHY will be used (i.e., GUSBCFG.PHYSel = 1'b1). - Clock from previous PHY is not OFF before switching to the new PHY. This field need not be programmed in other cases. Device Mode: Set this field to 3'b111 if: - The clock from the previous PHY is off before switching to the new PHY. Set this field to 3'b010 if all the below conditions are satisfied: - (OTG_FSPHY_INTERFACE != 0 && OTG_HSPHY_INTERFACE !=0) - USB1.1 FS Serial PHY will be used (i.e., GUSBCFG.PHYSel = 1'b1) - DCFG.DevSpd = 2'b10. - Clock from previous PHY is not OFF before switching to the new PHY. This field need not be programmed in other cases. Note: This field is not required to be programmed if Shared PHY interface is not configured. |
||||||||||||||||||||||||||||||||
|
TIMERVALUE19 |
0 |
timer value set to 19 |
|||||||||||||||||||||||||||||||||
|
TIMERVALUE15 |
1 |
timer value set to 15 |
|||||||||||||||||||||||||||||||||
|
TIMERVALUE147 |
2 |
timer value set to 147 |
|||||||||||||||||||||||||||||||||
|
TIMERVALUE50 |
3 |
timer value set to 50 |
|||||||||||||||||||||||||||||||||
|
TIMERVALUE100 |
4 |
timer value set to 100 |
|||||||||||||||||||||||||||||||||
|
TIMERVALUE125 |
5 |
timer value set to 125 |
|||||||||||||||||||||||||||||||||
|
TIMERVALUE200 |
6 |
timer value set to 200 |
|||||||||||||||||||||||||||||||||
|
TIMERDISABLED |
7 |
timer is disabled |
|||||||||||||||||||||||||||||||||
| H |
RW |
CSFTRSTDONE |
Mode: Host and Device. Core Soft Reset Done (CSftRstDone) The core sets this bit when all the necessary logic is reset in the core.This bit is cleared by the application along with GRSTCTL.CSftRst (bit 0) |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No reset |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Core Soft Reset is done |
|||||||||||||||||||||||||||||||||
| I |
R |
DMAREQ |
Mode: Host and Device. DMA Request Signal (DMAReq) Indicates that the DMA request is in progress. Used for debug. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No DMA request |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
DMA request is in progress |
|||||||||||||||||||||||||||||||||
| J |
R |
AHBIDLE |
Mode: Host and Device. AHB Requester Idle (AHBIdle) Indicates that the AHB Requester State Machine is in the IDLE condition. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not Idle |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
AHB Requester Idle |
|||||||||||||||||||||||||||||||||