You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
3.5 KiB
138 lines
3.5 KiB
/* |
|
* amba_usb.h |
|
* |
|
* History: |
|
* 2008/7/10 - [Cao Rongrong] created file |
|
* |
|
* Copyright (c) 2016 Ambarella, Inc. |
|
* |
|
* This file and its contents ("Software") are protected by intellectual |
|
* property rights including, without limitation, U.S. and/or foreign |
|
* copyrights. This Software is also the confidential and proprietary |
|
* information of Ambarella, Inc. and its licensors. You may not use, reproduce, |
|
* disclose, distribute, modify, or otherwise prepare derivative works of this |
|
* Software or any portion thereof except pursuant to a signed license agreement |
|
* or nondisclosure agreement with Ambarella, Inc. or its authorized affiliates. |
|
* In the absence of such an agreement, you agree to promptly notify and return |
|
* this Software to Ambarella, Inc. |
|
* |
|
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, |
|
* MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
|
* IN NO EVENT SHALL AMBARELLA, INC. OR ITS AFFILIATES BE LIABLE FOR ANY DIRECT, |
|
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
* LOSS OF USE, DATA, OR PROFITS; COMPUTER FAILURE OR MALFUNCTION; OR BUSINESS |
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
|
* POSSIBILITY OF SUCH DAMAGE. |
|
* |
|
*/ |
|
|
|
#ifndef TEST_USB_STREAM_H |
|
#define TEST_USB_STREAM_H |
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
#define READ_SIZE 32768 |
|
#define WRITE_SIZE 32768 |
|
#define SIMPLE_CMD_SIZE 32 |
|
|
|
/* TOKEN */ |
|
#define AMB_COMMAND_TOKEN 0x55434D44 |
|
#define AMB_STATUS_TOKEN 0x55525350 |
|
|
|
#define USB_CMD_TRY_TO_CONN 0 |
|
#define USB_CMD_RDY_TO_RCV 1 |
|
#define USB_CMD_RCV_DATA 2 |
|
#define USB_CMD_RDY_TO_SND 3 |
|
#define USB_CMD_SND_DATA 4 |
|
#define USB_CMD_SET_MODE 5 |
|
#define USB_CMD_RECV_REQUEST 6 |
|
|
|
|
|
#define AMB_RSP_SUCCESS 0 |
|
#define AMB_RSP_FAILED 1 |
|
|
|
#define AMB_CMD_PARA_UP 0 |
|
#define AMB_CMD_PARA_DOWN 1 |
|
#define AMB_CMD_PARA_MEASURE_SPD 2 |
|
|
|
#define AMB_RSP_NO_CONN 0 |
|
#define AMB_RSP_CONNECT 1 |
|
|
|
#define NR_PORT 32 |
|
#define ALL_PORT 0xffff |
|
|
|
#define PORT_STATUS_CHANGE 0x55 |
|
#define PORT_NO_CONNECT 0 |
|
#define PORT_CONNECT 1 |
|
#define PORT_FREE_ALL 2 |
|
|
|
#define REQUEST_HOST_CONNECT 0xaa |
|
#define HOST_NO_CONNECT 0 |
|
#define HOST_CONNECT 1 |
|
|
|
#define FLAG_LAST_TRANS 0x01 |
|
#define FLAG_FORCE_FINISH 0x10 |
|
|
|
#define AMB_DATA_STREAM_MAGIC 'u' |
|
#define AMB_DATA_STREAM_WR_RSP _IOW(AMB_DATA_STREAM_MAGIC, 1, struct amb_usb_rsp *) |
|
#define AMB_DATA_STREAM_RD_CMD _IOR(AMB_DATA_STREAM_MAGIC, 1, struct amb_usb_cmd *) |
|
#define AMB_DATA_STREAM_STATUS_CHANGE _IOW(AMB_DATA_STREAM_MAGIC, 2, struct amb_usb_notify *) |
|
|
|
struct amb_usb_cmd { |
|
u32 signature; |
|
u32 command; |
|
u32 parameter[(SIMPLE_CMD_SIZE / sizeof(u32)) - 2]; |
|
}; |
|
|
|
struct amb_usb_rsp { |
|
u32 signature; |
|
u32 response; |
|
u32 parameter0; |
|
u32 parameter1; |
|
}; |
|
|
|
struct amb_usb_notify { |
|
u16 bNotifyType; |
|
u16 port_id; |
|
u16 value; |
|
u16 status; |
|
}; |
|
|
|
struct amb_usb_head { |
|
u32 port_id; |
|
u32 size; |
|
u32 flag1; |
|
u32 flag2; |
|
}; |
|
|
|
#define USB_PORT_IDLE 0x0 |
|
#define USB_PORT_OPEN 0x1 |
|
#define USB_PORT_CLOSED 0x2 |
|
|
|
#define USB_HEAD_SIZE sizeof(struct amb_usb_head) |
|
struct amb_usb_buf { |
|
struct amb_usb_head head; |
|
char buffer[0]; |
|
}; |
|
|
|
enum RX_FSM { |
|
COMMAND_PHASE = 0, |
|
RCV_FILENAME_PHASE, |
|
RCV_DATA_PHASE, |
|
SND_FILENAME_PHASE, |
|
SND_DATA_PHASE, |
|
MEASURE_SPEED_PHASE, |
|
}; |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif /* end */ |
|
|
|
|