Zephyr API Documentation
4.1.99
A Scalable Open Source RTOS
4.1.99
Toggle main menu visibility
Main Page
Related Pages
Topics
Data Structures
Data Structures
Data Structure Index
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
Files
File List
Globals
All
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
f
g
h
i
k
l
m
n
o
p
r
s
t
u
x
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Macros
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
ifx_cat1-pinctrl.h
Go to the documentation of this file.
1
/* Copyright 2022 Cypress Semiconductor Corporation (an Infineon company) or
2
* an affiliate of Cypress Semiconductor Corporation
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_IFX_CAT1_PINCTRL_H_
7
#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_IFX_CAT1_PINCTRL_H_
15
#define SOC_PINMUX_PORT_POS (0)
16
#define SOC_PINMUX_PORT_MASK (0xFFul << SOC_PINMUX_PORT_POS)
17
#define SOC_PINMUX_PIN_POS (8)
18
#define SOC_PINMUX_PIN_MASK (0xFFul << SOC_PINMUX_PIN_POS)
19
#define SOC_PINMUX_HSIOM_FUNC_POS (16)
20
#define SOC_PINMUX_HSIOM_MASK (0xFFul << SOC_PINMUX_HSIOM_FUNC_POS)
21
#define SOC_PINMUX_SIGNAL_POS (24)
22
#define SOC_PINMUX_SIGNAL_MASK (0xFFul << SOC_PINMUX_SIGNAL_POS)
23
27
#define HSIOM_SEL_GPIO (0)
28
#define HSIOM_SEL_GPIO_DSI (1)
29
#define HSIOM_SEL_DSI_DSI (2)
30
#define HSIOM_SEL_DSI_GPIO (3)
31
#define HSIOM_SEL_AMUXA (4)
32
#define HSIOM_SEL_AMUXB (5)
33
#define HSIOM_SEL_AMUXA_DSI (6)
34
#define HSIOM_SEL_AMUXB_DSI (7)
35
#define HSIOM_SEL_ACT_0 (8)
36
#define HSIOM_SEL_ACT_1 (9)
37
#define HSIOM_SEL_ACT_2 (10)
38
#define HSIOM_SEL_ACT_3 (11)
39
#define HSIOM_SEL_DS_0 (12)
40
#define HSIOM_SEL_DS_1 (13)
41
#define HSIOM_SEL_DS_2 (14)
42
#define HSIOM_SEL_DS_3 (15)
43
#define HSIOM_SEL_ACT_4 (16)
44
#define HSIOM_SEL_ACT_5 (17)
45
#define HSIOM_SEL_ACT_6 (18)
46
#define HSIOM_SEL_ACT_7 (19)
47
#define HSIOM_SEL_ACT_8 (20)
48
#define HSIOM_SEL_ACT_9 (21)
49
#define HSIOM_SEL_ACT_10 (22)
50
#define HSIOM_SEL_ACT_11 (23)
51
#define HSIOM_SEL_ACT_12 (24)
52
#define HSIOM_SEL_ACT_13 (25)
53
#define HSIOM_SEL_ACT_14 (26)
54
#define HSIOM_SEL_ACT_15 (27)
55
#define HSIOM_SEL_DS_4 (28)
56
#define HSIOM_SEL_DS_5 (29)
57
#define HSIOM_SEL_DS_6 (30)
58
#define HSIOM_SEL_DS_7 (31)
59
63
#define DT_CAT1_DRIVE_MODE_INFO(peripheral_signal) \
64
CAT1_PIN_MAP_DRIVE_MODE_##peripheral_signal
63
#define DT_CAT1_DRIVE_MODE_INFO(peripheral_signal) \
…
65
69
#define DT_CAT1_PINMUX(port, pin, hsiom) \
70
((port << SOC_PINMUX_PORT_POS) | \
71
(pin << SOC_PINMUX_PIN_POS) | \
72
(hsiom << SOC_PINMUX_HSIOM_FUNC_POS))
69
#define DT_CAT1_PINMUX(port, pin, hsiom) \
…
73
74
/* Redefine DT GPIO label (Px) to CYHAL port macros (CYHAL_PORT_x) */
75
#define P0 CYHAL_PORT_0
76
#define P1 CYHAL_PORT_1
77
#define P2 CYHAL_PORT_2
78
#define P3 CYHAL_PORT_3
79
#define P4 CYHAL_PORT_4
80
#define P5 CYHAL_PORT_5
81
#define P6 CYHAL_PORT_6
82
#define P7 CYHAL_PORT_7
83
#define P8 CYHAL_PORT_8
84
#define P9 CYHAL_PORT_9
85
#define P10 CYHAL_PORT_10
86
#define P11 CYHAL_PORT_11
87
#define P12 CYHAL_PORT_12
88
#define P13 CYHAL_PORT_13
89
#define P14 CYHAL_PORT_14
90
#define P15 CYHAL_PORT_15
91
#define P16 CYHAL_PORT_16
92
#define P17 CYHAL_PORT_17
93
#define P18 CYHAL_PORT_18
94
#define P19 CYHAL_PORT_19
95
#define P20 CYHAL_PORT_20
96
97
/* Returns CYHAL GPIO from Board device tree GPIO configuration
98
* CYHAL_GET_GPIO(port_number, pin_number),
99
* port_number = ((REG ADDR of node) - (REG ADDR of gpio_prt0)) / (REG SIZE of gpio_prt0)
100
* pin_number = DT_PHA_BY_IDX(node, gpios_prop, 0, pin)
101
*/
102
#define DT_GET_CYHAL_GPIO_FROM_DT_GPIOS(node, gpios_prop) \
103
CYHAL_GET_GPIO( \
104
(DT_REG_ADDR_BY_IDX(DT_GPIO_CTLR_BY_IDX(node, gpios_prop, 0), 0) - \
105
DT_REG_ADDR_BY_IDX(DT_NODELABEL(gpio_prt0), 0)) / \
106
DT_REG_ADDR_BY_IDX(DT_NODELABEL(gpio_prt0), 1), \
107
DT_PHA_BY_IDX(node, gpios_prop, 0, pin) \
108
)
102
#define DT_GET_CYHAL_GPIO_FROM_DT_GPIOS(node, gpios_prop) \
…
109
110
#endif
/* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_IFX_CAT1_PINCTRL_H_ */
zephyr
dt-bindings
pinctrl
ifx_cat1-pinctrl.h
Generated on Mon May 19 2025 00:07:20 for Zephyr API Documentation by
1.12.0