Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
rts5817_pinctrl.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Realtek Semiconductor, Inc.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_RTS5817_PINCTRL_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_RTS5817_PINCTRL_H_
9
16#define RTS_FP_PIN_SHIFT 0U
17#define RTS_FP_PIN_MASK 0xFFU
18#define RTS_FP_FUNC_SHIFT 8U
19#define RTS_FP_FUNC_MASK 0x1FU
20
21#define RTS_FP_PINMUX(pin, func) \
22 ((((RTS_FP_PIN_##pin) & RTS_FP_PIN_MASK) << RTS_FP_PIN_SHIFT) | \
23 (((RTS_FP_PIN_##func) & RTS_FP_FUNC_MASK) << RTS_FP_FUNC_SHIFT))
24
25#define RTS_FP_PINMUX_PIN(__pin) (((__pin) >> RTS_FP_PIN_SHIFT) & RTS_FP_PIN_MASK)
26#define RTS_FP_PINMUX_FUNC(__pin) (((__pin) >> RTS_FP_FUNC_SHIFT) & RTS_FP_FUNC_MASK)
27
28#define IO_POWER_1V8 0
29#define IO_POWER_3V3 1
30
31#define RTS_FP_PIN_FUNC0 0
32#define RTS_FP_PIN_FUNC1 1
33#define RTS_FP_PIN_FUNC2 2
34#define RTS_FP_PIN_FUNC3 3
35#define RTS_FP_PIN_FUNC4 4
36#define RTS_FP_PIN_FUNC5 5
37#define RTS_FP_PIN_FUNC6 6
38#define RTS_FP_PIN_FUNC7 7
39
40#define RTS_FP_PIN_CACHE_CS1 0
41#define RTS_FP_PIN_CACHE_MISO 1
42#define RTS_FP_PIN_CACHE_MOSI 2
43#define RTS_FP_PIN_CACHE_SCK 3
44#define RTS_FP_PIN_CACHE_WP 4
45#define RTS_FP_PIN_CACHE_HOLD 5
46#define RTS_FP_PIN_CACHE_CS2 6
47#define RTS_FP_PIN_SNR_MISO 7
48#define RTS_FP_PIN_SNR_MOSI 8
49#define RTS_FP_PIN_SNR_CLK 9
50#define RTS_FP_PIN_SSI_M_MISO 10
51#define RTS_FP_PIN_SSI_M_MOSI 11
52#define RTS_FP_PIN_SSI_M_CS 12
53#define RTS_FP_PIN_SSI_M_SCK 13
54#define RTS_FP_PIN_SCL0 14
55#define RTS_FP_PIN_SDA0 15
56#define RTS_FP_PIN_SCL2 16
57#define RTS_FP_PIN_SDA2 17
58#define RTS_FP_PIN_SCL1 18
59#define RTS_FP_PIN_SDA1 19
60#define RTS_FP_PIN_SSI_S_MISO 20
61#define RTS_FP_PIN_SSI_S_MOSI 21
62#define RTS_FP_PIN_SSI_S_CS 22
63#define RTS_FP_PIN_SSI_S_SCK 23
64#define RTS_FP_PIN_GPIO14 24
65#define RTS_FP_PIN_GPIO15 25
66#define RTS_FP_PIN_AL0 26
67#define RTS_FP_PIN_AL1 27
68#define RTS_FP_PIN_AL2 28
69#define RTS_FP_PIN_SNR_RST 29
70#define RTS_FP_PIN_SNR_CS 30
71#define RTS_FP_PIN_SNR_GPIO 31
72
73#define P_CACHE_CS2_F_CACHE_CS2 RTS_FP_PINMUX(CACHE_CS2, FUNC0)
74#define P_CACHE_CS2_F_GPIO RTS_FP_PINMUX(CACHE_CS2, FUNC1)
75
76#define P_SNR_MISO_F_SNR_MISO RTS_FP_PINMUX(SNR_MISO, FUNC0)
77#define P_SNR_MOSI_F_SNR_MOSI RTS_FP_PINMUX(SNR_MOSI, FUNC0)
78#define P_SNR_CLK_F_SNR_CLK RTS_FP_PINMUX(SNR_CLK, FUNC0)
79
80#define P_SSI_M_MISO_F_GPIO RTS_FP_PINMUX(SSI_M_MISO, FUNC0)
81#define P_SSI_M_MISO_F_PWM RTS_FP_PINMUX(SSI_M_MISO, FUNC1)
82#define P_SSI_M_MISO_F_SSI_M_MISO RTS_FP_PINMUX(SSI_M_MISO, FUNC2)
83#define P_SSI_M_MISO_F_SSI_S_MISO RTS_FP_PINMUX(SSI_M_MISO, FUNC3)
84#define P_SSI_M_MISO_F_UART1_RX RTS_FP_PINMUX(SSI_M_MISO, FUNC4)
85#define P_SSI_M_MISO_F_ASIC_DBG RTS_FP_PINMUX(SSI_M_MISO, FUNC5)
86
87#define P_SSI_M_MOSI_F_GPIO RTS_FP_PINMUX(SSI_M_MOSI, FUNC0)
88#define P_SSI_M_MOSI_F_PWM RTS_FP_PINMUX(SSI_M_MOSI, FUNC1)
89#define P_SSI_M_MOSI_F_SSI_M_MOSI RTS_FP_PINMUX(SSI_M_MOSI, FUNC2)
90#define P_SSI_M_MOSI_F_SSI_S_MOSI RTS_FP_PINMUX(SSI_M_MOSI, FUNC3)
91#define P_SSI_M_MOSI_F_UART1_TX RTS_FP_PINMUX(SSI_M_MOSI, FUNC4)
92#define P_SSI_M_MOSI_F_ASIC_DBG RTS_FP_PINMUX(SSI_M_MOSI, FUNC5)
93
94#define P_SSI_M_CS_F_GPIO RTS_FP_PINMUX(SSI_M_CS, FUNC0)
95#define P_SSI_M_CS_F_PWM RTS_FP_PINMUX(SSI_M_CS, FUNC1)
96#define P_SSI_M_CS_F_SSI_M_CS RTS_FP_PINMUX(SSI_M_CS, FUNC2)
97#define P_SSI_M_CS_F_SSI_S_CS RTS_FP_PINMUX(SSI_M_CS, FUNC3)
98#define P_SSI_M_CS_F_UART1_RTS RTS_FP_PINMUX(SSI_M_CS, FUNC4)
99#define P_SSI_M_CS_F_ASIC_DBG RTS_FP_PINMUX(SSI_M_CS, FUNC5)
100
101#define P_SSI_M_SCK_F_GPIO RTS_FP_PINMUX(SSI_M_SCK, FUNC0)
102#define P_SSI_M_SCK_F_PWM RTS_FP_PINMUX(SSI_M_SCK, FUNC1)
103#define P_SSI_M_SCK_F_SSI_M_CLK RTS_FP_PINMUX(SSI_M_SCK, FUNC2)
104#define P_SSI_M_SCK_F_SSI_S_CLK RTS_FP_PINMUX(SSI_M_SCK, FUNC3)
105#define P_SSI_M_SCK_F_UART1_CTS RTS_FP_PINMUX(SSI_M_SCK, FUNC4)
106#define P_SSI_M_SCK_F_ASIC_DBG RTS_FP_PINMUX(SSI_M_SCK, FUNC5)
107
108#define P_SCL0_F_GPIO RTS_FP_PINMUX(SCL0, FUNC0)
109#define P_SCL0_F_PWM RTS_FP_PINMUX(SCL0, FUNC1)
110#define P_SCL0_F_I2C0_SCL RTS_FP_PINMUX(SCL0, FUNC2)
111#define P_SCL0_F_UART0_RX RTS_FP_PINMUX(SCL0, FUNC3)
112#define P_SCL0_F_SWD_CLK RTS_FP_PINMUX(SCL0, FUNC4)
113#define P_SCL0_F_ASIC_DBG RTS_FP_PINMUX(SCL0, FUNC5)
114
115#define P_SDA0_F_GPIO RTS_FP_PINMUX(SDA0, FUNC0)
116#define P_SDA0_F_PWM RTS_FP_PINMUX(SDA0, FUNC1)
117#define P_SDA0_F_I2C0_SDA RTS_FP_PINMUX(SDA0, FUNC2)
118#define P_SDA0_F_UART0_TX RTS_FP_PINMUX(SDA0, FUNC3)
119#define P_SDA0_F_SWD_DAT RTS_FP_PINMUX(SDA0, FUNC4)
120#define P_SDA0_F_ASIC_DBG RTS_FP_PINMUX(SDA0, FUNC5)
121
122#define P_SCL2_F_GPIO RTS_FP_PINMUX(SCL2, FUNC0)
123#define P_SCL2_F_PWM RTS_FP_PINMUX(SCL2, FUNC1)
124#define P_SCL2_F_I2C2_SCL RTS_FP_PINMUX(SCL2, FUNC2)
125#define P_SCL2_F_UART0_RX RTS_FP_PINMUX(SCL2, FUNC3)
126#define P_SCL2_F_SWD_CLK RTS_FP_PINMUX(SCL2, FUNC4)
127#define P_SCL2_F_ASIC_DBG RTS_FP_PINMUX(SCL2, FUNC5)
128
129#define P_SDA2_F_GPIO RTS_FP_PINMUX(SDA2, FUNC0)
130#define P_SDA2_F_PWM RTS_FP_PINMUX(SDA2, FUNC1)
131#define P_SDA2_F_I2C2_SDA RTS_FP_PINMUX(SDA2, FUNC2)
132#define P_SDA2_F_UART0_TX RTS_FP_PINMUX(SDA2, FUNC3)
133#define P_SDA2_F_SWD_DAT RTS_FP_PINMUX(SDA2, FUNC4)
134#define P_SDA2_F_ASIC_DBG RTS_FP_PINMUX(SDA2, FUNC5)
135
136#define P_SCL1_F_GPIO RTS_FP_PINMUX(SCL1, FUNC0)
137#define P_SCL1_F_PWM RTS_FP_PINMUX(SCL1, FUNC1)
138#define P_SCL1_F_I2C1_SCL RTS_FP_PINMUX(SCL1, FUNC2)
139#define P_SCL1_F_JTAG_TCK RTS_FP_PINMUX(SCL1, FUNC4)
140
141#define P_SDA1_F_GPIO RTS_FP_PINMUX(SDA1, FUNC0)
142#define P_SDA1_F_PWM RTS_FP_PINMUX(SDA1, FUNC1)
143#define P_SDA1_F_I2C1_SDA RTS_FP_PINMUX(SDA1, FUNC2)
144#define P_SDA1_F_JTAG_TMS RTS_FP_PINMUX(SDA1, FUNC4)
145
146#define P_SSI_S_MISO_F_GPIO RTS_FP_PINMUX(SSI_S_MISO, FUNC0)
147#define P_SSI_S_MISO_F_PWM RTS_FP_PINMUX(SSI_S_MISO, FUNC1)
148#define P_SSI_S_MISO_F_SSI_S_MISO RTS_FP_PINMUX(SSI_S_MISO, FUNC2)
149#define P_SSI_S_MISO_F_UART1_RX RTS_FP_PINMUX(SSI_S_MISO, FUNC3)
150#define P_SSI_S_MISO_F_JTAG_TDI RTS_FP_PINMUX(SSI_S_MISO, FUNC4)
151
152#define P_SSI_S_MOSI_F_GPIO RTS_FP_PINMUX(SSI_S_MOSI, FUNC0)
153#define P_SSI_S_MOSI_F_PWM RTS_FP_PINMUX(SSI_S_MOSI, FUNC1)
154#define P_SSI_S_MOSI_F_SSI_S_MOSI RTS_FP_PINMUX(SSI_S_MOSI, FUNC2)
155#define P_SSI_S_MOSI_F_UART1_TX RTS_FP_PINMUX(SSI_S_MOSI, FUNC3)
156#define P_SSI_S_MOSI_F_JTAG_TRST RTS_FP_PINMUX(SSI_S_MOSI, FUNC4)
157
158#define P_SSI_S_CS_F_GPIO RTS_FP_PINMUX(SSI_S_CS, FUNC0)
159#define P_SSI_S_CS_F_PWM RTS_FP_PINMUX(SSI_S_CS, FUNC1)
160#define P_SSI_S_CS_F_SSI_S_CS RTS_FP_PINMUX(SSI_S_CS, FUNC2)
161#define P_SSI_S_CS_F_UART1_RTS RTS_FP_PINMUX(SSI_S_CS, FUNC3)
162#define P_SSI_S_CS_F_JTAG_TDO RTS_FP_PINMUX(SSI_S_CS, FUNC4)
163
164#define P_SSI_S_SCK_F_GPIO RTS_FP_PINMUX(SSI_S_SCK, FUNC0)
165#define P_SSI_S_SCK_F_PWM RTS_FP_PINMUX(SSI_S_SCK, FUNC1)
166#define P_SSI_S_SCK_F_SSI_S_CLK RTS_FP_PINMUX(SSI_S_SCK, FUNC2)
167#define P_SSI_S_SCK_F_UART1_CTS RTS_FP_PINMUX(SSI_S_SCK, FUNC3)
168
169#define P_GPIO14_F_GPIO RTS_FP_PINMUX(GPIO14, FUNC0)
170#define P_GPIO14_F_PWM RTS_FP_PINMUX(GPIO14, FUNC1)
171#define P_GPIO14_F_UART0_RX RTS_FP_PINMUX(GPIO14, FUNC2)
172
173#define P_GPIO15_F_GPIO RTS_FP_PINMUX(GPIO15, FUNC0)
174#define P_GPIO15_F_PWM RTS_FP_PINMUX(GPIO15, FUNC1)
175#define P_GPIO15_F_UART0_TX RTS_FP_PINMUX(GPIO15, FUNC2)
176
177#define P_AL0_F_GPIO RTS_FP_PINMUX(AL0, FUNC0)
178#define P_AL0_F_PWM RTS_FP_PINMUX(AL0, FUNC1)
179#define P_AL0_F_CS_BRIDGE RTS_FP_PINMUX(AL0, FUNC2)
180
181#define P_AL1_F_GPIO RTS_FP_PINMUX(AL1, FUNC0)
182#define P_AL1_F_PWM RTS_FP_PINMUX(AL1, FUNC1)
183
184#define P_AL2_F_GPIO RTS_FP_PINMUX(AL2, FUNC0)
185#define P_AL2_F_PWM RTS_FP_PINMUX(AL2, FUNC1)
186
187#define P_SNR_RST_F_SNR_RST RTS_FP_PINMUX(SNR_RST, FUNC0)
188
189#define P_SNR_CS_F_SNR_CS RTS_FP_PINMUX(SNR_CS, FUNC0)
190#define P_SNR_CS_F_GPIO RTS_FP_PINMUX(SNR_CS, FUNC1)
191
192#define P_SNR_GPIO_F_GPIO RTS_FP_PINMUX(SNR_GPIO, FUNC0)
193
194#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_RTS5817_PINCTRL_H_ */