omap3530/beagle_drivers/soundsc/shared_sound.h
author arunabha
Wed, 03 Mar 2010 13:10:32 +0000
changeset 23 117faf51deac
parent 20 3999188eafd0
permissions -rw-r--r--
Bug 1996 - Contribution for West Bridge Astoria Symbian Storage Driver this storage driver is for the West Bridge Astoria chipset. This device has a USB, SD and processor port for communication with a baseband processor. In our port, we connected this device DVK to the Beagleboard through the SPI interface of the OMAP3. After driver installation, the Symbian OS can see an external device or D: drive represented by the SD card. In this driver, the USB interface is not used directly, though this may be the subject of future contributions. The appropriate way to test the driver is to access the external volume and do file read and write to it, pretty much the same way you would test a thumb drive on your PC
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
     1
/*
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
     3
* All rights reserved.
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
     4
* This component and the accompanying materials are made available
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
     6
* which accompanies this distribution, and is available
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
     8
*
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
     9
* Initial Contributors:
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    11
*
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    12
* Contributors:
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    13
*
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    14
* Description:
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    15
*
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    16
*/
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    17
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    18
#ifndef __BEAGLESHARED_SOUND_H__
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    19
#define __BEAGLESHARED_SOUND_H__
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    20
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    21
#include <soundsc.h>
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    22
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    23
#ifdef _DEBUG
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    24
#define BEAGLE_SOUND_DEBUG(x...) Kern::Printf(x)
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    25
#else
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    26
#define BEAGLE_SOUND_DEBUG(x...)
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    27
#endif
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    28
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    29
class DDriverBeagleSoundScPddFactory;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    30
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    31
class DDriverBeagleSoundScPdd : public DSoundScPdd
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    32
	{
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    33
public:
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    34
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    35
	DDriverBeagleSoundScPdd();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    36
	~DDriverBeagleSoundScPdd();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    37
	TInt DoCreate();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    38
	void GetChunkCreateInfo(TChunkCreateInfo& aChunkCreateInfo);
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    39
	void Caps(TDes8& aCapsBuf) const;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    40
	TInt MaxTransferLen() const;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    41
	TInt SetConfig(const TDesC8& aConfigBuf);
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    42
	TInt SetVolume(TInt aVolume);
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    43
	TInt StartTransfer();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    44
	TInt TransferData(TUint aTransferID, TLinAddr aLinAddr, TPhysAddr aPhysAddr, TInt aNumBytes);
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    45
	void StopTransfer();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    46
	TInt PauseTransfer();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    47
	TInt ResumeTransfer();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    48
	TInt PowerUp();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    49
	void PowerDown();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    50
	TInt CustomConfig(TInt aFunction, TAny* aParam);
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    51
	void Callback(TUint aTransferID, TInt aTransferResult, TInt aBytesTransferred);
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    52
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    53
	void SetCaps();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    54
        // There was a change in the signature for DfcQ() which
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    55
        // is a pure virtual method in the parent.
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    56
        //  for Symbian^2
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    57
        TDfcQue* DfcQ();
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    58
        //  for Symbian^3
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    59
	TDfcQue* DfcQ(TInt aUnit);
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    60
	
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    61
	TInt CalculateBufferTime(TInt aNumBytes);
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    62
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    63
public:
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    64
	
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    65
	DDriverBeagleSoundScPddFactory*	iPhysicalDevice;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    66
	
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    67
	class TTransferArrayInfo{
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    68
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    69
public:
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    70
	TUint 						iTransferID;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    71
	TLinAddr 					iLinAddr;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    72
	TInt 						iNumBytes;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    73
	TInt						iPlayTime;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    74
	};
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    75
	
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    76
	RArray<TTransferArrayInfo> iTransferArray;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    77
	
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    78
	NTimer						iTimer;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    79
	
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    80
	TInt						iUnitType; //Play or Record
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    81
	
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    82
private:
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    83
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    84
	TSoundFormatsSupportedV02	iCaps;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    85
	
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    86
	TCurrentSoundFormatV02		iConfig;
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    87
	
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    88
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    89
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    90
	};
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    91
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    92
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    93
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    94
3999188eafd0 Adding a dummy Sound driver for BeagleBoard
arunabha
parents:
diff changeset
    95
#endif