Zephyr API Documentation
4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
tiva-c-pinctrl.h
Go to the documentation of this file.
1
8
9
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_TIVA_C_PINCTRL_H_
10
#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_TIVA_C_PINCTRL_H_
11
12
/*
13
* Tiva C pinmux encoding (32-bit):
14
* Bits [15:0] : port details
15
* Bits [31:16] : pin details
16
*/
17
19
#define TIVA_C_PORT_SHIFT 0
21
#define TIVA_C_PORT_MASK 0x7
23
#define TIVA_C_PIN_SHIFT 16
25
#define TIVA_C_PIN_MASK 0x7
27
#define TIVA_C_MUX_SHIFT 19
29
#define TIVA_C_MUX_MASK 0xF
31
#define TIVA_C_TYPE_SHIFT 23
33
#define TIVA_C_TYPE_MASK 0x7
34
36
#define TIVA_C_PORT_A 0
38
#define TIVA_C_PORT_B 1
40
#define TIVA_C_PORT_C 2
42
#define TIVA_C_PORT_D 3
44
#define TIVA_C_PORT_E 4
46
#define TIVA_C_PORT_F 5
47
49
#define TIVA_C_TYPE_GPIO 0
51
#define TIVA_C_TYPE_UART 1
53
#define TIVA_C_TYPE_I2C 2
55
#define TIVA_C_TYPE_I2C_SCL 3
57
#define TIVA_C_TYPE_SSI 4
59
#define TIVA_C_TYPE_CAN 5
61
#define TIVA_C_TYPE_PWM 6
62
73
#define TIVA_C_PINMUX(port, pin, mux, type) \
74
((((port) & TIVA_C_PORT_MASK) << TIVA_C_PORT_SHIFT) | \
75
(((pin) & TIVA_C_PIN_MASK) << TIVA_C_PIN_SHIFT) | \
76
(((mux) & TIVA_C_MUX_MASK) << TIVA_C_MUX_SHIFT) | \
77
(((type) & TIVA_C_TYPE_MASK) << TIVA_C_TYPE_SHIFT))
78
80
#define TIVA_C_PINMUX_PORT(pm) \
81
(((pm) >> TIVA_C_PORT_SHIFT) & TIVA_C_PORT_MASK)
82
83
#define TIVA_C_PINMUX_PIN(pm) \
84
(((pm) >> TIVA_C_PIN_SHIFT) & TIVA_C_PIN_MASK)
85
86
#define TIVA_C_PINMUX_MUX(pm) \
87
(((pm) >> TIVA_C_MUX_SHIFT) & TIVA_C_MUX_MASK)
88
89
#define TIVA_C_PINMUX_TYPE(pm) \
90
(((pm) >> TIVA_C_TYPE_SHIFT) & TIVA_C_TYPE_MASK)
91
93
#define TIVA_C_PULL_UP_SHIFT 26
95
#define TIVA_C_PULL_DOWN_SHIFT 27
97
#define TIVA_C_OPEN_DRAIN_SHIFT 28
98
100
#define TIVA_C_PINMUX_PULL_UP(pm) \
101
(((pm) >> TIVA_C_PULL_UP_SHIFT) & 0x1U)
102
103
#define TIVA_C_PINMUX_PULL_DOWN(pm) \
104
(((pm) >> TIVA_C_PULL_DOWN_SHIFT) & 0x1U)
105
106
#define TIVA_C_PINMUX_OPEN_DRAIN(pm) \
107
(((pm) >> TIVA_C_OPEN_DRAIN_SHIFT) & 0x1U)
108
110
#define TIVA_C_PINCFG_PORT_SHIFT 16
112
#define TIVA_C_PINCFG_PIN_SHIFT 10
113
114
#endif
zephyr
dt-bindings
pinctrl
tiva-c-pinctrl.h
Generated on
for Zephyr API Documentation by
1.16.1