
S3C9654/C9658/P9658
APPENDIX
19-21
EP0CSR Flag Definition
1.
Clr_Setup_End.
1.1. Write only flag. If you read this value then you will get always "0".
1.2. The MCU use this flag for clearing Setup_End flag. The hardware will automatically clear this flag
after clear Setup_End flag.
1.3. This flag can not be a interrupt source.
2.
Clr_Out_Pkt_Rdy.
2.1. Write only flag. If you read this value then you will get always "0".
2.2. The MCU use this flag for clearing Out_Pkt_Rdy flag. The hardware will automatically clear this flag
after clearing Out_Pkt_Rdy.
2.3. This flag can not be a interrupt source.
3.
Send_Stall.
3.1. Write only flag. The hardware will automatically clear after setting up send stall condition.
3.2. If you want to send stall to upstream then you should set this flag. After setting the FSM
(For send stall in next transaction) this flag cleared by hardware.
3.3. Actually this flag can not be a direct source of interrupt but can be a second source of interrupt.
After sent stall packet the SIE will set Sent_Stall flag and generate interrupt to MCU.
4.
Setup_End.
4.1. Read only flag. This flag indicate the termination of control transfer. If the MCU set Data_End flag
and do a successful status stage then the control transfer is terminated by normally. In this case this
flag will not be set. That means this flag will be set when the control transfer is terminated without
Data_End setting or terminated by new setup transaction or protocol violation(In this case, the SIE
will send stall and set Sent_Stall flag). You will get "1" value in above situation when interrupt
occurred.
4.2. If you get "1" value when you get interrupt then you should clear this flag using Clr_Setup_End flag
and should initialize state variable for next new control transfer. According to protocol, the next
transaction should be a setup transaction.
4.3. This flag is source of interrupt. When this flag do a transaction from "0" to "1", the SIE will generate
a interrupt to MCU.
5.
Data_End.
5.1. Read/Write flag. But automatically cleared by hardware after sending status packet in status stage.
5.2. Setting this flag means that MCU will only accepts status stage. So if the controller receive another
transaction then the MCU will send stall packet (except for setup transaction). If the MCU receive
new setup transaction then the hardware will clear this flag and set Setup_End flag.
5.3. This can be a source of interrupt. When this flag do a transition from "1" to "0", the SIE will generate
a interrupt to MCU.