CMSIS2000  0.0.7
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
bsp_board_starterkit_lpc_1766.h
Go to the documentation of this file.
1 /*
2  * CMSIS2000
3  * CMSIS-like sources for LPC2xxx series MCUs
4  *
5  * (C) Copyright 2011-2012, Dmitriy Cherepanov, All Rights Reserved
6  *
7  * Version: 0.0.7
8  * Date of the Last Update: 2013-03-04
9  *
10  * Permission is hereby granted, free of charge, to any person obtaining a copy
11  * of this software and associated documentation files (the "Software"), to
12  * deal in the Software without restriction, including without limitation the
13  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
14  * sell copies of the Software, and to permit persons to whom the Software is
15  * furnished to do so, subject to the following conditions:
16  *
17  * The above copyright notice and this permission notice shall be included in
18  * all copies or substantial portions of the Software.
19  *
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
26  * IN THE SOFTWARE.
27  *
28  * Do not be lasy! For the latest version see http://irtos.sourceforge.net .
29  *
30  *
31 #*/
32 
33 #ifndef BSP_BOARD_DEF_H /*BSP_BOARD_DEF_H must be in every borad_def file*/
34 #define BSP_BOARD_DEF_H 1
35 /**
36  * \defgroup xg_bsp_board_def_starterkit_lpc_1766_stk Starterkit SK-MLPC1768 board
37  * \ingroup xg_bsp_LPC17xx
38  * @{
39  *
40  *\~russian
41  * Описание платы SK-MLPC1768
42  *
43  * Плата SK-MLPC1768 -- отладочная плата от http://starterkit.ru
44  *\~english
45  * SK-MLPC1768 board definition
46  *
47  * SK-MLPC1768 is the board from http://starterkit.ru
48  *
49  *\~ http://starterkit.ru/html/index.php?name=shop&op=view&id=27
50  */
51 #ifndef bsp_board_starterkit_lpc_1766_stk /*bsp_board_brd_name must be in every board_def file*/
52  #define bsp_board_starterkit_lpc_1766_stk 1
53 #endif
54 /*-----------i_ is the i_DENTIFICATION DEFENITIONS --------------------------*/
55 #define i_ARCH CM3
56 
57 #define i_MCU_FAMILY LPC17xx
58 
59 #define i_MCU_MODEL 1768
60 
61 #define i_BOARD starterkit_SK-MLPC1768
62 
63 #define i_VENDOR olimex
64 
65 #define i_VERSION 0x01000B /* REVISION B version 1*/
66 /*---------DEFINES THAT PERIPHERIAL DEVICES BOARD HAS ------------------------*/
67 #define BSP_BOARD_HAS_ETHERNET 1
68 #define BSP_BOARD_HAS_UART0 1
69 //#define BSP_BOARD_HAS_UART1 0
70 //#define BSP_BOARD_HAS_UART2 0
71 #define BSP_BOARD_HAS_CAN 0
72 #define BSP_BOARD_HAS_USB 1
73 #define BSP_BOARD_HAS_USB_HOST 1 /**< board has USB HOST on USB1*/
74 #define BSP_BOARD_HAS_USB_DEVICE 1 /**< board has USB DEVICE on USB1*/
75 
76 /**it is a pity but port can be set manually*/
77 #ifndef BSP_USB_MODE_DEFINED
78 #warning PLEASE set jumpers J3 and J2 on board and selsect BSP_USB_MODE_DEFINED
79 // #define BSP_USB_MODE_DEFINED (TYPE_DEVICE_PORT1_SOFT_CONNECT|TYPE_DEVICE_PORT1)
80  #define BSP_USB_MODE_DEFINED TYPE_HOST_PORT1
81 
82 #endif
83 
84 #define BSP_BOARD_HAS_SDRAM 0
85 
86 #define BSP_BOARD_HAS_SPI 1
87 #define BSP_BOARD_HAS_SPI_VS1002D 1
88 #define BSP_BOARD_HAS_PS2 1
89 
90 #define BSP_BOARD_HAS_SD 0
91 #define BSP_BOARD_HAS_MMC 0
92 /*--------VALUES FOR system_LPC2xxx ----------------------------------------*/
93 #define LPC2xxx_VIC_SETUP 1
94 #define LPC2xxx_CLOCK_SETUP 1
95 #define LPC2xxx_PLL_SETUP 1
96 
97 #define XTAL_HZ 12000000UL
98  /* there is three clock soursec in lpc2xxx
99  and table here describe sourses and frequency constants.
100  CLKSRCSEL_IRC 0 IRC_OSC_HZ
101  CLKSRCSEL_XTAL 1 XTAL_HZ
102  CLKSRCSEL_RTC 2 RTC_CLK_HZ
103  */
104  /* select extermal oscillator, as the PLL clock source */
105 #define CLKSRCSEL_Val 1/*CLKSRCSEL_XTAL*/
106 
107 /* Fcck = 48Mhz, Fosc = 288Mhz, and USB 48Mhz */
108 /*Fcck = 2 * (PLL_MValue + 1) * F_OSC_HZ)/(PLL_NValue + 1) /(CCLKCFG_Val + 1))
109  Fcck = 2 * 12 * 12 = 288Mhz
110  Fosc = Fcck / (CCLKCFG_Val + 1) = 57.6Mhz --> useful for UART 57600 baud and etc.
111  FUSB = Fcck / (USBCLKDivValue + 1) = 48Mhz
112 */
113 #define PLL_MValue 11
114 #define PLL_NValue 0
115 #define CCLKCFG_Val 5
116 #define USBCLKCFG_Val 5
117 
118 /* example 2
119  Fcck = 2 * 20 * 12 = 480Mhz
120  Fosc = Fcck / (7 + 1) = 60.0Mhz
121  FUSB = Fcck / (9 + 1) = 48.0Mhz
122 
123 #define PLL_MValue 19
124 #define PLL_NValue 0
125 #define CCLKCFG_Val 7
126 #define USBCLKDivValue 9
127 */
128 
129 /*-----------Peripheral clock selsection -------------------------------------*/
130 /* let watchdog be at normal freq at CCLK/4 but let timer be at CCLK/1 */
131 //#ifndef PCLKSEL0_Val
132 // #define PCLKSEL0_Val (LPC2XXX_PCLK_V(WDT,4) | LPC2XXX_PCLK_V(TIMER0,1))
133 //#endif
134 /* let BAT_RAM and SYSCON be at normal freq at CCLK/4 */
135 //#ifndef PCLKSEL1_Val
136 // #define PCLKSEL1_Val (LPC2XXX_PCLK_V(BAT_RAM,4) | LPC2XXX_PCLK_V(SYSCON,4))
137 //#endif
138 
139 
140 #define LPC2xxx_FLASH_SETUP 1 /**< Enabling MAM*/
141  /* Enabling MAM and setting number of clocks
142  used for Flash memory fetch (4 cclks in this case) */
143 #define MAMCR_Val LPC_SC_MAM_MODE_FULL
144 
145 
146 #define LPC2xxx_SDRAM_SETUP BSP_BOARD_HAS_SDRAM
147 /*--------END OF VALUES FOR system_LPC2xxx ---------------------------------*/
148 /*----------------------------------------------------------------------------*/
149 /* SPI CHIP SELECT CHIP NUMBRES */
150 #define CS_VS1002D 1
151 
152 #define P0_20_TP_CS /* no need to chip select*/
153 
154 #define port_spi_chip_select_init() /* no need to chip select*/
155 
156 
157 //void port_spi_chip_select
158 #define port_spi_chip_select(chip_num) /* no need to chip select*/
159 
160 
161 #define port_spi_chip_disselect(chip_num) /* no need to chip select*/
162 
163 /*----------------------------------------------------------------------------*/
164 
165 #endif /*BSP_BOARD_DEF_H*/