Add test result of 1.0.1
[gnuk/neug.git] / boards / STBEE / board.h
1 /*
2     ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
3
4     This file is part of ChibiOS/RT.
5
6     ChibiOS/RT is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 3 of the License, or
9     (at your option) any later version.
10
11     ChibiOS/RT is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19                                       ---
20
21     A special exception to the GPL can be applied should you wish to distribute
22     a combined work that includes ChibiOS/RT, without being obliged to provide
23     the source code for any proprietary components. See the file exception.txt
24     for full details of how and when the exception can be applied.
25 */
26
27 #ifndef _BOARD_H_
28 #define _BOARD_H_
29
30 #include "config.h"
31 /*
32  * Setup for the STBee board.
33  */
34 #define SET_USB_CONDITION(en) (!en)     /* To connect USB, call palClearPad */
35 #define SET_LED_CONDITION(on) (!on)     /* To emit light, call palClearPad */
36 #define GPIO_USB        GPIOD_USB_ENABLE
37 #define IOPORT_USB      GPIOD
38 #define GPIO_LED        GPIOD_LED1
39 #define IOPORT_LED      GPIOD
40
41 /* NeuG settings for ADC2.  */
42 #define NEUG_ADC_SETTING2_SMPR1 ADC_SMPR1_SMP_AN10(ADC_SAMPLE_1P5) \
43                               | ADC_SMPR1_SMP_AN11(ADC_SAMPLE_1P5)
44 #define NEUG_ADC_SETTING2_SMPR2 0
45 #define NEUG_ADC_SETTING2_SQR3  ADC_SQR3_SQ1_N(ADC_CHANNEL_IN10)   \
46                               | ADC_SQR3_SQ2_N(ADC_CHANNEL_IN11)
47 #define NEUG_ADC_SETTING2_NUM_CHANNELS 2
48
49 /*
50  * Board identifier.
51  */
52 #define BOARD_STBEE
53 #define BOARD_NAME "STBee"
54
55 /*
56  * Board frequencies.
57  */
58 #define STM32_LSECLK            32768
59 #define STM32_HSECLK            12000000
60
61 /*
62  * MCU type, this macro is used by both the ST library and the ChibiOS/RT
63  * native STM32 HAL.
64  */
65 #define STM32F10X_HD
66
67 /*
68  * IO pins assignments.
69  */
70 #define GPIOD_LED1             4
71 #define GPIOD_USB_ENABLE       3
72 #define GPIOA_USER             0
73
74 /*
75  * I/O ports initial setup, this configuration is established soon after reset
76  * in the initialization code.
77  *
78  * The digits have the following meaning:
79  *   0 - Analog input.
80  *   1 - Push Pull output 10MHz.
81  *   2 - Push Pull output 2MHz.
82  *   3 - Push Pull output 50MHz.
83  *   4 - Digital input.
84  *   5 - Open Drain output 10MHz.
85  *   6 - Open Drain output 2MHz.
86  *   7 - Open Drain output 50MHz.
87  *   8 - Digital input with PullUp or PullDown resistor depending on ODR.
88  *   9 - Alternate Push Pull output 10MHz.
89  *   A - Alternate Push Pull output 2MHz.
90  *   B - Alternate Push Pull output 50MHz.
91  *   C - Reserved.
92  *   D - Alternate Open Drain output 10MHz.
93  *   E - Alternate Open Drain output 2MHz.
94  *   F - Alternate Open Drain output 50MHz.
95  * Please refer to the STM32 Reference Manual for details.
96  */
97
98 /*
99  * Port A setup.
100  * PA11 - input with pull-up (USBDM)
101  * PA12 - input with pull-up (USBDP)
102  * Everything input with pull-up except:
103  * PA0 - Normal input.
104  */
105 #define VAL_GPIOACRL            0x88888884      /*  PA7...PA0 */
106 #define VAL_GPIOACRH            0x88888888      /* PA15...PA8 */
107 #define VAL_GPIOAODR            0xFFFFFFFF
108
109 /* Port B setup. */
110 /* Everything input with pull-up */
111 #define VAL_GPIOBCRL            0x88888888      /*  PB7...PB0 */
112 #define VAL_GPIOBCRH            0x88888888      /* PB15...PB8 */
113 #define VAL_GPIOBODR            0xFFFFFFFF
114
115 /*
116  * Port C setup.
117  * PC0  - Digital input with PullUp.  AN10
118  * PC1  - Digital input with PullUp.  AN11
119  * Everything input with pull-up except:
120  */
121 #define VAL_GPIOCCRL            0x88888888      /*  PC7...PC0 */
122 #define VAL_GPIOCCRH            0x88888888      /* PC15...PC8 */
123 #define VAL_GPIOCODR            0xFFFFFFFF
124
125 /*
126  * Port D setup.
127  * Everything input with pull-up except:
128  * PD3  - Push pull output  (USB_DISC 1:USB-DISABLE 0:USB-ENABLE) 2MHz
129  * PD4  - Open Drain output 2MHz (LED1).
130  */
131 #define VAL_GPIODCRL            0x88862888      /*  PD7...PD0 */
132 #define VAL_GPIODCRH            0x88888888      /* PD15...PD8 */
133 #define VAL_GPIODODR            0xFFFFFFFF
134
135 /*
136  * Port E setup.
137  * Everything input with pull-up except:
138  */
139 #define VAL_GPIOECRL            0x88888888      /*  PE7...PE0 */
140 #define VAL_GPIOECRH            0x88888888      /* PE15...PE8 */
141 #define VAL_GPIOEODR            0xFFFFFFFF
142
143 /*
144  * Port F setup.
145  * Everything input with pull-up except:
146  */
147 #define VAL_GPIOFCRL            0x88888888      /*  PF7...PF0 */
148 #define VAL_GPIOFCRH            0x88888888      /* PF15...PF8 */
149 #define VAL_GPIOFODR            0xFFFFFFFF
150
151 /*
152  * Port G setup.
153  * Everything input with pull-up except:
154  */
155 #define VAL_GPIOGCRL            0x88888888      /*  PG7...PG0 */
156 #define VAL_GPIOGCRH            0x88888888      /* PG15...PG8 */
157 #define VAL_GPIOGODR            0xFFFFFFFF
158
159 #if !defined(_FROM_ASM_)
160 #ifdef __cplusplus
161 extern "C" {
162 #endif
163   void boardInit(void);
164 #ifdef __cplusplus
165 }
166 #endif
167 #endif /* _FROM_ASM_ */
168
169 #endif /* _BOARD_H_ */