baseport/syborg/mednvmemory/syborg_mednvmemory.h
author jahyvone@4FIL49437
Thu, 27 May 2010 00:38:17 +0300
branchnvmemory
changeset 74 eb3d0111f868
permissions -rw-r--r--
start nvmemory
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
74
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
     1
/*
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
     3
* All rights reserved.
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
     4
* This component and the accompanying materials are made available
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
     6
* which accompanies this distribution, and is available
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
     8
*
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
     9
* Initial Contributors:
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    11
*
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    12
* Contributors:
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    13
*
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    14
* Description: Minimalistic non volatile memory driver
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    15
*
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    16
*/
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    17
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    18
#ifndef _SYBORG_MEDNVMEMORY_H
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    19
#define _SYBORG_MEDNVMEMORY_H
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    20
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    21
#include <kpower.h>
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    22
#include <e32keys.h>
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    23
#include <system.h>
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    24
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    25
//#define DEBUG_MEDNVMEMORY
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    26
#ifdef DEBUG_MEDNVMEMORY
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    27
#define __DEBUG_PRINT(format...)    Kern::Printf(format)
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    28
#else
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    29
#define __DEBUG_PRINT(format...)    __KTRACE_OPT(KLOCDRV,Kern::Printf(format))
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    30
#endif
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    31
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    32
#define R_NVMEM_ID                                0x0000
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    33
#define R_NVMEM_TRANSACTION_OFFSET                0x0004
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    34
#define R_NVMEM_TRANSACTION_SIZE                  0x0008
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    35
#define R_NVMEM_TRANSACTION_DIRECTION             0x000c
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    36
#define R_NVMEM_TRANSACTION_EXECUTE               0x0010
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    37
#define R_NVMEM_SHARED_MEMORY_BASE                0x0014
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    38
#define R_NVMEM_NV_MEMORY_SIZE                    0x0018
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    39
#define R_NVMEM_SHARED_MEMORY_SIZE                0x001c
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    40
#define R_NVMEM_STATUS                            0x0020
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    41
#define R_NVMEM_ENABLE                            0x0024
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    42
#define R_NVMEM_LASTREG                           0x0028  // not a register, address of last register
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    43
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    44
#define NVMEM_TRANSACTION_UNDEFINED 0
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    45
#define NVMEM_TRANSACTION_READ 1
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    46
#define NVMEM_TRANSACTION_WRITE 2
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    47
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    48
// 512 Byte sectors
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    49
const TInt KDiskSectorShift	= 9;
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    50
const TInt KDiskSectorSize	= 0x200;
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    51
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    52
// Dfc thread priority 
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    53
const TInt KNVMemDfcThreadPriority = 24;
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    54
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    55
// Transfer buffer size 256kBytes 
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    56
const TInt KNVMemTransferBufferSize = 0x40000;
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    57
// Transfer buffer size in sectors
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    58
const TInt KNVMemTransferBufferSectorCount = KNVMemTransferBufferSize/KDiskSectorSize;
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    59
eb3d0111f868 start nvmemory
jahyvone@4FIL49437
parents:
diff changeset
    60
#endif