wlan_plat/wlan_busaccess_api/inc/wlansdioa.h
branchRCL_3
changeset 43 d3d7683d16f5
parent 42 a828660c511c
child 50 5cdddd04119b
--- a/wlan_plat/wlan_busaccess_api/inc/wlansdioa.h	Tue Aug 31 17:02:06 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#ifndef WLANSDIOA_H
-#define WLANSDIOA_H
-
-class MWlanSdioaClient;
-class MWlanOsaExt;
-
-#include <wlansdioatypes.h>
-
-class WlanSdioa
-    {
-
-public:
-
-    typedef TInt TRequestId;
-
-    enum { KMaxFunctions = 8 };
-
-    enum TSdioBusWidth
-        {
-        ESdioBusWidth1 = 1,
-        ESdioBusWidth4 = 4
-        };
-
-    struct TCapabilities
-        {
-        /* Capability mask (values defined in wlansdioatypes.h) */
-        TUint32 iCapability;
-        
-        /* Maximum number of buffers the SDIOA client is allowed to provide in buffer lists
-           of the TReadRequest and TWriteRequest structures.
-           The value of 1 means that only a single contiguous buffer can be used. */
-        TUint32 iMaxNumberOfBuffers;
-        
-        /* Length of the memory cache line (in bytes) */
-        TUint32 iCacheLineLength;
-        };
-
-    struct TBufferItem 
-        {
-        /* Buffer length */
-        TUint32 iLength;
-        
-        /* Data buffer */
-        TUint8 *iBuffer;
-        
-        /* Pointer to the next list item (NULL if this is the last item) */
-        struct TBufferItem *iNext;
-        };
-
-    struct TReadRequest
-        {
-        /* Command number */
-        TUint8 iCmdIndex;
-        
-        /* Function number */
-        TUint8 iFunctionNum;
-        
-        /* Register address */
-        TUint32 iRegAddr;
-        
-        /* Flags (defined in wlansdioatypes.h) */
-        TUint32 iFlags;
-        
-        /* Receive buffer (only valid for CMD52) */
-        TUint8 iRxBuffer;
-        
-        /* Receive buffer list (only valid for CMD53) */
-        TBufferItem *iRxBufferList;
-        
-        /* Transfer size (bytes) */
-        TUint32 iRxCount;
-        
-        /* Completion callback */
-        MWlanSdioaClient* iRequestClient;
-        
-        /* Request identifier (passed back to client with callback) */
-        TRequestId iRequestId;
-        };
-
-    struct TWriteRequest
-        {
-        /* Command number */
-        TUint8 iCmdIndex;
-        
-        /* Function number */
-        TUint8 iFunctionNum;
-        
-        /* register address */
-        TUint32 iRegAddr;
-        
-        /* Flags (defined in wlansdioatypes.h) */
-        TUint32 iFlags;
-        
-        /* Command argument or CMD52 byte data */
-        TUint8 iTxBuffer;
-        
-        /* Transmit buffer list (only valid for CMD53) */
-        TBufferItem *iTxBufferList;
-        
-        /* Transfer size (bytes) */
-        TUint32 iTxCount;
-        
-        /* Completion callback */
-        MWlanSdioaClient* iRequestClient;
-        
-        /* Request identifier (passed back to client with callback) */
-        TRequestId iRequestId;
-        };
-
-    /**
-     * Destructor
-     *
-     */
-    virtual ~WlanSdioa() {};
-
-    /**
-     * Create SDIOA object
-     *
-     */
-    static WlanSdioa* Create();
-
-    /**
-     * Attach the OSA extension object
-     *
-     * @param aOsaExt OSA extension object
-     */
-    void Attach( MWlanOsaExt& aOsaExt );
-
-    /**
-     * Destroy the SDIOA object
-     *
-     * @param aWlanSdioa sdioa layer object
-     */
-    static void Destroy( WlanSdioa* aWlanSdioa );
-
-    /**
-     * Extract module capabilities
-     *
-     * @param aCapabilities capabilities of the module
-     */    
-    virtual void Capability( TCapabilities& aCapabilities ) = 0;        
-
-    /**
-     * Issue an SDIOA request (separate methods for read and write)
-     *
-     * @param aRequest Request structure
-     * @return Status of the operation
-     *         ESuccess     -   The request was accepted for asynchronous
-     *                          execution and will complete later.
-     *                          Completion is notified by the SDIOA request
-     *                          completion callback.
-     *                          The SDIOA client is allowed to issue additional
-     *                          requests.
-     *
-     *         EFailure     -   The request was not accepted for execution.
-     *                          The request completion callback will not be called.
-     *
-     *         ESuccessXfer -   The request was accepted and completed
-     *                          synchronously.
-     *                          The SDIOA request completion callback will not be called.
-     *                          The SDIOA client is allowed to issue additional requests.
-     *
-     *         EPending     -   The request was accepted for asynchronous
-     *                          excecution and will complete later.
-     *                          Completion is notified by the SDIOA request
-     *                          completion callback.
-     *                          The SDIOA client is not allowed to issue additional
-     *                          requests until the completion callback has been called.
-     */
-    virtual SDIOA::TStatus ReadRequest( TReadRequest& aRequest ) = 0;
-    virtual SDIOA::TStatus WriteRequest( TWriteRequest& aRequest ) = 0;
-
-    /**
-     * Cancel a pending SDIOA request
-     *
-     * @param aRequestId Request ID
-     * @return Status of the operation
-     *         ESuccess     -   The SDIOA request was cancelled.
-     *                          The completion callback will not be called.
-     *
-     *         EFailure     -   The request could not be cancelled.
-     */
-    virtual SDIOA::TStatus Cancel( TRequestId aRequestId ) = 0;
-
-    /**
-     * Enable SDIO interrupts (multiplexed on DAT1 line)
-     *
-     * @param aEnable ETrue (enable) or EFalse (disable)
-     * @param aCallbackClient Pointer to the object containing the OnSDIOInterrupt callback method
-     *                        (can be omitted when aEnable == EFalse)
-     * @return Status of the operation
-     *         ESuccess     -   SDIO interrupts were enabled.
-     *                          The MWlanSdioaClient::OnSDIOInterrupt()
-     *                          callback will be called after an
-     *                          interrupt has occurred.
-     *
-     *         EFailure     -   SDIO interrupts could not be enabled.
-     */
-	virtual SDIOA::TStatus EnableSDIOInterrupt( TBool aEnable, MWlanSdioaClient* aCallbackClient = NULL ) = 0;
-
-    /**
-     * Initialize the SDIO device
-     * 
-     * This method will perform device initialization so that the device
-     * will be ready for receiving CMD52 and CMD53 requests.
-     * The method must be called after the WLAN device has been powered on.
-     */
-	virtual SDIOA::TStatus Initialize() = 0;
-
-    /**
-     * Set the SDIO bus width
-     * 
-     * @param aBusWidth SDIO bus width
-     *
-     * This method sets the SDIO bus width to 1 or 4 bits.
-     */
-    virtual void SetBusWidth( TSdioBusWidth aBusWidth ) = 0;
-
-    /**
-     * Set the SDIO bus clock speed
-     * 
-     * @param aMHz SDIO bus clock speed in MHz
-     *
-     * This method sets the SDIO bus clock speed to the value
-     * specified by the aMHz parameter or the nearest lower
-     * value supported by the hardware.
-     */
-    virtual void SetClockSpeed( TUint32 aMHz ) = 0;
-
-protected:
-
-    /**
-     * Constructor
-     *
-     * @param aOsaExt OSA extension object
-     */
-    explicit WlanSdioa() {};
-
-    /**
-     * Extract OSA extension
-     *
-     * @return OSA extension
-     */
-    inline MWlanOsaExt& OsaExtCb();
-
-private:
-
-    /**
-     * OSA extension
-     */
-    MWlanOsaExt*    iOsaExt;
-
-    };
-
-#include <wlansdioa.inl>
-
-#endif // WLANSDIOA_H