diff options
Diffstat (limited to 'drivers/staging/westbridge/astoria/include/linux/westbridge/cyasmisc.h')
-rw-r--r-- | drivers/staging/westbridge/astoria/include/linux/westbridge/cyasmisc.h | 1549 |
1 files changed, 0 insertions, 1549 deletions
diff --git a/drivers/staging/westbridge/astoria/include/linux/westbridge/cyasmisc.h b/drivers/staging/westbridge/astoria/include/linux/westbridge/cyasmisc.h deleted file mode 100644 index df7c2b66cf2..00000000000 --- a/drivers/staging/westbridge/astoria/include/linux/westbridge/cyasmisc.h +++ /dev/null @@ -1,1549 +0,0 @@ -/* Cypress West Bridge API header file (cyasmisc.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_CYASMISC_H_ -#define _INCLUDED_CYASMISC_H_ - -#include "cyashal.h" -#include "cyastypes.h" -#include "cyasmedia.h" - -#include "cyas_cplus_start.h" - -#define CY_AS_LEAVE_STANDBY_DELAY_CLOCK (1) -#define CY_AS_RESET_DELAY_CLOCK (1) - -#define CY_AS_LEAVE_STANDBY_DELAY_CRYSTAL (5) -#define CY_AS_RESET_DELAY_CRYSTAL (5) - -/* The maximum number of buses supported */ -#define CY_AS_MAX_BUSES (2) - -/* The maximum number of storage devices supported per bus */ -#define CY_AS_MAX_STORAGE_DEVICES (1) - -#define CY_AS_FUNCTCBTYPE_DATA_MASK (0x60000000U) -#define CY_AS_FUNCTCBTYPE_TYPE_MASK (0x1FFFFFFFU) - -#define cy_as_funct_c_b_type_get_type(t) \ - ((cy_as_funct_c_b_type)((t) & CY_AS_FUNCTCBTYPE_TYPE_MASK)) -#define cy_as_funct_c_b_type_contains_data(t) \ - (((cy_as_funct_c_b_type)((t) & \ - CY_AS_FUNCTCBTYPE_DATA_MASK)) == CY_FUNCT_CB_DATA) - -/************************************** - * West Bridge Types - **************************************/ - -/* Summary - Specifies a handle to an West Bridge device - - Description - This type represents an opaque handle to an West Bridge device. - This handle is created via the CyAsMiscCreateDevice() function - and is used in all subsequent calls that communicate to the West - Bridge device. - - See Also - * CyAsMiscCreateDevice - * CyAsMiscDestroyDevice -*/ -typedef void *cy_as_device_handle; - -/* Summary - This data type gives the mode for the DACK# signal -*/ -typedef enum cy_as_device_dack_mode { - cy_as_device_dack_ack, /* Operate in the ACK mode */ - cy_as_device_dack_eob /* Operate in the EOB mode */ -} cy_as_device_dack_mode; - -/* Summary - This data structure gives the options for all hardware features. - - Description - This structure contains the information required to initialize the - West Bridge hardware. Any features of the device that can be - configured by the caller are specified here. - - See Also - * CyAsMiscConfigure -*/ -typedef struct cy_as_device_config { - /* If TRUE, the P port is running in SRAM mode. */ - cy_bool srammode; - /* If TRUE, the P port is synchronous, otherwise async */ - cy_bool sync; - /* If TRUE, DMA req will be delivered via the interrupt signal */ - cy_bool dmaintr; - /* Mode for the DACK# signal */ - cy_as_device_dack_mode dackmode; - /* If TRUE, the DRQ line is active high, otherwise active low */ - cy_bool drqpol; - /* If TRUE, the DACK line is active high, otherwise active low */ - cy_bool dackpol; - /* If TRUE, the clock is connected to a crystal, otherwise it is - connected to a clock */ - cy_bool crystal; -} cy_as_device_config; - - -/* Summary - Specifies a resource that can be owned by either the West Bridge - device or by the processor. - - Description - This enumerated type identifies a resource that can be owned - either by the West Bridge device, or by the processor attached to - the P port of the West Bridge device. - - See Also - * CyAsMiscAcquireResource - * CyAsMiscReleaseResource -*/ -typedef enum cy_as_resource_type { - cy_as_bus_u_s_b = 0, /* The USB D+ and D- pins */ - cy_as_bus_1 = 1, /* The SDIO bus */ - cy_as_bus_0 = 2 /* The NAND bus (not implemented) */ -} cy_as_resource_type; - -/* Summary - Specifies the reset type for a software reset operation. - - Description - When the West Bridge device is reset, there are two types of - reset that arE possible. This type indicates the type of reset - requested. - - Notes - Both of these reset types are software based resets; and are - distinct from a chip level HARD reset that is applied through - the reset pin on the West Bridge. - - The CyAsResetSoft type resets only the on-chip micro-controller - in the West Bridge. In this case, the previously loaded firmware - will continue running. However, the Storage and USB stack - operations will need to be restarted, as any state relating to - these would have been lost. - - The CyAsResetHard type resets the entire West Bridge chip, and will - need a fresh configuration and firmware download. - - See Also - * <LINK CyAsMiscReset> - */ - -typedef enum cy_as_reset_type { - /* Just resets the West Bridge micro-controller */ - cy_as_reset_soft, - /* Resets entire device, firmware must be reloaded and - the west bridge device must be re-initialized */ - cy_as_reset_hard -} cy_as_reset_type; - - - -/* Summary - This type specifies the polarity of the SD power pin. - - Description - Sets the SD power pin ( port C, bit 6) to active low or - active high. - -*/ - -typedef enum cy_as_misc_signal_polarity { - cy_as_misc_active_high, - cy_as_misc_active_low - -} cy_as_misc_signal_polarity; - - - -/* Summary - This type specifies the type of the data returned by a Function - Callback. - - Description - CY_FUNCT_CB_NODATA - This callback does not return any additional - information in the data field. - CY_FUNCT_CB_DATA - The data field is used, and the CyAsFunctCBType - will also contain the type of this data. - - See Also - CyAsFunctionCallback -*/ -typedef enum cy_as_funct_c_b_type { - CY_FUNCT_CB_INVALID = 0x0U, - /* Data from a CyAsMiscGetFirmwareVersion call. */ - CY_FUNCT_CB_MISC_GETFIRMWAREVERSION, - /* Data from a CyAsMiscHeartBeatControl call. */ - CY_FUNCT_CB_MISC_HEARTBEATCONTROL, - /* Data from a CyAsMiscAcquireResource call. */ - CY_FUNCT_CB_MISC_ACQUIRERESOURCE, - /* Data from a CyAsMiscReadMCURegister call. */ - CY_FUNCT_CB_MISC_READMCUREGISTER, - /* Data from a CyAsMiscWriteMCURegister call. */ - CY_FUNCT_CB_MISC_WRITEMCUREGISTER, - /* Data from a CyAsMiscSetTraceLevel call. */ - CY_FUNCT_CB_MISC_SETTRACELEVEL, - /* Data from a CyAsMiscStorageChanged call. */ - CY_FUNCT_CB_MISC_STORAGECHANGED, - /* Data from a CyAsMiscGetGpioValue call. */ - CY_FUNCT_CB_MISC_GETGPIOVALUE, - /* Data from a CyAsMiscSetGpioValue call. */ - CY_FUNCT_CB_MISC_SETGPIOVALUE, - /* Data from a CyAsMiscDownloadFirmware call. */ - CY_FUNCT_CB_MISC_DOWNLOADFIRMWARE, - /* Data from a CyAsMiscEnterStandby call. */ - CY_FUNCT_CB_MISC_ENTERSTANDBY, - /* Data from a CyAsMiscEnterSuspend call. */ - CY_FUNCT_CB_MISC_ENTERSUSPEND, - /* Data from a CyAsMiscLeaveSuspend call. */ - CY_FUNCT_CB_MISC_LEAVESUSPEND, - /* Data from a CyAsMiscReset call. */ - CY_FUNCT_CB_MISC_RESET, - /* Data from a CyAsMiscSetLowSpeedSDFreq or - * CyAsMiscSetHighSpeedSDFreq call. */ - CY_FUNCT_CB_MISC_SETSDFREQ, - /* Data from a CyAsMiscSwitchPnandMode call */ - CY_FUNCT_CB_MISC_RESERVELNABOOTAREA, - /* Data from a CyAsMiscSetSDPowerPolarity call */ - CY_FUNCT_CB_MISC_SETSDPOLARITY, - - /* Data from a CyAsStorageStart call. */ - CY_FUNCT_CB_STOR_START, - /* Data from a CyAsStorageStop call. */ - CY_FUNCT_CB_STOR_STOP, - /* Data from a CyAsStorageClaim call. */ - CY_FUNCT_CB_STOR_CLAIM, - /* Data from a CyAsStorageRelease call. */ - CY_FUNCT_CB_STOR_RELEASE, - /* Data from a CyAsStorageQueryMedia call. */ - CY_FUNCT_CB_STOR_QUERYMEDIA, - /* Data from a CyAsStorageQueryBus call. */ - CY_FUNCT_CB_STOR_QUERYBUS, - /* Data from a CyAsStorageQueryDevice call. */ - CY_FUNCT_CB_STOR_QUERYDEVICE, - /* Data from a CyAsStorageQueryUnit call. */ - CY_FUNCT_CB_STOR_QUERYUNIT, - /* Data from a CyAsStorageDeviceControl call. */ - CY_FUNCT_CB_STOR_DEVICECONTROL, - /* Data from a CyAsStorageSDRegisterRead call. */ - CY_FUNCT_CB_STOR_SDREGISTERREAD, - /* Data from a CyAsStorageCreatePartition call. */ - CY_FUNCT_CB_STOR_PARTITION, - /* Data from a CyAsStorageGetTransferAmount call. */ - CY_FUNCT_CB_STOR_GETTRANSFERAMOUNT, - /* Data from a CyAsStorageErase call. */ - CY_FUNCT_CB_STOR_ERASE, - /* Data from a CyAsStorageCancelAsync call. */ - CY_FUNCT_CB_ABORT_P2S_XFER, - /* Data from a CyAsUsbStart call. */ - CY_FUNCT_CB_USB_START, - /* Data from a CyAsUsbStop call. */ - CY_FUNCT_CB_USB_STOP, - /* Data from a CyAsUsbConnect call. */ - CY_FUNCT_CB_USB_CONNECT, - /* Data from a CyAsUsbDisconnect call. */ - CY_FUNCT_CB_USB_DISCONNECT, - /* Data from a CyAsUsbSetEnumConfig call. */ - CY_FUNCT_CB_USB_SETENUMCONFIG, - /* Data from a CyAsUsbGetEnumConfig call. */ - CY_FUNCT_CB_USB_GETENUMCONFIG, - /* Data from a CyAsUsbSetDescriptor call. */ - CY_FUNCT_CB_USB_SETDESCRIPTOR, - /* Data from a CyAsUsbGetDescriptor call. */ - CY_FUNCT_CB_USB_GETDESCRIPTOR, - /* Data from a CyAsUsbCommitConfig call. */ - CY_FUNCT_CB_USB_COMMITCONFIG, - /* Data from a CyAsUsbGetNak call. */ - CY_FUNCT_CB_USB_GETNAK, - /* Data from a CyAsUsbGetStall call. */ - CY_FUNCT_CB_USB_GETSTALL, - /* Data from a CyAsUsbSignalRemoteWakeup call. */ - CY_FUNCT_CB_USB_SIGNALREMOTEWAKEUP, - /* Data from a CyAnUsbClearDescriptors call. */ - CY_FUNCT_CB_USB_CLEARDESCRIPTORS, - /* Data from a CyAnUsbSetMSReportThreshold call. */ - CY_FUNCT_CB_USB_SET_MSREPORT_THRESHOLD, - /* Data from a CyAsMTPStart call. */ - CY_FUNCT_CB_MTP_START, - /* Data from a CyAsMTPStop call. */ - CY_FUNCT_CB_MTP_STOP, - /* Data from a CyAsMTPInitSendObject call. */ - CY_FUNCT_CB_MTP_INIT_SEND_OBJECT, - /* Data from a CyAsMTPCancelSendObject call. */ - CY_FUNCT_CB_MTP_CANCEL_SEND_OBJECT, - /* Data from a CyAsMTPInitGetObject call. */ - CY_FUNCT_CB_MTP_INIT_GET_OBJECT, - /* Data from a CyAsMTPCancelGetObject call. */ - CY_FUNCT_CB_MTP_CANCEL_GET_OBJECT, - /* Data from a CyAsMTPSendBlockTable call. */ - CY_FUNCT_CB_MTP_SEND_BLOCK_TABLE, - /* Data from a CyAsMTPStopStorageOnly call. */ - CY_FUNCT_CB_MTP_STOP_STORAGE_ONLY, - CY_FUNCT_CB_NODATA = 0x40000000U, - CY_FUNCT_CB_DATA = 0x20000000U -} cy_as_funct_c_b_type; - -/* Summary - This type specifies the general West Bridge function callback. - - Description - This callback is supplied as an argument to all asynchronous - functions in the API. It iS called after the asynchronous function - has completed. - - See Also - CyAsFunctCBType -*/ -typedef void (*cy_as_function_callback)( - cy_as_device_handle handle, - cy_as_return_status_t status, - uint32_t client, - cy_as_funct_c_b_type type, - void *data); - -/* Summary - This type specifies the general West Bridge event that has - occurred. - - Description - This type is used in the West Bridge misc callback function to - indicate the type of callback. - - See Also -*/ -typedef enum cy_as_misc_event_type { - /* This event is sent when West Bridge has finished - initialization and is ready to respond to API calls. */ - cy_as_event_misc_initialized = 0, - - /* This event is sent when West Bridge has left the - standby state and is ready to respond to commands again. */ - cy_as_event_misc_awake, - - /* This event is sent periodically from the firmware - to the processor. */ - cy_as_event_misc_heart_beat, - - /* This event is sent when the West Bridge has left the - suspend mode and is ready to respond to commands - again. */ - cy_as_event_misc_wakeup, - - /* This event is sent when the firmware image downloaded - cannot run on the active west bridge device. */ - cy_as_event_misc_device_mismatch -} cy_as_misc_event_type; - -/* Summary - This type is the type of a callback function that is called when a - West Bridge misc event occurs. - - Description - At times West Bridge needs to inform the P port processor of events - that have occurred. These events are asynchronous to the thread of - control on the P port processor and as such are generally delivered - via a callback function that is called as part of an interrupt - handler. This type defines the type of function that must be provided - as a callback function for West Bridge misc events. - - See Also - * CyAsMiscEventType -*/ -typedef void (*cy_as_misc_event_callback)( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* The event type being reported */ - cy_as_misc_event_type ev, - /* The data assocaited with the event being reported */ - void *evdata -); - -#ifndef __doxygen__ -/* Summary - This enum provides info of various firmware trace levels. - - Description - - See Also - * CyAsMiscSetTraceLevel -*/ -enum { - CYAS_FW_TRACE_LOG_NONE = 0, /* Log nothing. */ - CYAS_FW_TRACE_LOG_STATE, /* Log state information. */ - CYAS_FW_TRACE_LOG_CALLS, /* Log function calls. */ - CYAS_FW_TRACE_LOG_STACK_TRACE, /* Log function calls with args. */ - CYAS_FW_TRACE_MAX_LEVEL /* Max trace level sentinel. */ -}; -#endif - -/* Summary - This enum lists the controllable GPIOs of the West Bridge device. - - Description - The West Bridge device has GPIOs that can be used for user defined functions. - This enumeration lists the GPIOs that are available on the device. - - Notes - All of the GPIOs except UVALID can only be accessed when using West Bridge - firmware images that support only SD/MMC/MMC+ storage devices. This - functionality is not supported in firmware images that support NAND - storage. - - See Also - * CyAsMiscGetGpioValue - * CyAsMiscSetGpioValue - */ -typedef enum { - cy_as_misc_gpio_0 = 0, /* GPIO[0] pin */ - cy_as_misc_gpio_1, /* GPIO[1] pin */ - cy_as_misc_gpio__nand_CE, /* NAND_CE pin, output only */ - cy_as_misc_gpio__nand_CE2, /* NAND_CE2 pin, output only */ - cy_as_misc_gpio__nand_WP, /* NAND_WP pin, output only */ - cy_as_misc_gpio__nand_CLE, /* NAND_CLE pin, output only */ - cy_as_misc_gpio__nand_ALE, /* NAND_ALE pin, output only */ - /* SD_POW pin, output only, do not drive low while storage is active */ - cy_as_misc_gpio_SD_POW, - cy_as_misc_gpio_U_valid /* UVALID pin */ -} cy_as_misc_gpio; - -/* Summary - This enum lists the set of clock frequencies that are supported for - working with low speed SD media. - - Description - West Bridge firmware uses a clock frequency less than the maximum - possible rate for low speed SD media. This can be changed to a - setting equal to the maximum frequency as desired by the user. This - enumeration lists the different frequency settings that are - supported. - - See Also - * CyAsMiscSetLowSpeedSDFreq - */ -typedef enum cy_as_low_speed_sd_freq { - /* Approx. 21.82 MHz, default value */ - CY_AS_SD_DEFAULT_FREQ = 0, - /* 24 MHz */ - CY_AS_SD_RATED_FREQ -} cy_as_low_speed_sd_freq; - -/* Summary - This enum lists the set of clock frequencies that are supported - for working with high speed SD media. - - Description - West Bridge firmware uses a 48 MHz clock by default to interface - with high speed SD/MMC media. This can be changed to 24 MHz if - so desired by the user. This enum lists the different frequencies - that are supported. - - See Also - * CyAsMiscSetHighSpeedSDFreq - */ -typedef enum cy_as_high_speed_sd_freq { - CY_AS_HS_SD_FREQ_48, /* 48 MHz, default value */ - CY_AS_HS_SD_FREQ_24 /* 24 MHz */ -} cy_as_high_speed_sd_freq; - -/* Summary - Struct encapsulating all information returned by the - CyAsMiscGetFirmwareVersion call. - - Description - This struct encapsulates all return values from the asynchronous - CyAsMiscGetFirmwareVersion call, so that a single data argument - can be passed to the user provided callback function. - - See Also - * CyAsMiscGetFirmwareVersion - */ -typedef struct cy_as_get_firmware_version_data { - /* Return value for major version number for the firmware */ - uint16_t major; - /* Return value for minor version number for the firmware */ - uint16_t minor; - /* Return value for build version number for the firmware */ - uint16_t build; - /* Return value for media types supported in the current firmware */ - uint8_t media_type; - /* Return value to indicate the release or debug mode of firmware */ - cy_bool is_debug_mode; -} cy_as_get_firmware_version_data; - - -/***************************** - * West Bridge Functions - *****************************/ - -/* Summary - This function creates a new West Bridge device and returns a - handle to the device. - - Description - This function initializes the API object that represents the West - Bridge device and returns a handle to this device. This handle is - required for all West Bridge related functions to identify the - specific West Bridge device. - - * Valid In Asynchronous Callback: NO - - Returns - * CY_AS_ERROR_SUCCESS - * CY_AS_ERROR_OUT_OF_MEMORY -*/ -EXTERN cy_as_return_status_t -cy_as_misc_create_device( - /* Return value for handle to created device */ - cy_as_device_handle *handle_p, - /* The HAL specific tag for this device */ - cy_as_hal_device_tag tag - ); - -/* Summary - This functions destroys a previously created West Bridge device. - - Description - When an West Bridge device is created, an opaque handle is returned - that represents the device. This function destroys that handle and - frees all resources associated with the handle. - - * Valid In Asynchronous Callback: NO - - Returns - * CY_AS_ERROR_SUCCESS - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_STILL_RUNNING - The USB or STORAGE stacks are still - * running, they must be stopped before the device can be destroyed - * CY_AS_ERROR_DESTROY_SLEEP_CHANNEL_FAILED - the HAL layer failed to - * destroy a sleep channel -*/ -EXTERN cy_as_return_status_t -cy_as_misc_destroy_device( - /* Handle to the device to destroy */ - cy_as_device_handle handle - ); - -/* Summary - This function initializes the hardware for basic communication with - West Bridge. - - Description - This function initializes the hardware to establish basic - communication with the West Bridge device. This is always the first - function called to initialize communication with the West Bridge - device. - - * Valid In Asynchronous Callback: NO - - Returns - * CY_AS_ERROR_SUCCESS - the basic initialization was completed - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_IN_STANDBY - * CY_AS_ERROR_ALREADY_RUNNING - * CY_AS_ERROR_OUT_OF_MEMORY - * CY_AS_ERROR_NO_ANTIOCH - cannot find the West Bridge device - * CY_AS_ERROR_CREATE_SLEEP_CHANNEL_FAILED - - * the HAL layer falied to create a sleep channel - - See Also - * CyAsDeviceConfig -*/ -EXTERN cy_as_return_status_t -cy_as_misc_configure_device( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* Configuration information */ - cy_as_device_config *config_p - ); - -/* Summary - This function returns non-zero if West Bridge is in standby and - zero otherwise. - - Description - West Bridge supports a standby mode. This function is used to - query West Bridge to determine if West Bridge is in a standby - mode. - - * Valid In Asynchronous Callback: YES - - Returns - * CY_AS_ERROR_SUCCESS - * CY_AS_ERROR_INVALID_HANDLE -*/ -EXTERN cy_as_return_status_t -cy_as_misc_in_standby( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* Return value for standby state */ - cy_bool *standby - ); - -/* Summary - This function downloads the firmware to West Bridge device. - - Description - This function downloads firmware from a given location and with a - given size to the West Bridge device. After the firmware is - downloaded the West Bridge device is moved out of configuration - mode causing the firmware to be executed. It is an error to call - this function when the device is not in configuration mode. The - device is in configuration mode on power up and may be placed in - configuration mode after power up with a hard reset. - - Notes - The firmware must be on a word align boundary. - - * Valid In Asynchronous Callback: YES (if cb supplied) - * Nestable: YES - - Returns - * CY_AS_ERROR_SUCCESS - the firmware was successfully downloaded - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - the West Bridge device - * was not configured - * CY_AS_ERROR_NOT_IN_CONFIG_MODE - * CY_AS_ERROR_INVALID_SIZE - the size of the firmware - * exceeded 32768 bytes - * CY_AS_ERROR_ALIGNMENT_ERROR - * CY_AS_ERROR_IN_STANDBY - trying to download - * while in standby mode - * CY_AS_ERROR_TIMEOUT - - See Also - * CyAsMiscReset -*/ -EXTERN cy_as_return_status_t -cy_as_misc_download_firmware( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* Pointer to the firmware to be downloaded */ - const void *fw_p, - /* The size of the firmware in bytes */ - uint16_t size, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - - -/* Summary - This function returns the version number of the firmware running in - the West Bridge device. - - Description - This function queries the West Bridge device and retreives the - firmware version number. If the firmware is not loaded an error is - returned indicated no firmware has been loaded. - - * Valid In Asynchronous Callback: YES (if cb supplied) - * Nestable: YES - - Returns - * CY_AS_ERROR_SUCCESS - the firmware version number was retreived - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - * CY_AS_ERROR_NO_FIRMWARE - the firmware has not been downloaded - * to the device - * CY_AS_ERROR_IN_STANDBY - * CY_AS_ERROR_OUT_OF_MEMORY - * CY_AS_ERROR_TIMEOUT - there was a timeout waiting for a response - * from the West Bridge firmware -*/ -EXTERN cy_as_return_status_t -cy_as_misc_get_firmware_version( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* Return values indicating the firmware version. */ - cy_as_get_firmware_version_data *data, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -#if !defined(__doxygen__) - -/* Summary - This function reads and returns the contents of an MCU accessible - register on the West Bridge. - - Description - This function requests the firmware to read and return the contents - of an MCU accessible register through the mailboxes. - - * Valid In Asynchronous Callback: YES (if cb supplied) - * Nestable: YES - - Returns - * CY_AS_ERROR_SUCCESS - the register content was retrieved. - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - * CY_AS_ERROR_NO_FIRMWARE - * CY_AS_ERROR_OUT_OF_MEMORY - * CY_AS_ERROR_TIMEOUT - there was a timeout waiting for a response - * from the West Bridge firmware - * CY_AS_ERROR_INVALID_RESPONSE - the firmware build does not - * support this command. -*/ -EXTERN cy_as_return_status_t -cy_as_misc_read_m_c_u_register( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* Address of the register to read */ - uint16_t address, - /* Return value for the MCU register content */ - uint8_t *value, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - This function writes to an MCU accessible register on the West Bridge. - - Description - This function requests the firmware to write a specified value to an - MCU accessible register through the mailboxes. - - * Valid In Asynchronous Callback: YES (if cb supplied) - * Nestable: YES - - Notes - This function is only for internal use by the West Bridge API layer. - Calling this function directly can cause device malfunction. - - Returns - * CY_AS_ERROR_SUCCESS - the register content was updated. - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - * CY_AS_ERROR_NO_FIRMWARE - * CY_AS_ERROR_OUT_OF_MEMORY - * CY_AS_ERROR_TIMEOUT - there was a timeout waiting for a response - * from the West Bridge firmware - * CY_AS_ERROR_INVALID_RESPONSE - the firmware build does not support - * this command. -*/ -EXTERN cy_as_return_status_t -cy_as_misc_write_m_c_u_register( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* Address of the register to write */ - uint16_t address, - /* Mask to be applied on the register contents. */ - uint8_t mask, - /* Data to be ORed with the register contents. */ - uint8_t value, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -#endif - -/* Summary - This function will reset the West Bridge device and software API. - - Description - This function will reset the West Bridge device and software API. - The reset operation can be a hard reset or a soft reset. A hard - reset will reset all aspects of the West Bridge device. The device - will enter the configuration state and the firmware will have to be - reloaded. The device will also have to be re-initialized. A soft - reset just resets the West Bridge micro-controller. - - * Valid In Asynchronous Callback: NO - - Notes - When a hard reset is issued, the firmware that may have been - previously loaded will be lost and any configuration information set - via CyAsMiscConfigureDevice() will be lost. This will be reflected - in the API maintained state of the device. In order to re-establish - communications with the West Bridge device, CyAsMiscConfigureDevice() - and CyAsMiscDownloadFirmware() must be called again. - - * Valid In Asynchronous Callback: YES (if cb supplied) - * Nestable: YES - - Returns - * CY_AS_ERROR_SUCCESS - the device has been reset - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - * CY_AS_ERROR_NO_FIRMWARE - * CY_AS_ERROR_NOT_YET_SUPPORTED - current soft reset is not supported - * CY_AS_ERROR_ASYNC_PENDING - Reset is unable to flush pending async - * reads/writes in polling mode. - - - See Also - * CyAsMiscReset -*/ -EXTERN cy_as_return_status_t -cy_as_misc_reset( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* The type of reset to perform */ - cy_as_reset_type type, - /* If true, flush all pending writes to mass storage - before performing the reset. */ - cy_bool flush, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - This function acquires a given resource. - - Description - There are resources in the system that are shared between the - West Bridge device and the processor attached to the P port of - the West Bridge device. This API provides a mechanism for the - P port processor to acquire ownership of a resource. - - Notes - The ownership of the resources controlled by CyAsMiscAcquireResource() - and CyAsMiscReleaseResource() defaults to a known state at hardware - reset. After the firmware is loaded and begins execution the state of - these resources may change. At any point if the P Port processor needs - to acquire a resource it should do so explicitly to be sure of - ownership. - - Returns - * CY_AS_ERROR_SUCCESS - the p port successfully acquired the - * resource of interest - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - * CY_AS_ERROR_NO_FIRMWARE - * CY_AS_ERROR_INVALID_RESOURCE - * CY_AS_ERROR_RESOURCE_ALREADY_OWNED - the p port already - * owns this resource - * CY_AS_ERROR_NOT_ACQUIRED - the resource cannot be acquired - * CY_AS_ERROR_OUT_OF_MEMORY - * CY_AS_ERROR_TIMEOUT - there was a timeout waiting for a - * response from the West Bridge firmware - - See Also - * CyAsResourceType -*/ -EXTERN cy_as_return_status_t -cy_as_misc_acquire_resource( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* The resource to acquire */ - cy_as_resource_type *resource, - /* If true, force West Bridge to release the resource */ - cy_bool force, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - This function releases a given resource. - - Description - There are resources in the system that are shared between the - West Bridge device and the processor attached to the P port of - the West Bridge device. This API provides a mechanism for the - P port processor to release a resource that has previously been - acquired via the CyAsMiscAcquireResource() call. - - * Valid In Asynchronous Callback: NO - - Returns - * CY_AS_ERROR_SUCCESS - the p port successfully released - * the resource of interest - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - * CY_AS_ERROR_NO_FIRMWARE - * CY_AS_ERROR_INVALID_RESOURCE - * CY_AS_ERROR_RESOURCE_NOT_OWNED - the p port does not own the - * resource of interest - - See Also - * CyAsResourceType - * CyAsMiscAcquireResource -*/ -EXTERN cy_as_return_status_t -cy_as_misc_release_resource( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* The resource to release */ - cy_as_resource_type resource - ); - -#ifndef __doxygen__ -/* Summary - This function sets the trace level for the West Bridge firmware. - - Description - The West Bridge firmware has the ability to store information - about the state and execution path of the firmware on a mass storage - device attached to the West Bridge device. This function configures - the specific mass storage device to be used and the type of information - to be stored. This state information is used for debugging purposes - and must be interpreted by a Cypress provided tool. - - *Trace Level* - The trace level indicates the amount of information to output. - * 0 = no trace information is output - * 1 = state information is output - * 2 = function call information is output - * 3 = function call, arguments, and return value information is output - - * Valid In Asynchronous Callback: NO - - Notes - The media device and unit specified in this call will be overwritten - and any data currently stored on this device and unit will be lost. - - * NOT IMPLEMENTED YET - - Returns - * CY_AS_ERROR_SUCCESS - the trace configuration has been - * successfully changed - * CY_AS_ERROR_NO_SUCH_BUS - the bus specified does not exist - * CY_AS_ERROR_NO_SUCH_DEVICE - the specified media/device - * pair does not exist - * CY_AS_ERROR_NO_SUCH_UNIT - the unit specified does not exist - * CY_AS_ERROR_INVALID_TRACE_LEVEL - the trace level requested - * does not exist - * CY_AS_ERROR_TIMEOUT - there was a timeout waiting for a - * response from the West Bridge firmware -*/ -EXTERN cy_as_return_status_t -cy_as_misc_set_trace_level( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* The trace level */ - uint8_t level, - /* The bus for the output */ - cy_as_bus_number_t bus, - /* The device for the output */ - uint32_t device, - /* The unit for the output */ - uint32_t unit, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); -#endif - -/* Summary - This function places West Bridge into the low power standby mode. - - Description - This function places West Bridge into a low power (sleep) mode, and - cannot be called while the USB stack is active. This function first - instructs the West Bridge firmware that the device is about to be - placed into sleep mode. This allows West Bridge to complete any pending - storage operations. After the West Bridge device has responded that - pending operations are complete, the device is placed in standby mode. - - There are two methods of placing the device in standby mode. If the - WAKEUP pin of the West Bridge is connected to a GPIO on the processor, - the pin is de-asserted (via the HAL layer) and West Bridge enters into - a sleep mode. If the WAKEUP pin is not accessible, the processor can - write into the power management control/status register on the West - Bridge to put the device into sleep mode. - - * Valid In Asynchronous Callback: YES (if cb supplied) - * Nestable: YES - - Returns - * CY_AS_ERROR_SUCCESS - the function completed and West Bridge - * is in sleep mode - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_ALREADY_STANDBY - the West Bridge device is already - * in sleep mode - * CY_AS_ERROR_TIMEOUT - there was a timeout waiting for a response - * from the West Bridge firmware - * CY_AS_ERROR_NOT_SUPPORTED - the HAL layer does not support changing - * the WAKEUP pin - * CY_AS_ERROR_USB_RUNNING - The USB stack is still running when the - * EnterStandby call is made - * CY_AS_ERROR_ASYNC_PENDING - * CY_AS_ERROR_OUT_OF_MEMORY - * CY_AS_ERROR_INVALID_RESPONSE - * CY_AS_ERROR_SETTING_WAKEUP_PIN - * CY_AS_ERROR_ASYNC_PENDING - In polling mode EnterStandby can not - * be called until all pending storage read/write requests have - * finished. - - See Also - * CyAsMiscLeaveStandby -*/ -EXTERN cy_as_return_status_t -cy_as_misc_enter_standby_e_x_u( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* If true, use the wakeup pin, otherwise use the register */ - cy_bool pin, - /* Set true to enable specific usages of the - UVALID signal, please refer to AN xx or ERRATA xx */ - cy_bool uvalid_special, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - This function is provided for backwards compatibility. - - Description - Calling this function is the same as calling CyAsMiscEnterStandbyEx - with True for the lowpower parameter. - - See Also - * CyAsMiscEnterStandbyEx -*/ -EXTERN cy_as_return_status_t -cy_as_misc_enter_standby(cy_as_device_handle handle, - cy_bool pin, - cy_as_function_callback cb, - uint32_t client - ); - -/* Summary - This function brings West Bridge out of sleep mode. - - Description - This function asserts the WAKEUP pin (via the HAL layer). This - brings the West Bridge out of the sleep state and allows the - West Bridge firmware to process the event causing the wakeup. - When all processing associated with the wakeup is complete, a - callback function is called to tell the P port software that - the firmware processing associated with wakeup is complete. - - * Valid In Asynchronous Callback: NO - - Returns: - * CY_AS_ERROR_SUCCESS - the function completed and West Bridge - * is in sleep mode - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_SETTING_WAKEUP_PIN - * CY_AS_ERROR_NOT_IN_STANDBY - the West Bridge device is not in - * the sleep state - * CY_AS_ERROR_TIMEOUT - there was a timeout waiting for a - * response from the West Bridge firmware - * CY_AS_ERROR_NOT_SUPPORTED - the HAL layer does not support - * changing the WAKEUP pin - - See Also - * CyAsMiscEnterStandby -*/ -EXTERN cy_as_return_status_t -cy_as_misc_leave_standby( - /* Handle to the device to configure */ - cy_as_device_handle handle, - /* The resource causing the wakeup */ - cy_as_resource_type resource - ); - -/* Summary - This function registers a callback function to be called when an - asynchronous West Bridge MISC event occurs. - - Description - When asynchronous misc events occur, a callback function can be - called to alert the calling program. This functions allows the - calling program to register a callback. - - * Valid In Asynchronous Callback: NO - - Returns: - * CY_AS_ERROR_SUCCESS - * CY_AS_ERROR_INVALID_HANDLE -*/ -EXTERN cy_as_return_status_t -cy_as_misc_register_callback( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* The function to call */ - cy_as_misc_event_callback callback - ); - -/* Summary - This function sets the logging level for log messages. - - Description - The API can print messages via the CyAsHalPrintMessage capability. - This function sets the level of detail seen when printing messages - from the API. - - * Valid In Asynchronous Callback:NO -*/ -EXTERN void -cy_as_misc_set_log_level( - /* Level to set, 0 is fewer messages, 255 is all */ - uint8_t level - ); - - -/* Summary - This function tells West Bridge that SD or MMC media has been - inserted or removed. - - Description - In some hardware configurations, SD or MMC media detection is - handled outside of the West Bridge device. This function is called - when a change is detected to inform the West Bridge firmware to check - for storage media changes. - - * Valid In Asynchronous Callback: NO - - Returns: - * CY_AS_ERROR_SUCCESS - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - * CY_AS_ERROR_NO_FIRMWARE - * CY_AS_ERROR_IN_STANDBY - * CY_AS_ERROR_OUT_OF_MEMORY - * CY_AS_ERROR_INVALID_RESPONSE - - See Also - * CyAsMiscStorageChanged - -*/ -EXTERN cy_as_return_status_t -cy_as_misc_storage_changed( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - This function instructs the West Bridge firmware to start/stop - sending periodic heartbeat messages to the processor. - - Description - The West Bridge firmware can send heartbeat messages through the - mailbox register once every 500 ms. This message can be an overhead - as it causes regular Mailbox interrupts to happen, and is turned - off by default. The message can be used to test and verify that the - West Bridge firmware is alive. This API can be used to enable or - disable the heartbeat message. - - * Valid In Asynchronous Callback: NO - - Returns - * CY_AS_ERROR_SUCCESS - the function completed successfully - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - * CY_AS_ERROR_NO_FIRMWARE - * CY_AS_ERROR_OUT_OF_MEMORY - * CY_AS_ERROR_NOT_CONFIGURED - the West Bridge device has not - * been configured yet - * CY_AS_ERROR_NO_FIRMWARE - firmware has not been downloaded to - * the West Bridge device - -*/ -EXTERN cy_as_return_status_t -cy_as_misc_heart_beat_control( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* Message enable/disable selection */ - cy_bool enable, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - This function gets the current state of a GPIO pin on the - West Bridge device. - - Description - The West Bridge device has GPIO pins that can be used for user - defined functions. This function gets the current state of the - specified GPIO pin. Calling this function will configure the - corresponding pin as an input. - - * Valid In Asynchronous Callback: NO - - Notes - Only GPIO[0], GPIO[1] and UVALID pins can be used as GP inputs. - Of these pins, only the UVALID pin is supported by firmware images - that include NAND storage support. - - Returns - * CY_AS_ERROR_SUCCESS - the function completed successfully - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - the West Bridge device has not - * been configured yet - * CY_AS_ERROR_NO_FIRMWARE - firmware has not been downloaded - * to the West Bridge device - * CY_AS_ERROR_BAD_INDEX - an invalid GPIO was specified - * CY_AS_ERROR_NOT_SUPPORTED - this feature is not supported - * by the firmware - - See Also - * CyAsMiscGpio - * CyAsMiscSetGpioValue - */ -EXTERN cy_as_return_status_t -cy_as_misc_get_gpio_value( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* Id of the GPIO pin to query */ - cy_as_misc_gpio pin, - /* Current value of the GPIO pin */ - uint8_t *value, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - This function updates the state of a GPIO pin on the West - Bridge device. - - Description - The West Bridge device has GPIO pins that can be used for - user defined functions. This function updates the output - value driven on a specified GPIO pin. Calling this function - will configure the corresponding pin as an output. - - * Valid In Asynchronous Callback: NO - - Notes - All of the pins listed under CyAsMiscGpio can be used as GP - outputs. This feature is note supported by firmware images - that include NAND storage device support. - - Returns - * CY_AS_ERROR_SUCCESS - the function completed successfully - * CY_AS_ERROR_INVALID_HANDLE - * CY_AS_ERROR_NOT_CONFIGURED - the West Bridge device has not - * been configured yet - * CY_AS_ERROR_NO_FIRMWARE - firmware has not been downloaded - * to the West Bridge device - * CY_AS_ERROR_BAD_INDEX - an invalid GPIO was specified - * CY_AS_ERROR_NOT_SUPPORTED - this feature is not supported - * by firmware. - - See Also - * CyAsMiscGpio - * CyAsMiscGetGpioValue - */ -EXTERN cy_as_return_status_t -cy_as_misc_set_gpio_value( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* Id of the GPIO pin to set */ - cy_as_misc_gpio pin, - /* Value to be set on the GPIO pin */ - uint8_t value, - /* Callback to call when the operation is complete. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - Set the West Bridge device in the low power suspend mode. - - Description - The West Bridge device has a low power suspend mode where the USB - core and the internal microcontroller are powered down. This - function sets the West Bridge device into this low power mode. - This mode can only be entered when there is no active USB - connection; i.e., when USB has not been connected or is suspended; - and there are no pending USB or storage asynchronous calls. The - device will exit the suspend mode and resume handling USB and - processor requests when any activity is detected on the CE#, D+/D- - or GPIO[0] lines. - - * Valid In Asynchronous Callback: NO - - Notes - The GPIO[0] pin needs to be configured as an input for the gpio - wakeup to work. This flag should not be enabled if the pin is - being used as a GP output. - - Returns - * CY_AS_ERROR_SUCCESS - the device was placed in suspend mode. - * CY_AS_ERROR_INVALID_HANDLE - the West Bridge handle passed - * in is invalid. - * CY_AS_ERROR_NOT_CONFIGURED - the West Bridge device has not - * yet been configured. - * CY_AS_ERROR_NO_FIRMWARE - no firmware has been downloaded - * to the device. - * CY_AS_ERROR_IN_STANDBY - the device is already in sleep mode. - * CY_AS_ERROR_USB_CONNECTED - the USB connection is active. - * CY_AS_ERROR_ASYNC_PENDING - asynchronous storage/USB calls - * are pending. - * CY_AS_ERROR_OUT_OF_MEMORY - failed to allocate memory for - * the operation. - * CY_AS_ERROR_INVALID_RESPONSE - command not recognised by - * firmware. - - See Also - * CyAsMiscLeaveSuspend - */ -EXTERN cy_as_return_status_t -cy_as_misc_enter_suspend( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* Control the USB wakeup source */ - cy_bool usb_wakeup_en, - /* Control the GPIO[0] wakeup source */ - cy_bool gpio_wakeup_en, - /* Callback to call when suspend mode entry is complete */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - Wake up the West Bridge device from suspend mode. - - Description - This call wakes up the West Bridge device from suspend mode, - and makes it ready for accepting other commands from the API. - A CyAsEventMiscWakeup event will be delivered to the callback - registered with CyAsMiscRegisterCallback to indicate that the - wake up is complete. - - The CyAsEventMiscWakeup event will also be delivered if the - wakeup happens due to USB or GPIO activity. - - * Valid In Asynchronous Callback: NO - - Returns - * CY_AS_ERROR_SUCCESS - the device was woken up from - * suspend mode. - * CY_AS_ERROR_INVALID_HANDLE - invalid device handle - * passed in. - * CY_AS_ERROR_NOT_CONFIGURED - West Bridge device has - * not been configured. - * CY_AS_ERROR_NO_FIRMWARE - firmware has not been - * downloaded to the device. - * CY_AS_ERROR_NOT_IN_SUSPEND - the device is not in - * suspend mode. - * CY_AS_ERROR_OUT_OF_MEMORY - failed to allocate memory - * for the operation. - * CY_AS_ERROR_TIMEOUT - failed to wake up the device. - - See Also - * CyAsMiscEnterSuspend - */ -EXTERN cy_as_return_status_t -cy_as_misc_leave_suspend( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* Callback to call when device has resumed operation. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - Reserve first numzones zones of nand device for storing - processor boot image. LNA firmware works on the first - numzones zones of nand to enable the processor to boot. - - Description - This function reserves first numzones zones of nand device - for storing processor boot image. This fonction MUST be - completed before starting the storage stack for the setting - to be taken into account. - - * Valid In Asynchronous Callback: YES - - Returns - * CY_AS_ERROR_SUCCESS- zones are reserved. - -*/ -EXTERN cy_as_return_status_t -cy_as_misc_reserve_l_n_a_boot_area( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* number of nand zones to reserve */ - uint8_t numzones, - /* Callback to call when device has resumed operation. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* Summary - Select the clock frequency to be used when talking to low - speed (non-high speed) SD media. - - Description - West Bridge firmware uses a clock frequency less than the - maximum possible rate for low speed SD media. This function - selects the frequency setting from between the default speed - and the maximum speed. This fonction MUST be completed before - starting the storage stack for the setting to be taken into - account. - - * Valid in Asynchronous Callback: Yes (if cb is non-zero) - * Nestable: Yes - - Returns - * CY_AS_ERROR_SUCCESS - the operation completed successfully. - * CY_AS_ERROR_INVALID_HANDLE - invalid device handle passed in. - * CY_AS_ERROR_NOT_CONFIGURED - West Bridge device has not been - * configured. - * CY_AS_ERROR_NO_FIRMWARE - firmware has not been downloaded - * to the device. - * CY_AS_ERROR_OUT_OF_MEMORY - failed to allocate memory for - * the operation. - * CY_AS_ERROR_IN_SUSPEND - West Bridge is in low power suspend - * mode. - * CY_AS_ERROR_INVALID_PARAMETER - invalid frequency setting - * desired. - * CY_AS_ERROR_TIMEOUT - West Bridge device did not respond to - * the operation. - * CY_AS_ERROR_INVALID_RESPONSE - active firmware does not support - * the operation. - - See Also - * CyAsLowSpeedSDFreq - */ -EXTERN cy_as_return_status_t -cy_as_misc_set_low_speed_sd_freq( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* Frequency setting desired for low speed SD cards */ - cy_as_low_speed_sd_freq setting, - /* Callback to call on completion */ - cy_as_function_callback cb, - /* Client data to be passed to the callback */ - uint32_t client - ); - -/* Summary - Select the clock frequency to be used when talking to high speed - SD/MMC media. - - Description - West Bridge firmware uses a 48 MHz clock to interface with high - speed SD/MMC media. This clock rate can be restricted to 24 MHz - if desired. This function selects the frequency setting to be - used. This fonction MUST be completed before starting the storage - stack for the setting to be taken into account. - - * Valid in Asynchronous Callback: Yes (if cb is non-zero) - * Nestable: Yes - - Returns - * CY_AS_ERROR_SUCCESS - the operation completed successfully. - * CY_AS_ERROR_INVALID_HANDLE - invalid device handle passed in. - * CY_AS_ERROR_NOT_CONFIGURED - West Bridge device has not been - * configured. - * CY_AS_ERROR_NO_FIRMWARE - firmware has not been downloaded to - * the device. - * CY_AS_ERROR_OUT_OF_MEMORY - failed to allocate memory for the - * operation. - * CY_AS_ERROR_IN_SUSPEND - West Bridge is in low power suspend mode. - * CY_AS_ERROR_INVALID_PARAMETER - invalid frequency setting desired. - * CY_AS_ERROR_TIMEOUT - West Bridge device did not respond to the - * operation. - * CY_AS_ERROR_INVALID_RESPONSE - active firmware does not support - * the operation. - - See Also - * CyAsLowSpeedSDFreq - */ -EXTERN cy_as_return_status_t -cy_as_misc_set_high_speed_sd_freq( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* Frequency setting desired for high speed SD cards */ - cy_as_high_speed_sd_freq setting, - /* Callback to call on completion */ - cy_as_function_callback cb, - /* Client data to be passed to the callback */ - uint32_t client - ); -/* Summary - Select the polarity of the SD_POW output driven by West Bridge. - - Description - The SD_POW signal driven by West Bridge can be used to control - the supply of Vcc to the SD/MMC media connected to the device. - This signal is driven as an active high signal by default. This - function can be used to change the polarity of this signal if - required. This fonction MUST be completed before starting the - storage stack for the setting to be taken into account. - - * Valid in Asynchronous Callback: Yes (if cb is non-zero) - * Nestable: Yes - - Returns - * CY_AS_ERROR_SUCCESS - the operation completed successfully. - * CY_AS_ERROR_INVALID_HANDLE - invalid device handle passed in. - * CY_AS_ERROR_NOT_CONFIGURED - West Bridge device has not been - * configured. - * CY_AS_ERROR_NO_FIRMWARE - firmware has not been downloaded - * to the device. - * CY_AS_ERROR_OUT_OF_MEMORY - failed to allocate memory for - * the operation. - * CY_AS_ERROR_IN_SUSPEND - West Bridge is in low power - * suspend mode. - * CY_AS_ERROR_INVALID_PARAMETER - invalid frequency setting - * desired. - * CY_AS_ERROR_TIMEOUT - West Bridge device did not respond to - * the operation. - * CY_AS_ERROR_INVALID_RESPONSE - active firmware does not - * support the operation. - - See Also - * CyAsMiscSignalPolarity - */ -EXTERN cy_as_return_status_t -cy_as_misc_set_sd_power_polarity( - /* Handle to the West Bridge device */ - cy_as_device_handle handle, - /* Desired polarity setting to the SD_POW signal. */ - cy_as_misc_signal_polarity polarity, - /* Callback to call on completion. */ - cy_as_function_callback cb, - /* Client data to be passed to the callback. */ - uint32_t client - ); - -/* For supporting deprecated functions */ -#include "cyasmisc_dep.h" - -#include "cyas_cplus_end.h" - -#endif /* _INCLUDED_CYASMISC_H_ */ |