Bug 3612 - Enable all uarts on the beagleboard , Bug 3612 - Unknown '#file' keyword in base_beagle.iby , Bug 3614 - Including medstaticcrd to the package builds
/* Cypress West Bridge API header file (cyasprotocol.h)
## ===========================
##
## Copyright Cypress Semiconductor Corporation, 2006-2009,
## All Rights Reserved
## UNPUBLISHED, LICENSED SOFTWARE.
##
## CONFIDENTIAL AND PROPRIETARY INFORMATION
## WHICH IS THE PROPERTY OF CYPRESS.
##
## Use of this file is governed
## by the license agreement included in the file
##
## <install>/license/license.txt
##
## where <install> is the Cypress software
## installation root directory path.
##
## ===========================
*/
#ifndef _INCLUDED_CYASPROTOCOL_H_
#define _INCLUDED_CYASPROTOCOL_H_
/*
* Constants defining the per context buffer sizes
*/
#ifndef __doxygen__
#define CY_CTX_GEN_MAX_DATA_SIZE (8)
#define CY_CTX_RES_MAX_DATA_SIZE (8)
#define CY_CTX_STR_MAX_DATA_SIZE (64)
#define CY_CTX_USB_MAX_DATA_SIZE (130 + 23)
#define CY_CTX_TUR_MAX_DATA_SIZE (12)
#endif
/* Summary
This response indicates a command has been processed and returned a status.
Direction
West Bridge -> P Port Processor
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = all
* Response Code = 0
D0
* 0 = success (CY_AS_ERROR_SUCCESS)
* non-zero = error code
Description
This response indicates that a request was processed and no data
was generated as a result of the request beyond a single 16 bit
status value. This response contains the 16 bit data value.
*/
#define CY_RESP_SUCCESS_FAILURE (0)
/* Summary
This response indicates an invalid request was sent
Direction
West Bridge -> P Port Processor
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = all
* Response Code = 1
D0
* Mailbox contents for invalid request
Description
This response is returned when a request is sent that contains an invalid
context or request code.
*/
#define CY_RESP_INVALID_REQUEST (1)
/* Summary
This response indicates a request of invalid length was sent
Direction
West Bridge -> P Port Processor
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = all
* Response Code = 2
D0
* Mailbox contenxt for invalid request
* Length for invalid request
Description
The software API and firmware sends requests across the P Port to West Bridge
interface on different contexts. Each contexts has a maximum size of the
request packet that can be received. The size of a request can be determined
during the first cycle of a request transfer. If the request is larger
than can be handled by the receiving context this response is returned. Note
that the complete request is received before this response is sent, but that
the request is dropped after this response is sent.
*/
#define CY_RESP_INVALID_LENGTH (2)
/* Summary
This response indicates a request was made to an invalid storage address.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = all
* Response Code = 0
D0
Bits 15 - 12 : Media Type
* 0 = NAND
* 1 = SD Flash
* 2 = MMC Flash
* 3 = CE-ATA
Bits 11 - 8 : Zero based device index
Bits 7 - 0 : Zero based unit index
D1
Upper 16 bits of block address
D2
Lower 16 bits of block address
D3
Portion of address that is invalid
* 0 = Media Type
* 1 = Device Index
* 2 = Unit Index
* 3 = Block Address
Description
This response indicates a request to an invalid storage media
address
*/
#define CY_RESP_NO_SUCH_ADDRESS (3)
/******************************************************/
/*@@General requests
Summary
The general requests include:
* CY_RQT_GET_FIRMWARE_VERSION
* CY_RQT_SET_TRACE_LEVEL
* CY_RQT_INITIALIZATION_COMPLETE
* CY_RQT_READ_MCU_REGISTER
* CY_RQT_WRITE_MCU_REGISTER
* CY_RQT_STORAGE_MEDIA_CHANGED
* CY_RQT_CONTROL_ANTIOCH_HEARTBEAT
* CY_RQT_PREPARE_FOR_STANDBY
* CY_RQT_ENTER_SUSPEND_MODE
* CY_RQT_OUT_OF_SUSPEND
* CY_RQT_GET_GPIO_STATE
* CY_RQT_SET_GPIO_STATE
* CY_RQT_SET_SD_CLOCK_FREQ
* CY_RQT_WB_DEVICE_MISMATCH
* CY_RQT_BOOTLOAD_NO_FIRMWARE
* CY_RQT_RESERVE_LNA_BOOT_AREA
* CY_RQT_ABORT_P2S_XFER
*/
#ifndef __doxygen__
#define CY_RQT_GENERAL_RQT_CONTEXT (0)
#endif
/* Summary
This command returns the firmware version number, media types supported and
debug/release mode information.
Direction
P Port Processor-> West Bridge
Length (in transfers)
1
MailBox0
* Context = 0
* Request Code = 0
Description
The response contains the 16-bit major version, the 16-bit minor version,
the 16 bit build number, media types supported and release/debug mode
information.
Responses
* CY_RESP_FIRMWARE_VERSION
*/
#define CY_RQT_GET_FIRMWARE_VERSION (0)
/* Summary
This command changes the trace level and trace information destination within
the West Bridge firmware.
Direction
P Port Processor-> West Bridge
Length (in transfers)
1
MailBox0
* Context = 0
* Request Code = 1
D0
Trace Level
* 0 = no trace information
* 1 = state information
* 2 = function call
* 3 = function call with args/return value
D1
Bits 12 - 15 : MediaType
* 0 = NAND
* 1 = SDIO Flash
* 2 = MMC Flash
* 3 = CE-ATA
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based unit index
Description
The West Bridge firmware contains debugging facilities that can be used to trace the
execution of the firmware. This request sets the level of tracing information that
is stored and the location where it is stored.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_NO_SUCH_ADDRESS
*/
#define CY_RQT_SET_TRACE_LEVEL (1)
/* Summary
This command indicates that the firmware is up and ready for communications with the
P port processor.
Direction
West Bridge -> P Port Processor
Length (in transfers)
2
Mailbox0
* Context = 0
* Request Code = 3
D0
Major Version
D1
Minor Version
D2
Build Number
D3
Bits 15-8: Media types supported on Bus 1.
Bits 7-0: Media types supported on Bus 0.
Bits 8, 0: NAND support.
* 0: NAND is not supported.
* 1: NAND is supported.
Bits 9, 1: SD memory card support.
* 0: SD memory card is not supported.
* 1: SD memory card is supported.
Bits 10, 2: MMC card support.
* 0: MMC card is not supported.
* 1: MMC card is supported.
Bits 11, 3: CEATA drive support
* 0: CEATA drive is not supported.
* 1: CEATA drive is supported.
Bits 12, 4: SD IO card support.
* 0: SD IO card is not supported.
* 1: SD IO card is supported.
D4
Bits 15 - 8 : MTP information
* 0 : MTP not supported in firmware
* 1 : MTP supported in firmware
Bits 7 - 0 : Debug/Release mode information.
* 0 : Release mode
* 1 : Debug mode
Description
When the West Bridge firmware is loaded it being by performing initialization. Initialization must
be complete before West Bridge is ready to accept requests from the P port processor. This request
is sent from West Bridge to the P port processor to indicate that initialization is complete.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_INITIALIZATION_COMPLETE (3)
/* Summary
This command requests the firmware to read and return the contents of a MCU accessible
register.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 4
D0
Address of register to read
Description
This debug command allows the processor to read the contents of a MCU accessible register.
Responses
* CY_RESP_MCU_REGISTER_DATA
*/
#define CY_RQT_READ_MCU_REGISTER (4)
/* Summary
This command requests the firmware to write to an MCU accessible register.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 5
D0
Address of register to be written
D1
Bits 15 - 8 : Mask to be applied to existing data.
Bits 7 - 0 : Data to be ORed with masked data.
Description
This debug command allows the processor to write to an MCU accessible register.
Note: This has to be used with caution, and is supported by the firmware only
in special debug builds.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_WRITE_MCU_REGISTER (5)
/* Summary
This command tells the West Bridge firmware that a change in storage media has been detected.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 6
Description
If the insertion or removal of SD or MMC cards is detected by hardware external to West Bridge,
this command is used to tell the West Bridge firmware to re-initialize the storage controlled by
the device.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_STORAGE_MEDIA_CHANGED (6)
/* Summary
This command enables/disables the periodic heartbeat message from the West Bridge firmware to
the processor.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 7
Description
This command enables/disables the periodic heartbeat message from the West Bridge firmware to
the processor. The heartbeat message is left enabled by default, and can lead to a loss
in performance on the P port interface.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_CONTROL_ANTIOCH_HEARTBEAT (7)
/* Summary
This command requests the West Bridge firmware to prepare for the device going into standby
mode.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 8
Description
This command is sent by the processor to the West Bridge as preparation for going into
standby mode. The request allows the firmware to complete any pending/cached storage
operations before going into the low power state.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_PREPARE_FOR_STANDBY (8)
/* Summary
Requests the firmware to go into suspend mode.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 9
D0
Bits 7-0: Wakeup control information.
Description
This command is sent by the processor to the West Bridge to request the device
to be placed in suspend mode. The firmware will complete any pending/cached storage
operations before going into the low power state.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_ENTER_SUSPEND_MODE (9)
/* Summary
Indicates that the device has left suspend mode.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 10
Description
This message is sent by the West Bridge to the Processor to indicate that the device
has woken up from suspend mode, and is ready to accept new requests.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_OUT_OF_SUSPEND (10)
/* Summary
Request to get the current state of an West Bridge GPIO pin.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 11
D0
Bits 15 - 8 : GPIO pin identifier
Responses
* CY_RESP_GPIO_STATE
Description
Request from the processor to get the current state of an West Bridge GPIO pin.
*/
#define CY_RQT_GET_GPIO_STATE (11)
/* Summary
Request to update the output value on an West Bridge GPIO pin.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 12
D0
Bits 15 - 8 : GPIO pin identifier
Bit 0 : Desired output state
Responses
* CY_RESP_SUCCESS_FAILURE
Description
Request from the processor to update the output value on an West Bridge GPIO pin.
*/
#define CY_RQT_SET_GPIO_STATE (12)
/* Summary
Set the clock frequency on the SD interface of the West Bridge device.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 13
D0
Bit 8: Type of SD/MMC media
0 = low speed media
1 = high speed media
Bit 0: Clock frequency selection
0 = Default frequency
1 = Alternate frequency (24 MHz in both cases)
Description
This request is sent by the processor to set the operating clock
frequency used on the SD interface of the device.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_SET_SD_CLOCK_FREQ (13)
/* Summary
Indicates the firmware downloaded to West Bridge cannot run on the active device.
Direction
West Bridge -> P Port processor
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 14
Description
Some versions of West Bridge firmware can only run on specific types/versions of
the West Bridge device. This error is returned when a firmware image is downloaded
onto a device that does not support it.
Responses
* None
*/
#define CY_RQT_WB_DEVICE_MISMATCH (14)
/* Summary
This command is indicates that no firmware was found in the storage media.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 0
* Request code = 15
Description
The command is received only in case of silicon with bootloader ROM. The device sends
the request if there is no firmware image found in the storage media or the image is
corrupted. The device is waiting for P port to download a valid firmware image.
Responses
* None
*/
#define CY_RQT_BOOTLOAD_NO_FIRMWARE (15)
/* Summary
This command reserves first numzones zones of nand device for storing processor boot image.
Direction
P Port Processor-> West Bridge
Length (in transfers)
1
MailBox0
* Context = 0
* Request Code = 16
D0
Bits 7-0: numzones
Description
The first numzones zones in nand device will be used for storing proc boot image. LNA firmware in Astoria will
work on this nand area and boots the processor which will then use the remaining nand for usual purposes.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_RESERVE_LNA_BOOT_AREA (16)
/* Summary
This command cancels the processing of a P2S operation in firmware.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 0
* Request Code = 17
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_ABORT_P2S_XFER (17)
/*
* Used for debugging, ignore for normal operations
*/
#ifndef __doxygen__
#define CY_RQT_DEBUG_MESSAGE (127)
#endif
/******************************************************/
/*@@General responses
Summary
The general responses include:
* CY_RESP_FIRMWARE_VERSION
* CY_RESP_MCU_REGISTER_DATA
* CY_RESP_GPIO_STATE
*/
/* Summary
This response indicates success and contains the firmware version number, media types supported
by the firmware and release/debug mode information.
Direction
West Bridge -> P Port Processor
Length (in transfers)
2
MailBox0
* Context = 0
* Response Code = 16
D0
Major Version
D1
Minor Version
D2
Build Number
D3
Bits 15-8: Media types supported on Bus 1.
Bits 7-0: Media types supported on Bus 0.
Bits 8, 0: NAND support.
* 0: NAND is not supported.
* 1: NAND is supported.
Bits 9, 1: SD memory card support.
* 0: SD memory card is not supported.
* 1: SD memory card is supported.
Bits 10, 2: MMC card support.
* 0: MMC card is not supported.
* 1: MMC card is supported.
Bits 11, 3: CEATA drive support
* 0: CEATA drive is not supported.
* 1: CEATA drive is supported.
Bits 12, 4: SD IO card support.
* 0: SD IO card is not supported.
* 1: SD IO card is supported.
D4
Bits 15 - 8 : MTP information
* 0 : MTP not supported in firmware
* 1 : MTP supported in firmware
Bits 7 - 0 : Debug/Release mode information.
* 0 : Release mode
* 1 : Debug mode
Description
This reponse is sent to return the firmware version number to the requestor.
*/
#define CY_RESP_FIRMWARE_VERSION (16)
/* Summary
This response returns the contents of a MCU accessible register to the processor.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
MailBox0
* Context = 0
* Response code = 17
D0
Bits 7 - 0 : MCU register contents
Description
This response is sent by the firmware in response to the CY_RQT_READ_MCU_REGISTER
command.
*/
#define CY_RESP_MCU_REGISTER_DATA (17)
/* Summary
Reports the current state of an West Bridge GPIO pin.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
MailBox0
* Context = 0
* Request code = 18
D0
Bit 0: Current state of the GP input pin
Description
This response is sent by the West Bridge to report the current state observed on
a general purpose input pin.
*/
#define CY_RESP_GPIO_STATE (18)
/* Summary
This command notifies West Bridge the polarity of the SD power pin
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 0
* Request Code = 19
D0: CyAnMiscActivehigh / CyAnMiscActivelow
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_SDPOLARITY (19)
/********************************************************************/
/*@@Resource requests
Summary
The resource requests include:
* CY_RQT_ACQUIRE_RESOURCE
* CY_RQT_RELEASE_RESOURCE
*/
#ifndef __doxygen__
#define CY_RQT_RESOURCE_RQT_CONTEXT (1)
#endif
/* Summary
This command is a request from the P port processor for ownership
of a resource.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 1
* Request Code = 0
D0
Resource
* 0 = USB
* 1 = SDIO/MMC
* 2 = NAND
D1
Force Flag
* 0 = Normal
* 1 = Force
Description
The resource may be the USB pins, the SDIO/MMC bus, or the NAND bus.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_ERR_NOT_RELEASED
* CY_RESP_SUCCESS_FAILURE:CY_ERR_BAD_RESOURCE
*/
#define CY_RQT_ACQUIRE_RESOURCE (0)
/* Summary
This command is a request from the P port processor to release
ownership of a resource.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 1
* Request Code = 1
D0
Resource
* 0 = USB
* 1 = SDIO/MMC
* 2 = NAND
Description
The resource may be the USB pins, the SDIO/MMC bus, or the NAND bus.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_ERR_NOT_OWNER
*/
#define CY_RQT_RELEASE_RESOURCE (1)
/******************************************************/
/*@@Storage requests
Summary
The storage commands include:
* CY_RQT_START_STORAGE
* CY_RQT_STOP_STORAGE
* CY_RQT_CLAIM_STORAGE
* CY_RQT_RELEASE_STORAGE
* CY_RQT_QUERY_MEDIA
* CY_RQT_QUERY_DEVICE
* CY_RQT_QUERY_UNIT
* CY_RQT_READ_BLOCK
* CY_RQT_WRITE_BLOCK
* CY_RQT_MEDIA_CHANGED
* CY_RQT_ANTIOCH_CLAIM
* CY_RQT_ANTIOCH_RELEASE
* CY_RQT_SD_INTERFACE_CONTROL
* CY_RQT_SD_REGISTER_READ
* CY_RQT_CHECK_CARD_LOCK
* CY_RQT_QUERY_BUS
* CY_RQT_PARTITION_STORAGE
* CY_RQT_PARTITION_ERASE
* CY_RQT_GET_TRANSFER_AMOUNT
* CY_RQT_ERASE
* CY_RQT_SDIO_READ_DIRECT
* CY_RQT_SDIO_WRITE_DIRECT
* CY_RQT_SDIO_READ_EXTENDED
* CY_RQT_SDIO_WRITE_EXTENDED
* CY_RQT_SDIO_INIT_FUNCTION
* CY_RQT_SDIO_QUERY_CARD
* CY_RQT_SDIO_GET_TUPLE
* CY_RQT_SDIO_ABORT_IO
* CY_RQT_SDIO_INTR
* CY_RQT_SDIO_SUSPEND
* CY_RQT_SDIO_RESUME
* CY_RQT_SDIO_RESET_DEV
* CY_RQT_P2S_DMA_START
*/
#ifndef __doxygen__
#define CY_RQT_STORAGE_RQT_CONTEXT (2)
#endif
/* Summary
This command requests initialization of the storage stack.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 0
Description
This command is required before any other storage related command
can be send to the West Bridge firmware.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_ERR_ALREADY_RUNNING
*/
#define CY_RQT_START_STORAGE (0)
/* Summary
This command requests shutdown of the storage stack.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 1
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_ERR_NOT_RUNNING
*/
#define CY_RQT_STOP_STORAGE (1)
/* Summary
This command requests ownership of the given media type by the P port processor.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 2
D0
Bits 12 - 15 : Bus Index
Bits 8 - 11 : Zero based device index
Responses
* CY_RESP_MEDIA_CLAIMED_RELEASED
* CY_RESP_NO_SUCH_ADDRESS
*/
#define CY_RQT_CLAIM_STORAGE (2)
/* Summary
This command releases ownership of a given media type by the P port processor.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 3
D0
Bits 12 - 15 : Bus Index
Bits 8 - 11 : Zero based device index
Responses
* CY_RESP_MEDIA_CLAIMED_RELEASED
* CY_RESP_NO_SUCH_ADDRESS
*/
#define CY_RQT_RELEASE_STORAGE (3)
/* Summary
This command returns the total number of logical devices of the given type of media.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 4
D0
Bits 12 - 15 : MediaType
* 0 = NAND
* 1 = SDIO Flash
* 2 = MMC Flash
* 3 = CE-ATA
Bits 8 - 11 : Not Used
Bits 0 - 7 : Not Used
Responses
* CY_RESP_MEDIA_DESCRIPTOR
* CY_RESP_NO_SUCH_ADDRESS
*/
#define CY_RQT_QUERY_MEDIA (4)
/* Summary
This command queries a given device to determine information about the number
of logical units on the given device.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 5
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Not Used
Responses
* CY_RESP_DEVICE_DESCRIPTOR
* CY_RESP_SUCCESS_FAILURE:CY_ERR_INVALID_PARTITION_TABLE
* CY_RESP_NO_SUCH_ADDRESS
*/
#define CY_RQT_QUERY_DEVICE (5)
/* Summary
This command queries a given device to determine information about the size
and location of a logical unit located on a physical device.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 6
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based unit index
Responses
* CY_RESP_UNIT_DESCRIPTOR
* CY_RESP_SUCCESS_FAILURE:CY_ERR_INVALID_PARTITION_TABLE
* CY_RESP_NO_SUCH_ADDRESS
*/
#define CY_RQT_QUERY_UNIT (6)
/* Summary
This command initiates the read of a specific block from the given media,
device and unit.
Direction
P Port Processor -> West Bridge
Length (in transfers)
2
MailBox0
* Context = 2
* Request Code = 7
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based unit index
D1
Upper 16 bits of block address
D2
Lower 16 bits of block address
D3
BIT 8 - 15 : Upper 8 bits of Number of blocks
BIT 0 - 7 : Reserved
* D4 *
BITS 8 - 15 : Lower 8 bits of Number of blocks
BITS 1 - 7 : Not Used
BIT 0 : Indicates whether this command is a part of a P2S only burst.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_ANTIOCH_DEFERRED_ERROR
*/
#define CY_RQT_READ_BLOCK (7)
/* Summary
This command initiates the write of a specific block from the given media,
device and unit.
Direction
P Port Processor -> West Bridge
Length (in transfers)
2
MailBox0
* Context = 2
* Request Code = 8
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based unit index
D1
Upper 16 bits of block address
D2
Lower 16 bits of block address
D3
BIT 8 - 15 : Upper 8 bits of Number of blocks
BIT 0 - 7 : Reserved
* D4 *
BITS 8 - 15 : Lower 8 bits of Number of blocks
BITS 1 - 7 : Not Used
BIT 0 : Indicates whether this command is a part of a P2S only burst.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_ANTIOCH_DEFERRED_ERROR
*/
#define CY_RQT_WRITE_BLOCK (8)
/* Summary
This request is sent when the West Bridge device detects a change in the status
of the media.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 2
* Request Code = 9
D0
Bits 12 - 15 : Bus index
Bits 0 - 7 : Media type
D1
Bit 0 : Action
* 0 = Inserted
* 1 = Removed
Description
When the media manager detects the insertion or removal of a media from the West Bridge
port, this request is sent from the West Bridge device to the P Port processor to inform
the processor of the change in status of the media. This request is sent for both an
insert operation and a removal operation.
Responses
* CY_RESPO_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_MEDIA_CHANGED (9)
/* Summary
This request is sent when the USB module wishes to claim storage media.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 2
* Request Code = 10
D0
Bit 0:
* 0 = do not release NAND
* 1 = release NAND
Bit 1:
* 0 = do not release SD Flash
* 1 = release SD Flash
Bit 2:
* 0 = do not release MMC flash
* 1 = release MMC flash
Bit 3:
* 0 = do not release CE-ATA storage
* 1 = release CE-ATA storage
Bit 8:
* 0 = do not release storage on bus 0
* 1 = release storage on bus 0
Bit 9:
* 0 = do not release storage on bus 1
* 1 = release storage on bus 1
Description
When the USB cable is attached to the West Bridge device, West Bridge will enumerate the storage
devices per the USB initialization of West Bridge. In order for West Bridge to respond to requests
received via USB for the mass storage devices, the USB module must claim the storeage. This
request is a request to the P port processor to release the storage medium. The medium will
not be visible on the USB host, until it has been released by the processor.
*/
#define CY_RQT_ANTIOCH_CLAIM (10)
/* Summary
This request is sent when the P port has asked West Bridge to release storage media, and the
West Bridge device has completed this.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 2
* Request Code = 11
D0
Bit 0:
* 0 = No change in ownership of NAND storage
* 1 = NAND ownership has been given to processor
Bit 1:
* 0 = No change in ownership of SD storage
* 1 = SD ownership has been given to processor
Bit 2:
* 0 = No change in ownership of MMC storage
* 1 = MMC ownership has been given to processor
Bit 3:
* 0 = No change in ownership of CE-ATA storage
* 1 = CE-ATA ownership has been given to processor
Bit 4:
* 0 = No change in ownership of SD IO device
* 1 = SD IO device ownership has been given to processor
Bit 8:
* 0 = No change in ownership of storage on bus 0
* 1 = Bus 0 ownership has been given to processor
Bit 9:
* 0 = No change in ownership of storage on bus 1
* 1 = Bus 1 ownership has been given to processor
Description
When the P port asks for control of a particular media, West Bridge may be able to release the
media immediately. West Bridge may also need to complete the flush of buffers before releasing
the media. In the later case, West Bridge will indicated a release is not possible immediately
and West Bridge will send this request to the P port when the release has been completed.
*/
#define CY_RQT_ANTIOCH_RELEASE (11)
/* Summary
This request is sent by the Processor to enable/disable the handling of SD card
detection and SD card write protection by the firmware.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 2
* Request code = 12
D0
Bit 8: Enable/disable handling of card detection.
Bit 1: SDAT_3 = 0, GIPO_0 = 1
Bit 0: Enable/disable handling of write protection.
Description
This request is sent by the Processor to enable/disable the handling of SD card
detection and SD card write protection by the firmware.
*/
#define CY_RQT_SD_INTERFACE_CONTROL (12)
/* Summary
Request from the processor to read a register on the SD card, and return the
contents.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 2
* Request code = 13
D0
Bits 12 - 15 : MediaType
* 0 = Reserved
* 1 = SDIO Flash
* 2 = MMC Flash
* 3 = Reserved
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Type of register to read
Description
This request is sent by the processor to instruct the West Bridge to read a register
on the SD/MMC card, and send the contents back through the CY_RESP_SD_REGISTER_DATA
response.
*/
#define CY_RQT_SD_REGISTER_READ (13)
/* Summary
Check if the SD/MMC card connected to West Bridge is password locked.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 2
* Request code = 14
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Description
This request is sent by the processor to check if the SD/MMC connected to the West Bridge
is locked with a password.
*/
#define CY_RQT_CHECK_CARD_LOCK (14)
/* Summary
This command returns the total number of logical devices on the given bus
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 15
D0
Bits 12 - 15 : Bus Number
Bits 0 - 11: Not Used
Responses
* CY_RESP_BUS_DESCRIPTOR
* CY_RESP_NO_SUCH_BUS
*/
#define CY_RQT_QUERY_BUS (15)
/* Summary
Divide a storage device into two partitions.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request code = 16
D0
Bits 12 - 15 : Bus number
Bits 8 - 11 : Device number
Bits 0 - 7 : Not used
D1
Size of partition 0 (MS word)
D2
Size of partition 0 (LS word)
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_PARTITION_STORAGE (16)
/* Summary
Remove the partition table and unify all partitions on a storage device.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request code = 17
D0
Bits 12 - 15 : Bus number
Bits 8 - 11 : Device number
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_PARTITION_ERASE (17)
/* Summary
Requests the current transfer amount.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request code = 18
D0
Bits 12 - 15 : Bus number
Bits 8 - 11 : Device number
Responses
* CY_RESP_TRANSFER_COUNT
*/
#define CY_RQT_GET_TRANSFER_AMOUNT (18)
/* Summary
Erases.
Direction
P Port Processor -> West Bridge
Length (in transfers)
2
MailBox0
* Context = 2
* Request code = 19
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based unit index
D1
Upper 16 bits of erase unit
D2
Lower 16 bits of erase unit
D3
BIT 8 - 15 : Upper 8 bits of Number of erase units
BIT 0 - 7 : Reserved
* D4 *
BIT 8 - 15 : Lower 8 bits of Number of erase units
BIT 0 - 7 : Not Used
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_ERASE (19)
/* Summary
This command reads 1 byte from an SDIO card.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 23
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based function number
D1
Bits 8 - 15 : 0
Bit 7 : 0 to indicate a read
Bits 4 - 6 : Function number
Bit 3 : 0
Bit 2 : 1 if SDIO interrupt needs to be re-enabled.
Bits 0 - 1 : Two Most significant bits of Read address
D2
Bits 1 - 15 : 15 Least significant bits of Read address
Bit 0 : 0
Responses
* CY_RESP_SUCCESS_FAILURE
* CY_RESP_SDIO_DIRECT
*/
#define CY_RQT_SDIO_READ_DIRECT (23)
/* Summary
This command writes 1 byte to an SDIO card.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 24
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based function number
D1
Bits 8 - 15 : Data to write
Bit 7 : 1 to indicate a write
Bits 4 - 6 : Function number
Bit 3 : 1 if Read after write is enabled
Bit 2 : 1 if SDIO interrupt needs to be re-enabled.
Bits 0 - 1 : Two Most significant bits of write address
D2
Bits 1 - 15 : 15 Least significant bits of write address
Bit 0 : 0
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SDIO_DIRECT
*/
#define CY_RQT_SDIO_WRITE_DIRECT (24)
/* Summary
This command reads performs a multi block/byte read from an SDIO card.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 25
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based function number
D1
Bit 15 : 0 to indicate a read
Bit 12 - 14 : Function Number
Bit 11 : Block Mode
Bit 10 : OpCode
Bits 0 - 9 : 10 Most significant bits of Read address
D2
Bits 9 - 15 : 7 Least significant bits of address
Bits 0 - 8 : Block/Byte Count
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SDIO_EXT
*/
#define CY_RQT_SDIO_READ_EXTENDED (25)
/* Summary
This command reads performs a multi block/byte write to an SDIO card.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 26
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based function number
D1
Bit 15 : 1 to indicate a write
Bit 12 - 14 : Function Number
Bit 11 : Block Mode
Bit 10 : OpCode
Bits 0 - 9 : 10 Most significant bits of Read address
D2
Bits 9 - 15 : 7 Least significant bits of address
Bits 0 - 8 : Block/Byte Count
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SDIO_EXT
*/
#define CY_RQT_SDIO_WRITE_EXTENDED (26)
/* Summary
This command initialises an IO function on the SDIO card.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 27
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based function number
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_SDIO_INIT_FUNCTION (27)
/* Summary
This command gets properties of the SDIO card.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 28
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_QUERY_CARD
*/
#define CY_RQT_SDIO_QUERY_CARD (28)
/* Summary
This command reads a tuple from the CIS of an SDIO card.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 29
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based function number
D1
Bits 8 - 15 : Tuple ID to read
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SDIO_GET_TUPLE
*/
#define CY_RQT_SDIO_GET_TUPLE (29)
/* Summary
This command Aborts an IO operation.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 30
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based function number
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_SDIO_ABORT_IO (30)
/* Summary
SDIO Interrupt request sent to the processor from the West Bridge device.
Direction
West Bridge ->P Port Processor
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 31
D0
Bits 0 - 7 : Bus Index
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_SDIO_INTR (31)
/* Summary
This command Suspends an IO operation.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 32
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based function number
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_SDIO_SUSPEND (32)
/* Summary
This command resumes a suspended operation.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 33
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based function number
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SDIO_RESUME
*/
#define CY_RQT_SDIO_RESUME (33)
/* Summary
This command resets an SDIO device.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 2
* Request Code = 34
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : 0
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_SDIO_RESET_DEV (34)
/* Summary
This command asks the API to start the DMA transfer for a P2S operation.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
MailBox0
* Context = 2
* Request code = 35
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_P2S_DMA_START (35)
/******************************************************/
/*@@Storage responses
Summary
The storage responses include:
* CY_RESP_MEDIA_CLAIMED_RELEASED
* CY_RESP_MEDIA_DESCRIPTOR
* CY_RESP_DEVICE_DESCRIPTOR
* CY_RESP_UNIT_DESCRIPTOR
* CY_RESP_ANTIOCH_DEFERRED_ERROR
* CY_RESP_SD_REGISTER_DATA
* CY_RESP_SD_LOCK_STATUS
* CY_RESP_BUS_DESCRIPTOR
* CY_RESP_TRANSFER_COUNT
* CY_RESP_SDIO_EXT
* CY_RESP_SDIO_INIT_FUNCTION
* CY_RESP_SDIO_QUERY_CARD
* CY_RESP_SDIO_GET_TUPLE
* CY_RESP_SDIO_DIRECT
* CY_RESP_SDIO_INVALID_FUNCTION
* CY_RESP_SDIO_RESUME
*/
/* Summary
Based on the request sent, the state of a given media was changed as indicated
by this response.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
MailBox0
* Context = 2
* Response Code = 16
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
D1
State of Media
* 0 = released
* 1 = claimed
*/
#define CY_RESP_MEDIA_CLAIMED_RELEASED (16)
/* Summary
This response gives the number of physical devices associated with a given
media type.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
MailBox0
* Context = 2
* Response Code = 17
D0
Media Type
Bits 12 - 15
* 0 = NAND
* 1 = SDIO Flash
* 2 = MMC Flash
* 3 = CE-ATA
D1
Number of devices
*/
#define CY_RESP_MEDIA_DESCRIPTOR (17)
/* Summary
This response gives description of a physical device.
Direction
West Bridge -> P Port Processor
Length (in transfers)
2
MailBox0
* Context = 2
* Response Code = 18
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Type of media present on bus
D1
Block Size in bytes
D2
Bit 15 : Is device removable
Bit 9 : Is device password locked
Bit 8 : Is device writeable
Bits 0 - 7 : Number Of Units
D3
ERASE_UNIT_SIZE high 16 bits
D4
ERASE_UNIT_SIZE low 16 bits
*/
#define CY_RESP_DEVICE_DESCRIPTOR (18)
/* Summary
This response gives description of a unit on a physical device.
Direction
West Bridge -> P Port Processor
Length (in transfers)
6
MailBox0
* Context = 2
* Response Code = 19
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based unit index
D1
Bits 0 - 7 : Media type
* 1 = NAND
* 2 = SD FLASH
* 4 = MMC FLASH
* 8 = CEATA
* 16 = SD IO
D2
Block Size in bytes
D3
Start Block Low 16 bits
D4
Start Block High 16 bits
D5
Unit Size Low 16 bits
D6
Unit Size High 16 bits
*/
#define CY_RESP_UNIT_DESCRIPTOR (19)
/* Summary
This response is sent as error status for P2S
Storage operation.
Direction
West Bridge -> P Port Processor
Length (in transfers)
2
Mailbox0
* Context = 2
* Request Code = 20
D0
Bit 8 : Type of operation (Read / Write)
Bits 7 - 0 : Error code
D1
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Zero based unit index
*D2 - D3*
Address where the error occurred.
D4
Length of the operation in blocks.
Description
This error is returned by the West Bridge to the processor if a
storage operation fails due to a medium error.
*/
#define CY_RESP_ANTIOCH_DEFERRED_ERROR (20)
/* Summary
Contents of a register on the SD/MMC card connected to West Bridge.
Direction
West Bridge -> P Port Processor
Length (in transfers)
Variable
Mailbox0
* Context = 2
* Request code = 21
D0
Length of data in bytes
D1 - Dn
The register contents
Description
This is the response to a CY_RQT_SD_REGISTER_READ request.
*/
#define CY_RESP_SD_REGISTER_DATA (21)
/* Summary
Status of whether the SD card is password locked.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 2
* Request code = 22
D0
Bit 0 : The card's lock status
Description
Status of whether the SD card is password locked.
*/
#define CY_RESP_SD_LOCK_STATUS (22)
/* Summary
This response gives the types of physical devices attached to a given bus.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
MailBox0
* Context = 2
* Response Code = 23
D0
Bus Number
Bits 12 - 15
D1
Media present on addressed bus
*/
#define CY_RESP_BUS_DESCRIPTOR (23)
/* Summary
Amount of data read/written through the USB mass storage/MTP device.
Direction
West Bridge -> P Port Processor
Length (in transfers)
2
MailBox0
* Context = 2
* Request code = 24
D0
MS 16 bits of number of sectors written
D1
LS 16 bits of number of sectors written
D2
MS 16 bits of number of sectors read
D3
LS 16 bits of number of sectors read
Description
This is the response to the CY_RQT_GET_TRANSFER_AMOUNT request, and
represents the number of sectors of data that has been written to or
read from the storage device through the USB Mass storage or MTP
interface.
*/
#define CY_RESP_TRANSFER_COUNT (24)
/* Summary
Status of SDIO Extended read/write operation.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 2
* Request code = 34
D0
Bit 8 : 1 if Read response, 0 if write response
Bits 0-7: Error Status
Description
Status of SDIO Extended read write operation.
*/
#define CY_RESP_SDIO_EXT (34)
/* Summary
Status of SDIO operation to Initialize a function
Direction
West Bridge -> P Port Processor
Length (in transfers)
2
Mailbox0
* Context = 2
* Request code = 35
D0
Bits 8-15 : Function Interface Code
Bits 0-7: Extended Function Interface Code
D1
Bits 0-15 : Function Block Size
D2
Bits 0-15 : Most significant Word of Function PSN
D3
Bits 0-15 : Least significant Word of Function PSN
D4
Bit 15 : CSA Enabled Status
Bit 14 : CSA Support Status
Bit 9 : CSA No Format Status
Bit 8 : CSA Write Protect Status
Bit 0 : Function Wake Up Support status
Description
Status of SDIO Function Initialization operation.
*/
#define CY_RESP_SDIO_INIT_FUNCTION (35)
/* Summary
Status of SDIO operation to query the Card
Direction
West Bridge -> P Port Processor
Length (in transfers)
2
Mailbox0
* Context = 2
* Request code = 36
D0
Bits 8-15 : Number of IO functions present
Bit 0: 1 if memory is present
D1
Bits 0-15 : Card Manufacturer ID
D2
Bits 0-15 : Card Manufacturer Additional Information
D3
Bits 0-15 : Function 0 Block Size
D4
Bits 8-15 :SDIO Card Capability register
Bits 0-7: SDIO Version
Description
Status of SDIO Card Query operation.
*/
#define CY_RESP_SDIO_QUERY_CARD (36)
/* Summary
Status of SDIO CIS read operation
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 2
* Request code = 37
D0
Bit 8 : 1
Bits 0-7: Error Status
D1
Bits 0 - 7 : Size of data read.
Description
Status of SDIO Get Tuple Read operation.
*/
#define CY_RESP_SDIO_GET_TUPLE (37)
/* Summary
Status of SDIO Direct read/write operation.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 2
* Request code = 38
D0
Bit 8 : Error Status
Bits 0-7: Data Read(If any)
Description
Status of SDIO Direct read write operation.
*/
#define CY_RESP_SDIO_DIRECT (38)
/* Summary
Indicates an un-initialized function has been used for IO
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 2
* Request code = 39
Description
Indicates an IO request on an uninitialized function.
*/
#define CY_RESP_SDIO_INVALID_FUNCTION (39)
/* Summary
Response to a Resume request
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 2
* Request code = 40
D0
Bits 8-15 : Error Status
Bit 0: 1 if data is available. 0 otherwise.
Description
Response to a Resume request. Indicates if data is available after resum or not.
*/
#define CY_RESP_SDIO_RESUME (40)
/******************************************************/
/*@@USB requests
Summary
The USB requests include:
* CY_RQT_START_USB
* CY_RQT_STOP_USB
* CY_RQT_SET_CONNECT_STATE
* CY_RQT_GET_CONNECT_STATE
* CY_RQT_SET_USB_CONFIG
* CY_RQT_GET_USB_CONFIG
* CY_RQT_STALL_ENDPOINT
* CY_RQT_GET_STALL
* CY_RQT_SET_DESCRIPTOR
* CY_RQT_GET_DESCRIPTOR
* CY_RQT_SET_USB_CONFIG_REGISTERS
* CY_RQT_USB_EVENT
* CY_RQT_USB_EP_DATA
* CY_RQT_ENDPOINT_SET_NAK
* CY_RQT_GET_ENDPOINT_NAK
* CY_RQT_ACK_SETUP_PACKET
* CY_RQT_SCSI_INQUIRY_COMMAND
* CY_RQT_SCSI_START_STOP_COMMAND
* CY_RQT_SCSI_UNKNOWN_COMMAND
* CY_RQT_USB_REMOTE_WAKEUP
* CY_RQT_CLEAR_DESCRIPTORS
* CY_RQT_USB_STORAGE_MONITOR
* CY_RQT_USB_ACTIVITY_UPDATE
* CY_RQT_MS_PARTITION_SELECT
*/
#ifndef __doxygen__
#define CY_RQT_USB_RQT_CONTEXT (3)
#endif
/* Summary
This command requests initialization of the USB stack.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 0
Description
This command is required before any other USB related command can be
sent to the West Bridge firmware.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_ALREADY_RUNNING
*/
#define CY_RQT_START_USB (0)
/* Summary
This command requests shutdown of the USB stack.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 1
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
*/
#define CY_RQT_STOP_USB (1)
/* Summary
This command requests that the USB pins be connected or disconnected to/from
the West Bridge device.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 2
D0
Desired Connect State
* 0 = DISCONNECTED
* 1 = CONNECTED
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
*/
#define CY_RQT_SET_CONNECT_STATE (2)
/* Summary
This command requests the connection state of the West Bridge USB pins.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 3
Responses
* CY_RESP_CONNECT_STATE
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
*/
#define CY_RQT_GET_CONNECT_STATE (3)
/* Summary
This request configures the USB subsystem.
Direction
P Port Processor -> West Bridge
Length (in transfers)
2
MailBox0
* Context = 3
* Request Code = 4
D0
Bits 8 - 15: Media to enumerate (bit mask)
Bits 0 - 7: Enumerate Mass Storage (bit mask)
* 1 = Enumerate device on bus 0
* 2 = Enumerate device on bus 1
D1
Enumeration Methodology
* 1 = West Bridge enumeration
* 0 = P Port enumeration
D2
Mass storage interface number - Interface number to be used for the mass storage interface
D3
Mass storage callbacks
* 1 = relay to P port
* 0 = completely handle in firmware
Description
This indicates how enumeration should be handled. Enumeration can be handled by the
West Bridge device or by the P port processor.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_ERR_INVALID_MASK
* CY_RESP_SUCCESS_FAILURE:CY_ERR_INVALID_STORAGE_MEDIA
*/
#define CY_RQT_SET_USB_CONFIG (4)
/* Summary
This request retrieves the current USB configuration from the West Bridge device.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 5
Responses
* CY_RESP_USB_CONFIG
*/
#define CY_RQT_GET_USB_CONFIG (5)
/* Summary
This request stalls the given endpoint.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 6
D0
Endpoint Number
D1
* 1 = Stall Endpoint
* 0 = Clear Stall
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_INVALID_ENDPOINT
*/
#define CY_RQT_STALL_ENDPOINT (6)
/* Summary
This request retrieves the stall status of the requested endpoint.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 7
D0
Endpoint number
Responses
* CY_RESP_ENDPOINT_STALL
* CY_RESP_SUCCESS_FAILURE:CY_RESP_INVALID_ENDPOINT
*/
#define CY_RQT_GET_STALL (7)
/* Summary
This command sets the contents of a descriptor.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 8
D0
Bit 15 - Bit 8
Descriptor Index
Bit 7 - Bit 0
Descriptor Type
* Device = 1
* Device Qualifier = 2
* Full Speed Configuration = 3
* High Speed Configuration = 4
* D1 - DN *
Actual data for the descriptor
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_ERR_BAD_TYPE
* CY_RESP_SUCCESS_FAILURE:CY_ERR_BAD_INDEX
* CY_RESP_SUCCESS_FAILURE:CY_ERR_BAD_LENGTH
*/
#define CY_RQT_SET_DESCRIPTOR (8)
/* Summary
This command gets the contents of a descriptor.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 9
D0
Bit 15 - Bit 8
Descriptor Index
Bit 7 - Bit 0
Descriptor Type
* Device = 1
* Device Qualifier = 2
* Full Speed Configuration = 3
* High Speed Configuration = 4
Responses
* CY_RESP_USB_DESCRIPTOR
* CY_RESP_SUCCESS_FAILURE:CY_ERR_BAD_TYPE
* CY_RESP_SUCCESS_FAILURE:CY_ERR_BAD_INDEX
*/
#define CY_RQT_GET_DESCRIPTOR (9)
/* Summary
This request is sent from the P port processor to the West Bridge device to
physically configure the endpoints in the device.
Direction
P Port Processor -> West Bridge
Length (in transfers)
3
MailBox0
* Context = 3
* Request Code = 10
D0
Bit 15 - Bit 8
EP1OUTCFG register value
Bit 7 - Bit 0
EP1INCFG register value
* D1 - D2 *
PEPxCFS register values where x = 3, 5, 7, 9
* D3 - D7 *
LEPxCFG register values where x = 3, 5, 7, 9, 10, 11, 12, 13, 14, 15
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_SET_USB_CONFIG_REGISTERS (10)
/* Summary
This request is sent to the P port processor when a USB event occurs
and needs to be relayed to the P port.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 3
* Request Code = 11
D0
Event Type
* 0 = Reserved
* 1 = Reserved
* 2 = USB Suspend
* 3 = USB Resume
* 4 = USB Reset
* 5 = USB Set Configuration
* 6 = USB Speed change
D1
If EventTYpe is USB Speed change
* 0 = Full Speed
* 1 = High Speed
If EventType is USB Set Configuration
* The number of the configuration to use (may be zero to unconfigure)
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_USB_EVENT (11)
/* Summary
This request is sent in both directions to transfer endpoint data for
endpoints 0 and 1.
Direction
West Bridge -> P Port Processor
P Port Processor -> West Bridge
Length (in transfers)
Variable
Mailbox0
* Context = 3
* Request Code = 12
D0
Bit 15 - 14 Data Type
* 0 = Setup (payload should be the 8 byte setup packet)
* 1 = Data
* 2 = Status (payload should be empty)
Bit 13 Endpoint Number (only 0 and 1 supported)
Bit 12 First Packet (only supported for Host -> West Bridge traffic)
Bit 11 Last Packet (only supported for Host -> West Bridge traffic)
Bit 9 - 0 Data Length (real max data length is 64 bytes for EP0 and EP1)
*D1-Dn*
Endpoint data
*/
#define CY_RQT_USB_EP_DATA (12)
/* Summary
This request sets the NAK bit on an endpoint.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 13
D0
Endpoint Number
D1
* 1 = NAK Endpoint
* 0 = Clear NAK
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_INVALID_ENDPOINT
*/
#define CY_RQT_ENDPOINT_SET_NAK (13)
/* Summary
This request retrieves the NAK config status of the requested endpoint.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 3
* Request Code = 14
D0
Endpoint number
Responses
* CY_RESP_ENDPOINT_NAK
* CY_RESP_SUCCESS_FAILURE:CY_RESP_INVALID_ENDPOINT
*/
#define CY_RQT_GET_ENDPOINT_NAK (14)
/* Summary
This request acknowledges a setup packet that does not require any data transfer.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox
* Context = 3
* Request Code = 15
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_ACK_SETUP_PACKET (15)
/* Summary
This request is sent when the USB storage driver within West Bridge receives an Inquiry request.
Direction
West Bridge -> P Port Processor
Length (in transfers)
x - variable
Mailbox0
* Context = 3
* Request Code = 16
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Media type being addressed
D1
Bits 8 : EVPD bit from request
Bits 0 - 7 : Codepage from the inquiry request
D2
Length of the inquiry response in bytes
* D3 - Dn *
The inquiry response
Description
When the West Bridge firmware receives an SCSI Inquiry request from the USB host, the response to this
mass storage command is created by West Bridge and forwarded to the P port processor. The P port processor
may change this response before it is returned to the USB host. This request is the method by which
this may happen.
*/
#define CY_RQT_SCSI_INQUIRY_COMMAND (16)
/* Summary
This request is sent when the USB storage driver within West Bridge receives a Start/Stop request.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 3
* Request Code = 17
D0
Bits 12 - 15 : Bus index
Bits 8 - 11 : Zero based device index
Bits 0 - 7 : Media type being addressed
D1
Bit 1
* LoEj Bit (See SCSI-3 specification)
Bit 0
* Start Bit (See SCSI-3 specification)
Description
When the West Bridge firmware received a SCSI Start/Stop request from the USB host, this request is relayed to
the P port processor. This request is used to relay the command. The USB firmware will not response to the
USB command until the response to this request is recevied by the firmware.
*/
#define CY_RQT_SCSI_START_STOP_COMMAND (17)
/* Summary
This request is sent when the USB storage driver receives an unknown CBW on mass storage.
Direction
West Bridge -> P Port Processor
Length (in transfers)
4
Mailbox0
* Context = 3
* Request Code = 18
D0
Bits 12 - 15 : MediaType
* 0 = NAND
* 1 = SDIO Flash
* 2 = MMC Flash
* 3 = CE-ATA
D1
The length of the request in bytes
D2 - Dn
CBW command block from the SCSI host controller.
Description
When the firmware recevies a SCSI request that is not understood, this request is relayed to the
P port processor.
*/
#define CY_RQT_SCSI_UNKNOWN_COMMAND (18)
/* Summary
Request the West Bridge to signal remote wakeup to the USB host.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 3
* Request code = 19
Description
Request from the processor to West Bridge, to signal remote wakeup to the USB host.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_USB_REMOTE_WAKEUP (19)
/* Summary
Request the West Bridge to clear all descriptors that were set previously
using the Set Descriptor calls.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 3
* Request code = 20
Description
Request from the processor to West Bridge, to clear all descriptor information
that was previously stored on the West Bridge using CyAnUsbSetDescriptor calls.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_CLEAR_DESCRIPTORS (20)
/* Summary
Request the West Bridge to monitor USB to storage activity and send
periodic updates.
Direction
P Port Processor -> West Bridge
Length (in transfers)
2
Mailbox0
* Context = 3
* Request code = 21
D0
Upper 16 bits of write threshold
D1
Lower 16 bits of write threshold
D2
Upper 16 bits of read threshold
D3
Lower 16 bits of read threshold
Description
Request from the processor to West Bridge, to start monitoring the level
of read/write activity on the USB mass storage drive and to set the
threshold level at which progress reports are sent.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_USB_STORAGE_MONITOR (21)
/* Summary
Event from the West Bridge showing that U2S activity since the last event has
crossed the threshold.
Direction
West Bridge -> P Port Processor
Length (in transfers)
2
Mailbox0
* Context = 3
* Request code = 22
D0
Upper 16 bits of sectors written since last event.
D1
Lower 16 bits of sectors written since last event.
D2
Upper 16 bits of sectors read since last event.
D3
Lower 16 bits of sectors read since last event.
Description
Event notification from the West Bridge indicating that the number of
read/writes on the USB mass storage device have crossed a pre-defined
threshold level.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_USB_ACTIVITY_UPDATE (22)
/* Summary
Request to select the partitions to be enumerated on a storage device with
partitions.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 3
* Request code = 23
D0
Bits 8-15 : Bus index
Bits 0- 7 : Device index
D1
Bits 8-15 : Control whether to enumerate partition 1.
Bits 0- 7 : Control whether to enumerate partition 0.
Responses
* CY_RESP_SUCCESS_FAILURE
*/
#define CY_RQT_MS_PARTITION_SELECT (23)
/******************************************************/
/*@@USB responses
Summary
The USB responses include:
* CY_RESP_USB_CONFIG
* CY_RESP_ENDPOINT_CONFIG
* CY_RESP_ENDPOINT_STALL
* CY_RESP_CONNECT_STATE
* CY_RESP_USB_DESCRIPTOR
* CY_RESP_USB_INVALID_EVENT
* CY_RESP_ENDPOINT_NAK
* CY_RESP_INQUIRY_DATA
* CY_RESP_UNKNOWN_SCSI_COMMAND
*/
/* Summary
This response contains the enumeration configuration information for the USB module.
Direction
8051->P
Length (in transfers)
1
MailBox0
* Context = 3
* Response Code = 32
D0
Bits 8 - 15: Media to enumerate (bit mask)
Bits 0 - 7: Buses to enumerate (bit mask)
* 1 = Bus 0
* 2 = Bus 1
D1
Enumeration Methodology
* 0 = West Bridge enumeration
* 1 = P Port enumeration
D2
Bits 7 - 0 : Interface Count - the number of interfaces
Bits 15 - 8 : Mass storage callbacks
*/
#define CY_RESP_USB_CONFIG (32)
/* Summary
This response contains the configuration information for the specified endpoint.
Direction
8051->P
Length (in transfers)
1
MailBox0
* Context = 3
* Response Code = 33
D0
Bits 15 - 12 : Endpoint Number (0 - 15)
Bits 11 - 10 : Endpoint Type
* 0 = Control
* 1 = Bulk
* 2 = Interrupt
* 3 = Isochronous
Bits 9 : Endpoint Size
* 0 = 512
* 1 = 1024
Bits 8 - 7 : Buffering
* 0 = Double
* 1 = Triple
* 2 = Quad
Bits 6 : Bit Direction
* 0 = Input
* 1 = Output
*/
#define CY_RESP_ENDPOINT_CONFIG (33)
/* Summary
This response contains the stall status for the specified endpoint.
Direction
8051->P
Length (in transfers)
1
MailBox0
* Context = 3
* Response Code = 34
D0
Stall status
* 0 = Active
* 1 = Stalled
*/
#define CY_RESP_ENDPOINT_STALL (34)
/* Summary
This response contains the connected/disconnected state of the West Bridge USB pins.
Direction
8051->P
Length (in transfers)
1
MailBox0
* Context = 3
* Response Code = 35
D0
Connect state
* 0 = Disconnected
* 1 = Connected
*/
#define CY_RESP_CONNECT_STATE (35)
/* Summary
This response contains the information about the USB configuration
Direction
West Bridge -> P Port Processor
Length
x bytes
Mailbox0
* Context = 3
* Response Code = 36
D0
Length in bytes of the descriptor
* D1 - DN *
Descriptor contents
*/
#define CY_RESP_USB_DESCRIPTOR (36)
/* Summary
This response is sent in response to a bad USB event code
Direction
P Port Processor -> West Bridge
Length
1 word (2 bytes)
Mailbox0
* Context = 3
* Response Code = 37
D0
The invalid event code in the request
*/
#define CY_RESP_USB_INVALID_EVENT (37)
/* Summary
This response contains the current NAK status of a USB endpoint.
Direction
West Bridge -> P port processor
Length
1 transfer
Mailbox0
* Context = 3
* Response Code = 38
D0
The NAK status of the endpoint
1 : NAK bit set
0 : NAK bit clear
*/
#define CY_RESP_ENDPOINT_NAK (38)
/* Summary
This response gives the contents of the inquiry data back to West Bridge to
returns to the USB host.
Direction
West Bridge -> P Port Processor
Length
Variable
MailBox0
* Context = 3
* Response Code = 39
D0
Length of the inquiry response
*D1 - Dn*
Inquiry data
*/
#define CY_RESP_INQUIRY_DATA (39)
/* Summary
This response gives the status of an unknown SCSI command. This also gives three
bytes of sense information.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 3
* Response Code = 40
D0
The length of the reply in bytes
D1
* Status of the command
* Sense Key
D2
* Additional Sense Code (ASC)
* Additional Sense Code Qualifier (ASCQ)
*/
#define CY_RESP_UNKNOWN_SCSI_COMMAND (40)
/*******************************************************/
/*@@Turbo requests
Summary
The Turbo requests include:
* CY_RQT_START_MTP
* CY_RQT_STOP_MTP
* CY_RQT_INIT_SEND_OBJECT
* CY_RQT_CANCEL_SEND_OBJECT
* CY_RQT_INIT_GET_OBJECT
* CY_RQT_CANCEL_GET_OBJECT
* CY_RQT_SEND_BLOCK_TABLE
* CY_RQT_MTP_EVENT
* CY_RQT_TURBO_CMD_FROM_HOST
* CY_RQT_TURBO_SEND_RESP_DATA_TO_HOST
* CY_RQT_TURBO_SWITCH_ENDPOINT
* CY_RQT_TURBO_START_WRITE_DMA
* CY_RQT_ENABLE_USB_PATH
* CY_RQT_CANCEL_ASYNC_TRANSFER
*/
#ifndef __doxygen__
#define CY_RQT_TUR_RQT_CONTEXT (4)
#endif
/* Summary
This command requests initialization of the MTP stack.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 4
* Request Code = 0
Description
This command is required before any other MTP related command can be
sent to the West Bridge firmware.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_ALREADY_RUNNING
*/
#define CY_RQT_START_MTP (0)
/* Summary
This command requests shutdown of the MTP stack.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 4
* Request Code = 1
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
*/
#define CY_RQT_STOP_MTP (1)
/* Summary
This command sets up an MTP SendObject operation.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 4
* Request Code = 2
D0
Total bytes for send object Low 16 bits
D1
Total bytes for send object High 16 bits
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
*/
#define CY_RQT_INIT_SEND_OBJECT (2)
/* Summary
This command cancels West Bridges handling of
an ongoing MTP SendObject operation. This
does NOT send an MTP response.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 4
* Request Code = 3
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_NO_OPERATION_PENDING
*/
#define CY_RQT_CANCEL_SEND_OBJECT (3)
/* Summary
This command sets up an MTP GetObject operation.
Direction
P Port Processor -> West Bridge
Length (in transfers)
2
MailBox0
* Context = 4
* Request Code = 4
D0
Total bytes for get object Low 16 bits
D1
Total bytes for get object High 16 bits
D2
Transaction Id for get object Low 16 bits
D3
Transaction Id for get object High 16 bits
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
*/
#define CY_RQT_INIT_GET_OBJECT (4)
/* Summary
This command notifies West Bridge of a new
BlockTable transfer.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 4
* Request Code = 5
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
*/
#define CY_RQT_SEND_BLOCK_TABLE (5)
/* Summary
This request is sent to the P port processor when a MTP event occurs
and needs to be relayed to the P port.
Direction
West Bridge -> P Port Processor
Length (in transfers)
2
Mailbox0
* Context = 4
* Request Code = 6
D0
Bits 15 - 8 : Return Status for GetObject/SendObject
Bits 7 - 0 : Event Type
* 0 = MTP SendObject Complete
* 1 = MTP GetObject Complete
* 2 = BlockTable Needed
D1
Lower 16 bits of the length of the data that got transferred in the Turbo Endpoint.
(Applicable to "MTP SendObject Complete" and "MTP GetObject Complete" events)
D2
Upper 16 bits of the length of the data that got transferred in the Turbo Endpoint.
(Applicable to "MTP SendObject Complete" and "MTP GetObject Complete" events)
D3
Lower 16 bits of the Transaction Id of the MTP_SEND_OBJECT command.
(Applicable to "MTP SendObject Complete" event)
D4
Upper 16 bits of the Transaction Id of the MTP_SEND_OBJECT command.
(Applicable to "MTP SendObject Complete" event)
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_MTP_EVENT (6)
/* Summary
This request is sent to the P port processor when a command is received
from Host in a Turbo Endpoint. Upon receiving this event, P port should
read the data from the endpoint as soon as possible.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
Mailbox0
* Context = 4
* Request Code = 7
D0
This contains the EP number. (This will be always two now).
D1
Length of the data available in the Turbo Endpoint.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_TURBO_CMD_FROM_HOST (7)
/* Summary
This request is sent to the West Bridge when the P port needs to send
data to the Host in a Turbo Endpoint. Upon receiving this event,
Firmware will make the end point avilable for the P port. If the length is
zero, then firmware will send a zero length packet.
Direction
P Port Processor -> West Bridge
Length (in transfers)
2
Mailbox0
* Context = 4
* Request Code = 8
D0
This contains the EP number. (This will be always six now).
D1
Lower 16 bits of the length of the data that needs to be sent in the Turbo Endpoint.
D2
Upper 16 bits of the length of the data that needs to be sent in the Turbo Endpoint.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_TURBO_SEND_RESP_DATA_TO_HOST (8)
/* Summary
This command cancels West Bridges handling of
an ongoing MTP GetObject operation. This
does NOT send an MTP response.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 4
* Request Code = 9
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_NO_OPERATION_PENDING
*/
#define CY_RQT_CANCEL_GET_OBJECT (9)
/* Summary
This command switches a Turbo endpoint
from the U port to the P port. If no data
is in the endpoint the endpoint is
primed to switch as soon as data is placed
in the endpoint. The endpoint will continue
to switch until all data has been transferd.
Direction
P Port Processor -> West Bridge
Length (in transfers)
2
MailBox0
* Context = 4
* Request Code = 10
D0
Whether the read is a packet read.
D1
Lower 16 bits of the length of the data to switch the Turbo Endpoint for.
D2
Upper 16 bits of the length of the data to switch the Turbo Endpoint for.
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
* CY_RESP_SUCCESS_FAILURE:CY_RESP_NOT_RUNNING
*/
#define CY_RQT_TURBO_SWITCH_ENDPOINT (10)
/* Summary
This command requests the API to start the DMA transfer of a packet
of MTP data to the Antioch.
Direction
West Bridge -> P Port Processor
Length (in transfers)
1
MailBox0
* Context = 4
* Request Code = 11
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_TURBO_START_WRITE_DMA (11)
/* Summary
This command requests the firmware to switch the internal data paths to enable
USB access to the Mass storage / MTP endpoints.
Direction
P Port Processor -> West Bridge
Length (in transfers)
1
MailBox0
* Context = 4
* Request code = 12
Responses
* CY_RESP_SUCCESS_FAILURE:CY_AS_ERROR_SUCCESS
*/
#define CY_RQT_ENABLE_USB_PATH (12)
/* Summary
Request to cancel an asynchronous MTP write from the processor side.
Direction
P Port processor -> West Bridge
Length (in transfers)
1
Mailbox0
* Context = 4
* Request code = 13
D0
* EP number
Description
This is a request to the firmware to update internal state so that a pending write
on the MTP endpoint can be cancelled.
*/
#define CY_RQT_CANCEL_ASYNC_TRANSFER (13)
/******************************************************/
/*@@Turbo responses
Summary
The Turbo responses include:
* CY_RESP_MTP_INVALID_EVENT
*/
/* Summary
This response is sent in response to a bad MTP event code
Direction
P Port Processor -> West Bridge
Length
1 word (2 bytes)
Mailbox0
* Context = 4
* Response Code = 16
D0
The invalid event code in the request
*/
#define CY_RESP_MTP_INVALID_EVENT (16)
#ifndef __doxygen__
#define CY_RQT_CONTEXT_COUNT (5)
#endif
#endif /* _INCLUDED_CYASPROTOCOL_H_ */