Zephyr API Documentation
4.0.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ti-k3-pinctrl.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2023 Enphase Energy
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_TI_K3_PINCTRL_H_
8
#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_TI_K3_PINCTRL_H_
9
10
#define PULLUDEN_SHIFT 16
11
#define PULLTYPESEL_SHIFT 17
12
#define RXACTIVE_SHIFT 18
13
14
#define PULL_DISABLE (1 << PULLUDEN_SHIFT)
15
#define PULL_ENABLE (0 << PULLUDEN_SHIFT)
16
17
#define PULL_UP ((1 << PULLTYPESEL_SHIFT) | PULL_ENABLE)
18
#define PULL_DOWN ((0 << PULLTYPESEL_SHIFT) | PULL_ENABLE)
19
20
#define INPUT_ENABLE (1 << RXACTIVE_SHIFT)
21
#define INPUT_DISABLE (0 << RXACTIVE_SHIFT)
22
23
/* Only the following macros are intended be used in DTS files */
24
25
#define PIN_OUTPUT (INPUT_DISABLE | PULL_DISABLE)
26
#define PIN_OUTPUT_PULLUP (INPUT_DISABLE | PULL_UP)
27
#define PIN_OUTPUT_PULLDOWN (INPUT_DISABLE | PULL_DOWN)
28
#define PIN_INPUT (INPUT_ENABLE | PULL_DISABLE)
29
#define PIN_INPUT_PULLUP (INPUT_ENABLE | PULL_UP)
30
#define PIN_INPUT_PULLDOWN (INPUT_ENABLE | PULL_DOWN)
31
32
#define MUX_MODE_0 0
33
#define MUX_MODE_1 1
34
#define MUX_MODE_2 2
35
#define MUX_MODE_3 3
36
#define MUX_MODE_4 4
37
#define MUX_MODE_5 5
38
#define MUX_MODE_6 6
39
#define MUX_MODE_7 7
40
#define MUX_MODE_8 8
41
#define MUX_MODE_9 9
42
#define MUX_MODE_10 10
43
#define MUX_MODE_11 11
44
#define MUX_MODE_12 12
45
#define MUX_MODE_13 13
46
#define MUX_MODE_14 14
47
48
#define K3_PINMUX(offset, value, mux_mode) (((offset) & 0x1fff)) ((value) | (mux_mode))
49
50
#endif
/* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_TI_K3_PINCTRL_H_ */
zephyr
dt-bindings
pinctrl
ti-k3-pinctrl.h
Generated on Fri Nov 22 2024 21:03:24 for Zephyr API Documentation by
1.12.0