X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Fstaging%2Fwestbridge%2Fastoria%2Finclude%2Flinux%2Fwestbridge%2Fcyasusb_dep.h;fp=drivers%2Fstaging%2Fwestbridge%2Fastoria%2Finclude%2Flinux%2Fwestbridge%2Fcyasusb_dep.h;h=829eddee39b5207d031dbe0f61ef15a0d95cb61e;hb=f2ec334db8d14ae3ec2e4bf8d974f75b8f772e26;hp=0000000000000000000000000000000000000000;hpb=81e20d4d8d0317ecf1c7d193a52ab26cf74e1737;p=mv-sheeva.git diff --git a/drivers/staging/westbridge/astoria/include/linux/westbridge/cyasusb_dep.h b/drivers/staging/westbridge/astoria/include/linux/westbridge/cyasusb_dep.h new file mode 100644 index 00000000000..829eddee39b --- /dev/null +++ b/drivers/staging/westbridge/astoria/include/linux/westbridge/cyasusb_dep.h @@ -0,0 +1,224 @@ +/* Cypress West Bridge API header file (cyasusb_dep.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. +## =========================== +*/ + +/* + * This header will contain Antioch specific declaration + * of the APIs that are deprecated in Astoria SDK. This is + * for maintaining backward compatibility. + */ + +#ifndef __INCLUDED_CYASUSB_DEP_H__ +#define __INCLUDED_CYASUSB_DEP_H__ + +#ifndef __doxygen__ + +/* + This data structure is the data passed via the evdata + paramater on a usb event callback for the inquiry request. +*/ + +typedef struct cy_as_usb_inquiry_data_dep { + /* The media for the event */ + cy_as_media_type media; + /* The EVPD bit from the SCSI INQUIRY request */ + uint8_t evpd; + /* The codepage in the inquiry request */ + uint8_t codepage; + /* This bool must be set to CyTrue indicate + * that the inquiry data was changed */ + cy_bool updated; + /* The length of the data */ + uint16_t length; + /* The inquiry data */ + void *data; +} cy_as_usb_inquiry_data_dep; + + +typedef struct cy_as_usb_unknown_command_data_dep { + /* The media for the event */ + cy_as_media_type media; + /* The length of the requst (should be 16 bytes) */ + uint16_t reqlen; + /* The request */ + void *request; + /* The returned status value for the command */ + uint8_t status; + /* If status is failed, the sense key */ + uint8_t key; + /* If status is failed, the additional sense code */ + uint8_t asc; + /* If status if failed, the additional sense code qualifier */ + uint8_t ascq; +} cy_as_usb_unknown_command_data_dep; + + +typedef struct cy_as_usb_start_stop_data_dep { + /* The media type for the event */ + cy_as_media_type media; + /* CyTrue means start request, CyFalse means stop request */ + cy_bool start; + /* CyTrue means LoEj bit set, otherwise false */ + cy_bool loej; +} cy_as_usb_start_stop_data_dep; + + +typedef struct cy_as_usb_enum_control_dep { + /* The bits in this member determine which mass storage devices + are enumerated. see cy_as_usb_mass_storage_enum for more details. */ + uint8_t enum_mass_storage; + /* If true, West Bridge will control enumeration. If this is false the + pport controls enumeration. if the P port is controlling + enumeration, traffic will be received via endpoint zero. */ + cy_bool antioch_enumeration; + /* This is the interface # to use for the mass storage interface, + if mass storage is enumerated. if mass storage is not enumerated + this value should be zero. */ + uint8_t mass_storage_interface; + /* If true, Inquiry, START/STOP, and unknown mass storage + requests cause a callback to occur for handling by the + baseband processor. */ + cy_bool mass_storage_callbacks; +} cy_as_usb_enum_control_dep; + + +typedef void (*cy_as_usb_event_callback_dep)( + /* Handle to the device to configure */ + cy_as_device_handle handle, + /* The event type being reported */ + cy_as_usb_event ev, + /* The data assocaited with the event being reported */ + void *evdata +); + + + +/* Register Callback api */ +EXTERN cy_as_return_status_t +cy_as_usb_register_callback_dep( + /* Handle to the West Bridge device */ + cy_as_device_handle handle, + /* The function to call */ + cy_as_usb_event_callback_dep callback + ); + + +extern cy_as_return_status_t +cy_as_usb_set_enum_config_dep( + /* Handle to the West Bridge device */ + cy_as_device_handle handle, + /* The USB configuration information */ + cy_as_usb_enum_control_dep *config_p, + /* The callback if async call */ + cy_as_function_callback cb, + /* Client supplied data */ + uint32_t client + ); + + +extern cy_as_return_status_t +cy_as_usb_get_enum_config_dep( + /* Handle to the West Bridge device */ + cy_as_device_handle handle, + /* The return value for USB congifuration information */ + cy_as_usb_enum_control_dep *config_p, + /* The callback if async call */ + cy_as_function_callback cb, + /* Client supplied data */ + uint32_t client + ); + +extern cy_as_return_status_t +cy_as_usb_get_descriptor_dep( + /* Handle to the West Bridge device */ + cy_as_device_handle handle, + /* The type of descriptor */ + cy_as_usb_desc_type type, + /* Index for string descriptor */ + uint8_t index, + /* The buffer to hold the returned descriptor */ + void *desc_p, + /* This is an input and output parameter. Before the code this pointer + points to a uint32_t that contains the length of the buffer. after + the call, this value contains the amount of data actually returned. */ + uint32_t *length_p + ); + +extern cy_as_return_status_t +cy_as_usb_set_stall_dep( + /* Handle to the West Bridge device */ + cy_as_device_handle handle, + /* The endpoint of interest */ + cy_as_end_point_number_t ep, + /* The callback if async call */ + cy_as_usb_function_callback cb, + /* Client supplied data */ + uint32_t client +); + +EXTERN cy_as_return_status_t +cy_as_usb_clear_stall_dep( + /* Handle to the West Bridge device */ + cy_as_device_handle handle, + /* The endpoint of interest */ + cy_as_end_point_number_t ep, + /* The callback if async call */ + cy_as_usb_function_callback cb, + /* Client supplied data */ + uint32_t client + ); + +EXTERN cy_as_return_status_t +cy_as_usb_set_nak_dep( + /* Handle to the West Bridge device */ + cy_as_device_handle handle, + /* The endpoint of interest */ + cy_as_end_point_number_t ep, + /* The callback if async call */ + cy_as_usb_function_callback cb, + /* Client supplied data */ + uint32_t client +); + +EXTERN cy_as_return_status_t +cy_as_usb_clear_nak_dep( + /* Handle to the West Bridge device */ + cy_as_device_handle handle, + /* The endpoint of interest */ + cy_as_end_point_number_t ep, + /* The callback if async call */ + cy_as_usb_function_callback cb, + /* Client supplied data */ + uint32_t client + ); + +EXTERN cy_as_return_status_t +cy_as_usb_select_m_s_partitions_dep( + cy_as_device_handle handle, + cy_as_media_type media, + uint32_t device, + cy_as_usb_m_s_type_t type, + cy_as_function_callback cb, + uint32_t client + ); + +#endif /*__doxygen*/ + +#endif /*__INCLUDED_CYANSTORAGE_DEP_H__*/