Download BIOS User`s Manual

Transcript
BIOS User’s Manual
1.7.3.1 Interrupt 50 (OTG_STATE)
The BIOS uses this location as the variable for the OTG state machine i.e., b_idle and a_idle state
machines from the On-The-Go (OTG) supplement to the USB 2.0 Specification. This variable will
be updated when users call the OTG_STATE_INT. The defined state will be shown as follows:
a_idle
a_wait_bcon
a_host
a_suspend
a_peripheral
a_wait_vfall
b_idle
b_peripheral
b_host
equ
equ
equ
equ
equ
equ
equ
equ
equ
0
1
2
3
4
5
6
7
8
Note: This variable is used by the BIOS. Users should not write to this location.
1.7.3.2 Interrupt 112 (OTG_STATE_INT)
The BIOS supports both a_idle and b_idle state machines for USB-portA only. This interrupt provides support for Session Request Protocol (SRP) and Host Negotiation Protocol (HNP). The
BIOS controls and monitors all the low-level interface i.e. VBUS, OTG_ID, D+/D- pull-up/down,
VBUS pump charge, VBUS pull-up, VBUS-discharge and user’s request (i.e. a_bus_drop,
a_bus_req, b_bus_req etc.). The results of this interrupt will return the state transition from the
current to the next state that follow the OTG supplement to the USB 2.0 specification.
1.7.3.2.1
Software Interface
Entry:
R0 [15:0] bits are defined as follow:
a_bus_drop
a_set_b_hnp_en
bus_req
a_suspend_req
equ
equ
equ
equ
0x0001
0x0002
0x0004
0x0008
b_do_srp
b_hnp_en
b_speed
equ 0x0010
equ 0x0040
equ 0x0080
;from
;from
;from
;from
application:
application:
application:
application:
A-device request bus drop
enable hnp
for both a_bus_req & b_bus_req
A-device request bus suspend
;from app: must call otg_srp then set this variable
;from app: Slave needs to detect the SET_FEATURE
;from app: 0=full, 1=low
Registers Usage: None.
Return:
R0 = OTG_STATE (location at address 50*2 = 0x0064)
R0 = return one of the value define as shown below:
Page 1-26
BIOS User’s Manual v1.1