aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/westbridge/astoria/include/linux/westbridge/cyasmisc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/westbridge/astoria/include/linux/westbridge/cyasmisc.h')
-rw-r--r--drivers/staging/westbridge/astoria/include/linux/westbridge/cyasmisc.h1549
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 df7c2b66cf27..000000000000
--- 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_ */