]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M4F_M0_LPC43xx_Keil/system/emc_LPC43xx.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_M4F_M0_LPC43xx_Keil / system / emc_LPC43xx.h
1 //BF: take over the whole file\r
2 \r
3 /***********************************************************************\r
4  * $Id: emc_LPC43xx.h 8389 2011-10-19 13:53:14Z nxp28536 $   emc_LPC18xx_43xx.h\r
5  *\r
6  * Project: NXP LPC18xx/LPC43xx Common\r
7  *\r
8  * Description:  Header file for emc_LPC18xx_43xx.c\r
9  *\r
10  * Copyright(C) 2011, NXP Semiconductor\r
11  * All rights reserved.\r
12  *\r
13  ***********************************************************************\r
14  * Software that is described herein is for illustrative purposes only\r
15  * which provides customers with programming information regarding the\r
16  * products. This software is supplied "AS IS" without any warranties.\r
17  * NXP Semiconductors assumes no responsibility or liability for the\r
18  * use of the software, conveys no license or title under any patent,\r
19  * copyright, or mask work right to the product. NXP Semiconductors\r
20  * reserves the right to make changes in the software without\r
21  * notification. NXP Semiconductors also make no representation or\r
22  * warranty that such application will be suitable for the specified\r
23  * use without further testing or modification.\r
24  **********************************************************************/\r
25 \r
26 #ifndef EMC_LPC43XX_H_\r
27 #define EMC_LPC43XX_H_\r
28 \r
29 \r
30 enum {\r
31         PART_WIDTH_8 = 0,\r
32         PART_WIDTH_16 = 1,\r
33         PART_WIDTH_32 = 2\r
34 };\r
35 \r
36 enum {\r
37         PART_SIZE_16 = 0,\r
38         PART_SIZE_64 = 1,\r
39         PART_SIZE_128 = 2,\r
40         PART_SIZE_256 = 3,\r
41         PART_SIZE_512 = 4\r
42 };\r
43 \r
44 enum {\r
45         EXT_WIDTH_16 = 0,\r
46         EXT_WIDTH_32 = 1\r
47 };\r
48 \r
49 \r
50 #if (PLATFORM == HITEX_A2_BOARD) //defined USE_HITEX_A2\r
51 \r
52         #define SDRAM_SIZE               0x00800000     // 8 MByte SDRAM IS42S16400D-7TL\r
53         #define SDRAM_BASE               0x28000000             // base address for DYCS0\r
54 \r
55         // We have 16 data lines connected to the SDRAM\r
56         #define PART_WIDTH (PART_WIDTH_16)              // part width (possibly smaller than EXT_WIDTH, e.g. two 8-bit chips cascaded as 16-bit memory.\r
57         #define PART_SIZE (PART_SIZE_64)\r
58         #define EXT_WIDTH (EXT_WIDTH_16)                // external memory bus width\r
59         #define COL_ADDR_BITS (8)                               // for calculating how to write mode bits\r
60 \r
61 #endif\r
62 \r
63 #if (PLATFORM == NXP_VALIDATION_BOARD)\r
64 \r
65         #define SDRAM_SIZE               0x01000000     // 16 MByte SDRAM MT48LC4M32\r
66         #define SDRAM_BASE               0x28000000             // base address for DYCS0\r
67 \r
68         // We have 32 data lines connected to the SDRAM\r
69         #define PART_WIDTH (PART_WIDTH_32)              // part width (possibly smaller than EXT_WIDTH, e.g. two 8-bit chips cascaded as 16-bit memory.\r
70         #define PART_SIZE (PART_SIZE_128)\r
71         #define EXT_WIDTH (EXT_WIDTH_32)                // external memory bus width\r
72         #define COL_ADDR_BITS (8)                               // for calculating how to write mode bits\r
73 \r
74 #endif\r
75 \r
76 \r
77 \r
78 // Function prototypes\r
79 void EMC_Init( void );\r
80 void EMC_Config_Pinmux( void );\r
81 void EMC_Config_Static( void );\r
82 void initEmiDelays( void );\r
83 void EMC_Init_SRDRAM( uint32_t u32BaseAddr, uint32_t u32Width, uint32_t u32Size, uint32_t u32DataBus, uint32_t u32ColAddrBits );\r
84 \r
85 \r
86 #endif   /* EMC_LPC43XX_H_ */\r
87 \r
88 \r
89 \r