File Index
Files and directories
Sign in
FILE

jh7110-pinfunc.h

File preview with syntax highlighting.

linux-6.19.14/arch/riscv/boot/dts/starfive/jh7110-pinfunc.h C
  1/* SPDX-License-Identifier: GPL-2.0 OR MIT */
  2/*
  3 * Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk>
  4 * Copyright (C) 2022 StarFive Technology Co., Ltd.
  5 */
  6
  7#ifndef __JH7110_PINFUNC_H__
  8#define __JH7110_PINFUNC_H__
  9
 10/*
 11 * mux bits:
 12 *  | 31 - 24 | 23 - 16 | 15 - 10 |  9 - 8   |  7 - 0  |
 13 *  |  din    |  dout   |  doen   | function | gpio nr |
 14 *
 15 * dout:     output signal
 16 * doen:     output enable signal
 17 * din:      optional input signal, 0xff = none
 18 * function: function selector
 19 * gpio nr:  gpio number, 0 - 63
 20 */
 21#define GPIOMUX(n, dout, doen, din) ( \
 22		(((din)  & 0xff) << 24) | \
 23		(((dout) & 0xff) << 16) | \
 24		(((doen) & 0x3f) << 10) | \
 25		((n) & 0x3f))
 26
 27#define PINMUX(n, func) ((1 << 10) | (((func) & 0x3) << 8) | ((n) & 0xff))
 28
 29/* sys_iomux dout */
 30#define GPOUT_LOW				0
 31#define GPOUT_HIGH				1
 32#define GPOUT_SYS_WAVE511_UART_TX		2
 33#define GPOUT_SYS_CAN0_STBY			3
 34#define GPOUT_SYS_CAN0_TST_NEXT_BIT		4
 35#define GPOUT_SYS_CAN0_TST_SAMPLE_POINT		5
 36#define GPOUT_SYS_CAN0_TXD			6
 37#define GPOUT_SYS_USB_DRIVE_VBUS		7
 38#define GPOUT_SYS_QSPI_CS1			8
 39#define GPOUT_SYS_SPDIF				9
 40#define GPOUT_SYS_HDMI_CEC_SDA			10
 41#define GPOUT_SYS_HDMI_DDC_SCL			11
 42#define GPOUT_SYS_HDMI_DDC_SDA			12
 43#define GPOUT_SYS_WATCHDOG			13
 44#define GPOUT_SYS_I2C0_CLK			14
 45#define GPOUT_SYS_I2C0_DATA			15
 46#define GPOUT_SYS_SDIO0_BACK_END_POWER		16
 47#define GPOUT_SYS_SDIO0_CARD_POWER_EN		17
 48#define GPOUT_SYS_SDIO0_CCMD_OD_PULLUP_EN	18
 49#define GPOUT_SYS_SDIO0_RST			19
 50#define GPOUT_SYS_UART0_TX			20
 51#define GPOUT_SYS_HIFI4_JTAG_TDO		21
 52#define GPOUT_SYS_JTAG_TDO			22
 53#define GPOUT_SYS_PDM_MCLK			23
 54#define GPOUT_SYS_PWM_CHANNEL0			24
 55#define GPOUT_SYS_PWM_CHANNEL1			25
 56#define GPOUT_SYS_PWM_CHANNEL2			26
 57#define GPOUT_SYS_PWM_CHANNEL3			27
 58#define GPOUT_SYS_PWMDAC_LEFT			28
 59#define GPOUT_SYS_PWMDAC_RIGHT			29
 60#define GPOUT_SYS_SPI0_CLK			30
 61#define GPOUT_SYS_SPI0_FSS			31
 62#define GPOUT_SYS_SPI0_TXD			32
 63#define GPOUT_SYS_GMAC_PHYCLK			33
 64#define GPOUT_SYS_I2SRX_BCLK			34
 65#define GPOUT_SYS_I2SRX_LRCK			35
 66#define GPOUT_SYS_I2STX0_BCLK			36
 67#define GPOUT_SYS_I2STX0_LRCK			37
 68#define GPOUT_SYS_MCLK				38
 69#define GPOUT_SYS_TDM_CLK			39
 70#define GPOUT_SYS_TDM_SYNC			40
 71#define GPOUT_SYS_TDM_TXD			41
 72#define GPOUT_SYS_TRACE_DATA0			42
 73#define GPOUT_SYS_TRACE_DATA1			43
 74#define GPOUT_SYS_TRACE_DATA2			44
 75#define GPOUT_SYS_TRACE_DATA3			45
 76#define GPOUT_SYS_TRACE_REF			46
 77#define GPOUT_SYS_CAN1_STBY			47
 78#define GPOUT_SYS_CAN1_TST_NEXT_BIT		48
 79#define GPOUT_SYS_CAN1_TST_SAMPLE_POINT		49
 80#define GPOUT_SYS_CAN1_TXD			50
 81#define GPOUT_SYS_I2C1_CLK			51
 82#define GPOUT_SYS_I2C1_DATA			52
 83#define GPOUT_SYS_SDIO1_BACK_END_POWER		53
 84#define GPOUT_SYS_SDIO1_CARD_POWER_EN		54
 85#define GPOUT_SYS_SDIO1_CLK			55
 86#define GPOUT_SYS_SDIO1_CMD_OD_PULLUP_EN	56
 87#define GPOUT_SYS_SDIO1_CMD			57
 88#define GPOUT_SYS_SDIO1_DATA0			58
 89#define GPOUT_SYS_SDIO1_DATA1			59
 90#define GPOUT_SYS_SDIO1_DATA2			60
 91#define GPOUT_SYS_SDIO1_DATA3			61
 92#define GPOUT_SYS_SDIO1_DATA4			62
 93#define GPOUT_SYS_SDIO1_DATA5			63
 94#define GPOUT_SYS_SDIO1_DATA6			64
 95#define GPOUT_SYS_SDIO1_DATA7			65
 96#define GPOUT_SYS_SDIO1_RST			66
 97#define GPOUT_SYS_UART1_RTS			67
 98#define GPOUT_SYS_UART1_TX			68
 99#define GPOUT_SYS_I2STX1_SDO0			69
100#define GPOUT_SYS_I2STX1_SDO1			70
101#define GPOUT_SYS_I2STX1_SDO2			71
102#define GPOUT_SYS_I2STX1_SDO3			72
103#define GPOUT_SYS_SPI1_CLK			73
104#define GPOUT_SYS_SPI1_FSS			74
105#define GPOUT_SYS_SPI1_TXD			75
106#define GPOUT_SYS_I2C2_CLK			76
107#define GPOUT_SYS_I2C2_DATA			77
108#define GPOUT_SYS_UART2_RTS			78
109#define GPOUT_SYS_UART2_TX			79
110#define GPOUT_SYS_SPI2_CLK			80
111#define GPOUT_SYS_SPI2_FSS			81
112#define GPOUT_SYS_SPI2_TXD			82
113#define GPOUT_SYS_I2C3_CLK			83
114#define GPOUT_SYS_I2C3_DATA			84
115#define GPOUT_SYS_UART3_TX			85
116#define GPOUT_SYS_SPI3_CLK			86
117#define GPOUT_SYS_SPI3_FSS			87
118#define GPOUT_SYS_SPI3_TXD			88
119#define GPOUT_SYS_I2C4_CLK			89
120#define GPOUT_SYS_I2C4_DATA			90
121#define GPOUT_SYS_UART4_RTS			91
122#define GPOUT_SYS_UART4_TX			92
123#define GPOUT_SYS_SPI4_CLK			93
124#define GPOUT_SYS_SPI4_FSS			94
125#define GPOUT_SYS_SPI4_TXD			95
126#define GPOUT_SYS_I2C5_CLK			96
127#define GPOUT_SYS_I2C5_DATA			97
128#define GPOUT_SYS_UART5_RTS			98
129#define GPOUT_SYS_UART5_TX			99
130#define GPOUT_SYS_SPI5_CLK			100
131#define GPOUT_SYS_SPI5_FSS			101
132#define GPOUT_SYS_SPI5_TXD			102
133#define GPOUT_SYS_I2C6_CLK			103
134#define GPOUT_SYS_I2C6_DATA			104
135#define GPOUT_SYS_SPI6_CLK			105
136#define GPOUT_SYS_SPI6_FSS			106
137#define GPOUT_SYS_SPI6_TXD			107
138
139/* aon_iomux dout */
140#define GPOUT_AON_CLK_32K_OUT			2
141#define GPOUT_AON_PTC0_PWM4			3
142#define GPOUT_AON_PTC0_PWM5			4
143#define GPOUT_AON_PTC0_PWM6			5
144#define GPOUT_AON_PTC0_PWM7			6
145#define GPOUT_AON_CLK_GCLK0			7
146#define GPOUT_AON_CLK_GCLK1			8
147#define GPOUT_AON_CLK_GCLK2			9
148
149/* sys_iomux doen */
150#define GPOEN_ENABLE				0
151#define GPOEN_DISABLE				1
152#define GPOEN_SYS_HDMI_CEC_SDA			2
153#define GPOEN_SYS_HDMI_DDC_SCL			3
154#define GPOEN_SYS_HDMI_DDC_SDA			4
155#define GPOEN_SYS_I2C0_CLK			5
156#define GPOEN_SYS_I2C0_DATA			6
157#define GPOEN_SYS_HIFI4_JTAG_TDO		7
158#define GPOEN_SYS_JTAG_TDO			8
159#define GPOEN_SYS_PWM0_CHANNEL0			9
160#define GPOEN_SYS_PWM0_CHANNEL1			10
161#define GPOEN_SYS_PWM0_CHANNEL2			11
162#define GPOEN_SYS_PWM0_CHANNEL3			12
163#define GPOEN_SYS_SPI0_NSSPCTL			13
164#define GPOEN_SYS_SPI0_NSSP			14
165#define GPOEN_SYS_TDM_SYNC			15
166#define GPOEN_SYS_TDM_TXD			16
167#define GPOEN_SYS_I2C1_CLK			17
168#define GPOEN_SYS_I2C1_DATA			18
169#define GPOEN_SYS_SDIO1_CMD			19
170#define GPOEN_SYS_SDIO1_DATA0			20
171#define GPOEN_SYS_SDIO1_DATA1			21
172#define GPOEN_SYS_SDIO1_DATA2			22
173#define GPOEN_SYS_SDIO1_DATA3			23
174#define GPOEN_SYS_SDIO1_DATA4			24
175#define GPOEN_SYS_SDIO1_DATA5			25
176#define GPOEN_SYS_SDIO1_DATA6			26
177#define GPOEN_SYS_SDIO1_DATA7			27
178#define GPOEN_SYS_SPI1_NSSPCTL			28
179#define GPOEN_SYS_SPI1_NSSP			29
180#define GPOEN_SYS_I2C2_CLK			30
181#define GPOEN_SYS_I2C2_DATA			31
182#define GPOEN_SYS_SPI2_NSSPCTL			32
183#define GPOEN_SYS_SPI2_NSSP			33
184#define GPOEN_SYS_I2C3_CLK			34
185#define GPOEN_SYS_I2C3_DATA			35
186#define GPOEN_SYS_SPI3_NSSPCTL			36
187#define GPOEN_SYS_SPI3_NSSP			37
188#define GPOEN_SYS_I2C4_CLK			38
189#define GPOEN_SYS_I2C4_DATA			39
190#define GPOEN_SYS_SPI4_NSSPCTL			40
191#define GPOEN_SYS_SPI4_NSSP			41
192#define GPOEN_SYS_I2C5_CLK			42
193#define GPOEN_SYS_I2C5_DATA			43
194#define GPOEN_SYS_SPI5_NSSPCTL			44
195#define GPOEN_SYS_SPI5_NSSP			45
196#define GPOEN_SYS_I2C6_CLK			46
197#define GPOEN_SYS_I2C6_DATA			47
198#define GPOEN_SYS_SPI6_NSSPCTL			48
199#define GPOEN_SYS_SPI6_NSSP			49
200
201/* aon_iomux doen */
202#define GPOEN_AON_PTC0_OE_N_4			2
203#define GPOEN_AON_PTC0_OE_N_5			3
204#define GPOEN_AON_PTC0_OE_N_6			4
205#define GPOEN_AON_PTC0_OE_N_7			5
206
207/* sys_iomux gin */
208#define GPI_NONE				255
209
210#define GPI_SYS_WAVE511_UART_RX			0
211#define GPI_SYS_CAN0_RXD			1
212#define GPI_SYS_USB_OVERCURRENT			2
213#define GPI_SYS_SPDIF				3
214#define GPI_SYS_JTAG_RST			4
215#define GPI_SYS_HDMI_CEC_SDA			5
216#define GPI_SYS_HDMI_DDC_SCL			6
217#define GPI_SYS_HDMI_DDC_SDA			7
218#define GPI_SYS_HDMI_HPD			8
219#define GPI_SYS_I2C0_CLK			9
220#define GPI_SYS_I2C0_DATA			10
221#define GPI_SYS_SDIO0_CD			11
222#define GPI_SYS_SDIO0_INT			12
223#define GPI_SYS_SDIO0_WP			13
224#define GPI_SYS_UART0_RX			14
225#define GPI_SYS_HIFI4_JTAG_TCK			15
226#define GPI_SYS_HIFI4_JTAG_TDI			16
227#define GPI_SYS_HIFI4_JTAG_TMS			17
228#define GPI_SYS_HIFI4_JTAG_RST			18
229#define GPI_SYS_JTAG_TDI			19
230#define GPI_SYS_JTAG_TMS			20
231#define GPI_SYS_PDM_DMIC0			21
232#define GPI_SYS_PDM_DMIC1			22
233#define GPI_SYS_I2SRX_SDIN0			23
234#define GPI_SYS_I2SRX_SDIN1			24
235#define GPI_SYS_I2SRX_SDIN2			25
236#define GPI_SYS_SPI0_CLK			26
237#define GPI_SYS_SPI0_FSS			27
238#define GPI_SYS_SPI0_RXD			28
239#define GPI_SYS_JTAG_TCK			29
240#define GPI_SYS_MCLK_EXT			30
241#define GPI_SYS_I2SRX_BCLK			31
242#define GPI_SYS_I2SRX_LRCK			32
243#define GPI_SYS_I2STX1_BCLK			33
244#define GPI_SYS_I2STX1_LRCK			34
245#define GPI_SYS_TDM_CLK				35
246#define GPI_SYS_TDM_RXD				36
247#define GPI_SYS_TDM_SYNC			37
248#define GPI_SYS_CAN1_RXD			38
249#define GPI_SYS_I2C1_CLK			39
250#define GPI_SYS_I2C1_DATA			40
251#define GPI_SYS_SDIO1_CD			41
252#define GPI_SYS_SDIO1_INT			42
253#define GPI_SYS_SDIO1_WP			43
254#define GPI_SYS_SDIO1_CMD			44
255#define GPI_SYS_SDIO1_DATA0			45
256#define GPI_SYS_SDIO1_DATA1			46
257#define GPI_SYS_SDIO1_DATA2			47
258#define GPI_SYS_SDIO1_DATA3			48
259#define GPI_SYS_SDIO1_DATA4			49
260#define GPI_SYS_SDIO1_DATA5			50
261#define GPI_SYS_SDIO1_DATA6			51
262#define GPI_SYS_SDIO1_DATA7			52
263#define GPI_SYS_SDIO1_STRB			53
264#define GPI_SYS_UART1_CTS			54
265#define GPI_SYS_UART1_RX			55
266#define GPI_SYS_SPI1_CLK			56
267#define GPI_SYS_SPI1_FSS			57
268#define GPI_SYS_SPI1_RXD			58
269#define GPI_SYS_I2C2_CLK			59
270#define GPI_SYS_I2C2_DATA			60
271#define GPI_SYS_UART2_CTS			61
272#define GPI_SYS_UART2_RX			62
273#define GPI_SYS_SPI2_CLK			63
274#define GPI_SYS_SPI2_FSS			64
275#define GPI_SYS_SPI2_RXD			65
276#define GPI_SYS_I2C3_CLK			66
277#define GPI_SYS_I2C3_DATA			67
278#define GPI_SYS_UART3_RX			68
279#define GPI_SYS_SPI3_CLK			69
280#define GPI_SYS_SPI3_FSS			70
281#define GPI_SYS_SPI3_RXD			71
282#define GPI_SYS_I2C4_CLK			72
283#define GPI_SYS_I2C4_DATA			73
284#define GPI_SYS_UART4_CTS			74
285#define GPI_SYS_UART4_RX			75
286#define GPI_SYS_SPI4_CLK			76
287#define GPI_SYS_SPI4_FSS			77
288#define GPI_SYS_SPI4_RXD			78
289#define GPI_SYS_I2C5_CLK			79
290#define GPI_SYS_I2C5_DATA			80
291#define GPI_SYS_UART5_CTS			81
292#define GPI_SYS_UART5_RX			82
293#define GPI_SYS_SPI5_CLK			83
294#define GPI_SYS_SPI5_FSS			84
295#define GPI_SYS_SPI5_RXD			85
296#define GPI_SYS_I2C6_CLK			86
297#define GPI_SYS_I2C6_DATA			87
298#define GPI_SYS_SPI6_CLK			88
299#define GPI_SYS_SPI6_FSS			89
300#define GPI_SYS_SPI6_RXD			90
301
302/* aon_iomux gin */
303#define GPI_AON_PMU_GPIO_WAKEUP_0		0
304#define GPI_AON_PMU_GPIO_WAKEUP_1		1
305#define GPI_AON_PMU_GPIO_WAKEUP_2		2
306#define GPI_AON_PMU_GPIO_WAKEUP_3		3
307
308#endif
~/ Read-only file preview.