sl@0: // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // e32\include\drivers\pccd_chunk.h sl@0: // sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @publishedPartner sl@0: @released sl@0: */ sl@0: sl@0: #ifndef __PCCD_CHUNK_H__ sl@0: #define __PCCD_CHUNK_H__ sl@0: #include sl@0: sl@0: const TUint KPccdChunkByteAccessOnly=0x00000001; sl@0: sl@0: NONSHARABLE_CLASS(DPlatPccdChunk) : public DPccdChunkBase sl@0: { sl@0: public: sl@0: DPlatPccdChunk(); sl@0: virtual ~DPlatPccdChunk(); sl@0: virtual void Close(); sl@0: virtual TInt DoCreate(TPccdChnk aChunk,TUint aFlag); sl@0: virtual TInt SetupChunkHw(TPccdAccessSpeed aSpeed,TPccdMemType aMemType,TBool aWaitSig,TUint aFlag); sl@0: virtual TLinAddr LinearAddress(); sl@0: virtual TInt Read(TInt aPos, TAny *aPtr, TInt aLength); sl@0: virtual TInt Write(TInt aPos, const TAny *aPtr, TInt aLength); sl@0: virtual TInt ReadByteMultiple(TInt aPos, TAny *aPtr, TInt aCount); sl@0: virtual TInt WriteByteMultiple(TInt aPos, const TAny *aPtr, TInt aCount); sl@0: virtual TInt ReadHWordMultiple(TInt aPos, TAny *aPtr, TInt aCount); sl@0: virtual TInt WriteHWordMultiple(TInt aPos, const TAny *aPtr, TInt aCount); sl@0: virtual TUint Read8(TInt aPos); sl@0: virtual void Write8(TInt aPos, TUint aValue); sl@0: virtual TBool IsTypeCompatible(TPccdMemType aMemType); sl@0: public: sl@0: void ConfigAccessSpeed(TPccdAccessSpeed aSpeed,TBool aWordAccess,TUint aFlag); sl@0: public: sl@0: DPlatChunkHw *iChunk; sl@0: TUint iFlag; sl@0: }; sl@0: sl@0: #endif sl@0: sl@0: