GRSTCTL

nRF54LM20A | nRF54LM20B Datasheet

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