summaryrefslogtreecommitdiff
path: root/source/gpio_ext.h
blob: 5edbf3aa7e39b081d3f774d29ad5d469ab590f4a (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
/*
 * gpio_ext.h
 *
 */

#ifndef SOURCE_GPIO_EXT_H_
#define SOURCE_GPIO_EXT_H_

#include "fsl_device_registers.h"
#include "fsl_debug_console.h"
#include "board.h"

struct gpio_id{
	PORT_Type *port;
	GPIO_Type *gpio;
	uint32_t pin;
};

struct gpio_id gpio_list [] = {
		{PORTA, GPIOA, 3},
		{PORTA, GPIOA, 5},
		{PORTA, GPIOA, 17},
#ifndef BOARD_USES_ADC
		{PORTB, GPIOB, 1},
		{PORTB, GPIOB, 2},
		{PORTB, GPIOB, 3},
#endif
#ifndef SDK_DEBUGCONSOLE
		{PORTB, GPIOB, 10},
		{PORTB, GPIOB, 11},
#endif
		{PORTB, GPIOB, 16},
		{PORTB, GPIOB, 17},
		{PORTB, GPIOB, 18},
		{PORTB, GPIOB, 19},
		{PORTC, GPIOC, 0},
		{PORTC, GPIOC, 1},
		{PORTC, GPIOC, 2},
		{PORTC, GPIOC, 3},
		{PORTC, GPIOC, 4},
		{PORTC, GPIOC, 6},
		{PORTC, GPIOC, 7},
		{PORTD, GPIOD, 0},
		{PORTD, GPIOD, 1},
		{PORTD, GPIOD, 2},
		{PORTD, GPIOD, 3},
		{PORTD, GPIOD, 4},
		{PORTD, GPIOD, 5},
		{PORTD, GPIOD, 6},
		{PORTD, GPIOD, 7},
		{PORTD, GPIOD, 8},
		{PORTD, GPIOD, 9},
		{PORTD, GPIOD, 11},
		{PORTD, GPIOD, 12},
		{PORTD, GPIOD, 13},
		{PORTD, GPIOD, 14},
		{PORTD, GPIOD, 15},
		{PORTE, GPIOE, 0},
		{PORTE, GPIOE, 1},
		{PORTE, GPIOE, 2},
		{PORTE, GPIOE, 3},
		{PORTE, GPIOE, 4},
		{PORTE, GPIOE, 5},
		{PORTE, GPIOE, 24},
		{PORTE, GPIOE, 25}
};

int is_gpio_valid(uint8_t pin);
int set_gpio_status(uint8_t status, uint8_t pin);
uint8_t get_gpio_status(uint8_t pin);
int gpio_registers(uint8_t *rx_buf, uint8_t *tx_buf);

#endif /* SOURCE_GPIO_EXT_H_ */