| /* Cypress West Bridge API header file (cyasprotocol.h) |
| ## =========================== |
| ## Copyright (C) 2010 Cypress Semiconductor |
| ## |
| ## This program is free software; you can redistribute it and/or |
| ## modify it under the terms of the GNU General Public License |
| ## as published by the Free Software Foundation; either version 2 |
| ## of the License, or (at your option) any later version. |
| ## |
| ## This program is distributed in the hope that it will be useful, |
| ## but WITHOUT ANY WARRANTY; without even the implied warranty of |
| ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| ## GNU General Public License for more details. |
| ## |
| ## You should have received a copy of the GNU General Public License |
| ## along with this program; if not, write to the Free Software |
| ## Foundation, Inc., 51 Franklin Street |
| ## Fifth Floor, Boston, MA 02110-1301, USA. |
| ## =========================== |
| */ |
| |
| #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 tha |
| 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_ */ |
| |