]> git.proxmox.com Git - mirror_edk2.git/blame - Omap35xxPkg/Include/Omap3530/Omap3530Gpmc.h
Program SD Cards into 4-bit mode (support for this is required in the spec). This...
[mirror_edk2.git] / Omap35xxPkg / Include / Omap3530 / Omap3530Gpmc.h
CommitLineData
a3f98646 1/** @file
2
3d70643b 3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
a3f98646 4
3d70643b 5 This program and the accompanying materials
a3f98646 6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#ifndef __OMAP3530GPMC_H__
16#define __OMAP3530GPMC_H__
17
18#define GPMC_BASE (0x6E000000)
19
20//GPMC NAND definitions.
21#define GPMC_SYSCONFIG (GPMC_BASE + 0x10)
22#define SMARTIDLEMODE (0x2UL << 3)
23
24#define GPMC_SYSSTATUS (GPMC_BASE + 0x14)
25#define GPMC_IRQSTATUS (GPMC_BASE + 0x18)
26#define GPMC_IRQENABLE (GPMC_BASE + 0x1C)
27
28#define GPMC_TIMEOUT_CONTROL (GPMC_BASE + 0x40)
43263288 29#define TIMEOUTENABLE BIT0
a3f98646 30#define TIMEOUTDISABLE (0x0UL << 0)
31
32#define GPMC_ERR_ADDRESS (GPMC_BASE + 0x44)
33#define GPMC_ERR_TYPE (GPMC_BASE + 0x48)
34
35#define GPMC_CONFIG (GPMC_BASE + 0x50)
43263288 36#define WRITEPROTECT_HIGH BIT4
a3f98646 37#define WRITEPROTECT_LOW (0x0UL << 4)
38
39#define GPMC_STATUS (GPMC_BASE + 0x54)
40
41#define GPMC_CONFIG1_0 (GPMC_BASE + 0x60)
42#define DEVICETYPE_NOR (0x0UL << 10)
43#define DEVICETYPE_NAND (0x2UL << 10)
44#define DEVICESIZE_X8 (0x0UL << 12)
43263288 45#define DEVICESIZE_X16 BIT12
a3f98646 46
47#define GPMC_CONFIG2_0 (GPMC_BASE + 0x64)
48#define CSONTIME (0x0UL << 0)
49#define CSRDOFFTIME (0x14UL << 8)
50#define CSWROFFTIME (0x14UL << 16)
51
52#define GPMC_CONFIG3_0 (GPMC_BASE + 0x68)
53#define ADVRDOFFTIME (0x14UL << 8)
54#define ADVWROFFTIME (0x14UL << 16)
55
56#define GPMC_CONFIG4_0 (GPMC_BASE + 0x6C)
43263288 57#define OEONTIME BIT0
a3f98646 58#define OEOFFTIME (0xFUL << 8)
43263288 59#define WEONTIME BIT16
a3f98646 60#define WEOFFTIME (0xFUL << 24)
61
62#define GPMC_CONFIG5_0 (GPMC_BASE + 0x70)
63#define RDCYCLETIME (0x14UL << 0)
64#define WRCYCLETIME (0x14UL << 8)
65#define RDACCESSTIME (0xCUL << 16)
43263288 66#define PAGEBURSTACCESSTIME BIT24
a3f98646 67
68#define GPMC_CONFIG6_0 (GPMC_BASE + 0x74)
43263288 69#define CYCLE2CYCLESAMECSEN BIT7
a3f98646 70#define CYCLE2CYCLEDELAY (0xAUL << 8)
71#define WRDATAONADMUXBUS (0xFUL << 16)
43263288 72#define WRACCESSTIME BIT24
a3f98646 73
74#define GPMC_CONFIG7_0 (GPMC_BASE + 0x78)
75#define BASEADDRESS (0x30UL << 0)
43263288 76#define CSVALID BIT6
a3f98646 77#define MASKADDRESS_128MB (0x8UL << 8)
78
79#define GPMC_NAND_COMMAND_0 (GPMC_BASE + 0x7C)
80#define GPMC_NAND_ADDRESS_0 (GPMC_BASE + 0x80)
81#define GPMC_NAND_DATA_0 (GPMC_BASE + 0x84)
82
83#define GPMC_ECC_CONFIG (GPMC_BASE + 0x1F4)
43263288 84#define ECCENABLE BIT0
a3f98646 85#define ECCDISABLE (0x0UL << 0)
86#define ECCCS_0 (0x0UL << 1)
43263288 87#define ECC16B BIT7
a3f98646 88
89#define GPMC_ECC_CONTROL (GPMC_BASE + 0x1F8)
43263288 90#define ECCPOINTER_REG1 BIT0
91#define ECCCLEAR BIT8
a3f98646 92
93#define GPMC_ECC_SIZE_CONFIG (GPMC_BASE + 0x1FC)
94#define ECCSIZE0_512BYTES (0xFFUL << 12)
95#define ECCSIZE1_512BYTES (0xFFUL << 22)
96
97#define GPMC_ECC1_RESULT (GPMC_BASE + 0x200)
98#define GPMC_ECC2_RESULT (GPMC_BASE + 0x204)
99#define GPMC_ECC3_RESULT (GPMC_BASE + 0x208)
100#define GPMC_ECC4_RESULT (GPMC_BASE + 0x20C)
101#define GPMC_ECC5_RESULT (GPMC_BASE + 0x210)
102#define GPMC_ECC6_RESULT (GPMC_BASE + 0x214)
103#define GPMC_ECC7_RESULT (GPMC_BASE + 0x218)
104#define GPMC_ECC8_RESULT (GPMC_BASE + 0x21C)
105#define GPMC_ECC9_RESULT (GPMC_BASE + 0x220)
106
107#endif //__OMAP3530GPMC_H__