00001 /* ========================================================================== 00002 * Synopsys HS OTG Linux Software Driver and documentation (hereinafter, 00003 * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless 00004 * otherwise expressly agreed to in writing between Synopsys and you. 00005 * 00006 * The Software IS NOT an item of Licensed Software or Licensed Product under 00007 * any End User Software License Agreement or Agreement for Licensed Product 00008 * with Synopsys or any supplement thereto. You are permitted to use and 00009 * redistribute this Software in source and binary forms, with or without 00010 * modification, provided that redistributions of source code must retain this 00011 * notice. You may not view, use, disclose, copy or distribute this file or 00012 * any information contained herein except pursuant to this license grant from 00013 * Synopsys. If you do not agree with this notice, including the disclaimer 00014 * below, then you are not authorized to use the Software. 00015 * 00016 * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS 00017 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00018 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00019 * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, 00020 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00021 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00022 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00023 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00024 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 00025 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 00026 * DAMAGE. 00027 * ========================================================================== */ 00028 00029 #if !defined(__DWC_CFI_COMMON_H__) 00030 #define __DWC_CFI_COMMON_H__ 00031 00032 //#include <linux/types.h> 00033 00044 #define VEN_CORE_GET_FEATURES 0xB1 00045 00047 #define VEN_CORE_GET_FEATURE 0xB2 00048 00050 #define VEN_CORE_SET_FEATURE 0xB3 00051 00055 #define VEN_CORE_RESET_FEATURES 0xB4 00056 00058 #define VEN_CORE_ACTIVATE_FEATURES 0xB5 00059 00061 #define VEN_CORE_READ_REGISTER 0xB6 00062 00064 #define VEN_CORE_WRITE_REGISTER 0xB7 00065 00069 struct cfi_all_features_header { 00071 #define CFI_ALL_FEATURES_HDR_LEN 8 00072 00075 uint16_t wTotalLen; 00076 00082 uint16_t wVersion; 00083 00085 uint16_t wCoreID; 00086 #define CFI_CORE_ID_UDC 1 00087 #define CFI_CORE_ID_OTG 2 00088 #define CFI_CORE_ID_WUDEV 3 00089 00091 uint16_t wNumFeatures; 00092 } UPACKED; 00093 00094 typedef struct cfi_all_features_header cfi_all_features_header_t; 00095 00099 struct cfi_feature_desc_header { 00100 #define CFI_FEATURE_DESC_HDR_LEN 8 00101 00103 uint16_t wFeatureID; 00104 00108 uint16_t wLength; 00109 00111 uint16_t wDataLength; 00112 00119 uint8_t bmAttributes; 00120 #define CFI_FEATURE_ATTR_RO 1 00121 #define CFI_FEATURE_ATTR_RW 0 00122 00124 uint8_t bNameLen; 00125 00127 //uint8_t *name; 00128 } UPACKED; 00129 00130 typedef struct cfi_feature_desc_header cfi_feature_desc_header_t; 00131 00136 struct cfi_string { 00137 uint16_t id; 00138 const uint8_t *s; 00139 }; 00140 typedef struct cfi_string cfi_string_t; 00141 00142 #endif