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