System information
5.1 USB Device Emulation
After the daemon detects an active interrupt, it acknowledges the request. Figure 5.6
illustrates the process of this protocol.
AHB-HPI
Bridge
Interrupt Port
MSBO
Daemon
MSBO
Firmware
AHB
Acknowledge Port
...
Command Port
Data Pointer Port
Size Port
...
SRAM
2. polling
5. read out
ARM CPU
USB Controller
3. set
6. reset
1. set
4. reset
Figure 5.6: Processing of an MSBO message. The numbers represent the time flow of the
processing steps.
To avoid raise conditions, the MESSAGE_ACK_PORT is written only by the daemon
and read out by the firmware. In opposite, the MESSAGE_INTERRUPT_PORT is written
by the firmware and read out by the daemon. The firmware resets the interrupt after the
detection of the acknowledgment. This is the same handshaking mechanism used for the
VGA processing entities (shown in section 4.2.2). At the time, the daemon reads out the
message. Afterwards, the daemon resets the acknowledgment.
SCSI Command Processing
The firmware generates a MESSAGE_CMD_SCSI_CMD message, when a SCSI command
from the host arrived. Afterwards the daemon processes the SCSI command. The daemon
does not acknowledge the MESSAGE_CMD_SCSI_CMD until the SCSI command is pro-
cessed. Following steps are passed through while SCSI command processing:
• Host send an SCSI command to the CHARM.
• MSBO firmware sends a MESSAGE_CMD_SCSI_CMD message.
• MSBO daemon process the SCSI command.
• MSBO daemon acknowledges the MESSAGE_CMD_SCSI_CMD message.
• MSBO firmware sends a response to the host.
73