libpynq
(release 5EWC0-2023 version 0.2.3 of 2023-10-06 18:15)
Loading...
Searching...
No Matches
pinmap.h
Go to the documentation of this file.
1
/*
2
Copyright (c) 2023 Eindhoven University of Technology
3
4
Permission is hereby granted, free of charge, to any person obtaining a copy
5
of this software and associated documentation files (the "Software"), to deal
6
in the Software without restriction, including without limitation the rights
7
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
copies of the Software, and to permit persons to whom the Software is
9
furnished to do so, subject to the following conditions:
10
11
The above copyright notice and this permission notice shall be included in all
12
copies or substantial portions of the Software.
13
14
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
SOFTWARE.
21
*/
22
#ifndef PINMAP_H
23
#define PINMAP_H
24
42
#define NUM_ANALOG_REFERENCE_PINS 14
/* # analog reference pins */
43
#define NUM_ANALOG_IN_PINS 6
/* # analog input pins */
44
45
typedef
enum
{
49
IO_AR0
= 0,
/* reference pin 0 */
50
IO_AR1
= 1,
/* reference pin 1 */
51
IO_AR2
= 2,
/* reference pin 2 */
52
IO_AR3
= 3,
/* reference pin 3 */
53
IO_AR4
= 4,
/* reference pin 4 */
54
IO_AR5
= 5,
/* reference pin 5 */
55
IO_AR6
= 6,
/* reference pin 6 */
56
IO_AR7
= 7,
/* reference pin 7 */
57
IO_AR8
= 8,
/* reference pin 8 */
58
IO_AR9
= 9,
/* reference pin 9 */
59
IO_AR10
= 10,
/* reference pin 10 */
60
IO_AR11
= 11,
/* reference pin 11 */
61
IO_AR12
= 12,
/* reference pin 12 */
62
IO_AR13
= 13,
/* reference pin 13 */
63
67
IO_A0
= 14,
/* analog input pin 0 */
68
IO_A1
= 15,
/* analog input pin 1 */
69
IO_A2
= 16,
/* analog input pin 2 */
70
IO_A3
= 17,
/* analog input pin 3 */
71
IO_A4
= 18,
/* analog input pin 4 */
72
IO_A5
= 19,
/* analog input pin 5 */
73
77
IO_SW0
= 20,
/* switch input pin 0 */
78
IO_SW1
= 21,
/* switch input pin 1 */
79
83
IO_BTN0
= 22,
/* button input pin 0 */
84
IO_BTN1
= 23,
/* button input pin 1 */
85
IO_BTN2
= 24,
/* button input pin 2 */
86
IO_BTN3
= 25,
/* button input pin 3 */
87
91
IO_LD0
= 26,
/* LED output pin 0 */
92
IO_LD1
= 27,
/* LED output pin 1 */
93
IO_LD2
= 28,
/* LED output pin 2 */
94
IO_LD3
= 29,
/* LED output pin 3 */
95
99
IO_AR_SCL
= 31,
/* I2C clock pin */
100
IO_AR_SDA
= 30,
/* I2C data pin */
101
106
IO_LD4B
= 32,
/* color LED 0 blue input pin */
107
IO_LD4R
= 33,
/* color LED 0 red input pin */
108
IO_LD4G
= 34,
/* color LED 0 green input pin */
109
110
IO_LD5B
= 35,
/* color LED 1 blue input pin */
111
IO_LD5R
= 36,
/* color LED 1 red input pin */
112
IO_LD5G
= 37,
/* color LED 1 green input pin */
113
117
IO_RBPI40
= 38,
/* RaspberryPi header pin */
118
IO_RBPI37
= 39,
/* RaspberryPi header pin */
119
IO_RBPI38
= 40,
/* RaspberryPi header pin */
120
IO_RBPI35
= 41,
/* RaspberryPi header pin */
121
IO_RBPI36
= 42,
/* RaspberryPi header pin */
122
IO_RBPI33
= 43,
/* RaspberryPi header pin */
123
IO_RBPI18
= 44,
/* RaspberryPi header pin */
124
IO_RBPI32
= 45,
/* RaspberryPi header pin */
125
IO_RBPI10
= 46,
/* RaspberryPi header pin */
126
IO_RBPI27
= 47,
/* RaspberryPi header pin */
127
IO_RBPI28
= 48,
/* RaspberryPi header pin */
128
IO_RBPI22
= 49,
/* RaspberryPi header pin */
129
IO_RBPI23
= 50,
/* RaspberryPi header pin */
130
IO_RBPI24
= 51,
/* RaspberryPi header pin */
131
IO_RBPI21
= 52,
/* RaspberryPi header pin */
132
IO_RBPI26
= 53,
/* RaspberryPi header pin */
133
IO_RBPI19
= 54,
/* RaspberryPi header pin */
134
IO_RBPI31
= 55,
/* RaspberryPi header pin */
135
IO_RBPI15
= 56,
/* RaspberryPi header pin */
136
IO_RBPI16
= 57,
/* RaspberryPi header pin */
137
IO_RBPI13
= 58,
/* RaspberryPi header pin */
138
IO_RBPI12
= 59,
/* RaspberryPi header pin */
139
IO_RBPI29
= 60,
/* RaspberryPi header pin */
140
IO_RBPI08
= 61,
/* RaspberryPi header pin */
141
IO_RBPI07
= 62,
/* RaspberryPi header pin */
142
IO_RBPI05
= 63,
/* RaspberryPi header pin */
143
144
IO_NUM_PINS
= 64,
145
}
io_t
;
146
150
#define PIN_CHECK(pin) \
151
do { \
152
if (pin >= IO_NUM_PINS) { \
153
pynq_error("pin %u is invalid, must be 0..%u-1.\n"
, pin, IO_NUM_PINS); \
154
} \
155
} while (0);
156
160
extern
char
*
const
pin_names
[64];
164
#endif
// PINMAP_H
io_t
io_t
Definition
pinmap.h:45
pin_names
char *const pin_names[64]
Pin names.
Definition
pinmap.c:24
IO_RBPI28
@ IO_RBPI28
Definition
pinmap.h:127
IO_LD0
@ IO_LD0
LED output pins.
Definition
pinmap.h:91
IO_LD4B
@ IO_LD4B
The RGB adresses for IO_LD4 and IO_LD5.
Definition
pinmap.h:106
IO_AR8
@ IO_AR8
Definition
pinmap.h:57
IO_RBPI33
@ IO_RBPI33
Definition
pinmap.h:122
IO_A5
@ IO_A5
Definition
pinmap.h:72
IO_RBPI36
@ IO_RBPI36
Definition
pinmap.h:121
IO_LD5G
@ IO_LD5G
Definition
pinmap.h:112
IO_RBPI19
@ IO_RBPI19
Definition
pinmap.h:133
IO_AR1
@ IO_AR1
Definition
pinmap.h:50
IO_RBPI18
@ IO_RBPI18
Definition
pinmap.h:123
IO_AR0
@ IO_AR0
Analog reference pins.
Definition
pinmap.h:49
IO_SW0
@ IO_SW0
Switch input pins.
Definition
pinmap.h:77
IO_A0
@ IO_A0
Analog input pins.
Definition
pinmap.h:67
IO_LD3
@ IO_LD3
Definition
pinmap.h:94
IO_AR2
@ IO_AR2
Definition
pinmap.h:51
IO_RBPI27
@ IO_RBPI27
Definition
pinmap.h:126
IO_RBPI38
@ IO_RBPI38
Definition
pinmap.h:119
IO_A1
@ IO_A1
Definition
pinmap.h:68
IO_BTN3
@ IO_BTN3
Definition
pinmap.h:86
IO_BTN1
@ IO_BTN1
Definition
pinmap.h:84
IO_RBPI31
@ IO_RBPI31
Definition
pinmap.h:134
IO_AR7
@ IO_AR7
Definition
pinmap.h:56
IO_SW1
@ IO_SW1
Definition
pinmap.h:78
IO_LD2
@ IO_LD2
Definition
pinmap.h:93
IO_RBPI22
@ IO_RBPI22
Definition
pinmap.h:128
IO_RBPI26
@ IO_RBPI26
Definition
pinmap.h:132
IO_RBPI16
@ IO_RBPI16
Definition
pinmap.h:136
IO_LD4G
@ IO_LD4G
Definition
pinmap.h:108
IO_RBPI40
@ IO_RBPI40
The RaspberryPi header-pin indexing.
Definition
pinmap.h:117
IO_AR_SCL
@ IO_AR_SCL
I2C pins.
Definition
pinmap.h:99
IO_AR5
@ IO_AR5
Definition
pinmap.h:54
IO_AR3
@ IO_AR3
Definition
pinmap.h:52
IO_BTN0
@ IO_BTN0
Button input pins.
Definition
pinmap.h:83
IO_AR13
@ IO_AR13
Definition
pinmap.h:62
IO_AR11
@ IO_AR11
Definition
pinmap.h:60
IO_RBPI37
@ IO_RBPI37
Definition
pinmap.h:118
IO_NUM_PINS
@ IO_NUM_PINS
Definition
pinmap.h:144
IO_AR9
@ IO_AR9
Definition
pinmap.h:58
IO_AR10
@ IO_AR10
Definition
pinmap.h:59
IO_AR12
@ IO_AR12
Definition
pinmap.h:61
IO_AR4
@ IO_AR4
Definition
pinmap.h:53
IO_RBPI29
@ IO_RBPI29
Definition
pinmap.h:139
IO_RBPI35
@ IO_RBPI35
Definition
pinmap.h:120
IO_RBPI24
@ IO_RBPI24
Definition
pinmap.h:130
IO_RBPI05
@ IO_RBPI05
Definition
pinmap.h:142
IO_A2
@ IO_A2
Definition
pinmap.h:69
IO_LD1
@ IO_LD1
Definition
pinmap.h:92
IO_RBPI21
@ IO_RBPI21
Definition
pinmap.h:131
IO_A3
@ IO_A3
Definition
pinmap.h:70
IO_AR_SDA
@ IO_AR_SDA
Definition
pinmap.h:100
IO_RBPI23
@ IO_RBPI23
Definition
pinmap.h:129
IO_RBPI08
@ IO_RBPI08
Definition
pinmap.h:140
IO_LD5R
@ IO_LD5R
Definition
pinmap.h:111
IO_RBPI10
@ IO_RBPI10
Definition
pinmap.h:125
IO_LD5B
@ IO_LD5B
Definition
pinmap.h:110
IO_LD4R
@ IO_LD4R
Definition
pinmap.h:107
IO_AR6
@ IO_AR6
Definition
pinmap.h:55
IO_RBPI32
@ IO_RBPI32
Definition
pinmap.h:124
IO_RBPI13
@ IO_RBPI13
Definition
pinmap.h:137
IO_RBPI07
@ IO_RBPI07
Definition
pinmap.h:141
IO_BTN2
@ IO_BTN2
Definition
pinmap.h:85
IO_RBPI15
@ IO_RBPI15
Definition
pinmap.h:135
IO_RBPI12
@ IO_RBPI12
Definition
pinmap.h:138
IO_A4
@ IO_A4
Definition
pinmap.h:71
library
pinmap.h
Generated on Fri Oct 6 2023 18:15:11 for libpynq by
1.9.7