aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/boards/WVSHARE_BLE400/board.h
blob: 5a4e8f0fe0e1150b197353756c2fc12a6f8d95b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/*
    Copyright (C) 2015 Fabio Utzig

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
*/

#ifndef _BOARD_H_
#define _BOARD_H_

/* Board identifier. */
#define BOARD_WVSHARE_BLE400
#define BOARD_NAME              "WvShare BLE400"

/* Board oscillators-related settings. */
#define NRF51_XTAL_VALUE        16000000

/* GPIO pins. */
#define KEY1           16
#define KEY2           17
#define LED0           18
#define LED1           19
#define LED2           20
#define LED3           21
#define LED4           22
#define UART_TX        9
#define UART_RX        11
#define UART_RTS       8
#define UART_CTS       10
#define SPI_SCK        25
#define SPI_MOSI       24
#define SPI_MISO       23
#define SPI_SS         30
#define I2C_SCL        1
#define I2C_SDA        0
#define AIN0           26
#define AIN1           27
#define AIN2            1
#define AIN3            2
#define AIN4            3
#define AIN5            4
#define AIN6            5
#define AIN7            6
#define AREF0           0
#define AREF1           6

/*
 * IO pins assignments.
 */
#define IOPORT1_KEY1           16U
#define IOPORT1_KEY2           17U
#define IOPORT1_LED0           18U
#define IOPORT1_LED1           19U
#define IOPORT1_LED2           20U
#define IOPORT1_LED3           21U
#define IOPORT1_LED4           22U
#define IOPORT1_UART_TX         9U
#define IOPORT1_UART_RX        11U
#define IOPORT1_UART_RTS        8U
#define IOPORT1_UART_CTS       10U
#define IOPORT1_SPI_SCK        25U
#define IOPORT1_SPI_MOSI       24U
#define IOPORT1_SPI_MISO       23U
#define IOPORT1_SPI_SS         30U
#define IOPORT1_I2C_SCL         1U
#define IOPORT1_I2C_SDA         0U
#define IOPORT1_AIN0           26U
#define IOPORT1_AIN1           27U
#define IOPORT1_AIN2            1U
#define IOPORT1_AIN3            2U
#define IOPORT1_AIN4            3U
#define IOPORT1_AIN5            4U
#define IOPORT1_AIN6            5U
#define IOPORT1_AIN7            6U
#define IOPORT1_AREF0           0U
#define IOPORT1_AREF1           6U

/*
 * IO lines assignments.
 */
#define LINE_KEY1       PAL_LINE(IOPORT1, IOPORT1_KEY1)
#define LINE_KEY2       PAL_LINE(IOPORT1, IOPORT1_KEY2)
#define LINE_LED0       PAL_LINE(IOPORT1, IOPORT1_LED0)
#define LINE_LED1       PAL_LINE(IOPORT1, IOPORT1_LED1)
#define LINE_LED2       PAL_LINE(IOPORT1, IOPORT1_LED2)
#define LINE_LED3       PAL_LINE(IOPORT1, IOPORT1_LED3)
#define LINE_LED4       PAL_LINE(IOPORT1, IOPORT1_LED4)
#define LINE_UART_TX    PAL_LINE(IOPORT1, IOPORT1_UART_TX)
#define LINE_UART_RX    PAL_LINE(IOPORT1, IOPORT1_UART_RX)
#define LINE_UART_RTS   PAL_LINE(IOPORT1, IOPORT1_UART_RTS)
#define LINE_UART_CTS   PAL_LINE(IOPORT1, IOPORT1_UART_CTS)
#define LINE_SPI_SCK    PAL_LINE(IOPORT1, IOPORT1_SPI_SCK)
#define LINE_SPI_MOSI   PAL_LINE(IOPORT1, IOPORT1_SPI_MOSI)
#define LINE_SPI_MISO   PAL_LINE(IOPORT1, IOPORT1_SPI_MISO)
#define LINE_SPI_SS     PAL_LINE(IOPORT1, IOPORT1_SPI_SS)
#define LINE_I2C_SCL    PAL_LINE(IOPORT1, IOPORT1_I2C_SCL)
#define LINE_I2C_SDA    PAL_LINE(IOPORT1, IOPORT1_I2C_SDA)
#define LINE_AIN0       PAL_LINE(IOPORT1, IOPORT1_AIN0)
#define LINE_AIN1       PAL_LINE(IOPORT1, IOPORT1_AIN1)
#define LINE_AIN2       PAL_LINE(IOPORT1, IOPORT1_AIN2)
#define LINE_AIN3       PAL_LINE(IOPORT1, IOPORT1_AIN3)
#define LINE_AIN4       PAL_LINE(IOPORT1, IOPORT1_AIN4)
#define LINE_AIN5       PAL_LINE(IOPORT1, IOPORT1_AIN5)
#define LINE_AIN6       PAL_LINE(IOPORT1, IOPORT1_AIN6)
#define LINE_AIN7       PAL_LINE(IOPORT1, IOPORT1_AIN7)
#define LINE_AREF0      PAL_LINE(IOPORT1, IOPORT1_AREF0)
#define LINE_AREF1      PAL_LINE(IOPORT1, IOPORT1_AREF1)

#if !defined(_FROM_ASM_)
#ifdef __cplusplus
extern "C" {
#endif
  void boardInit(void);
#ifdef __cplusplus
}
#endif
#endif /* _FROM_ASM_ */

#endif /* _BOARD_H_ */