arch/riscv/boot/dts/starfive/jh7110-pinfunc.h

Source file repositories/reference/linux-study-clean/arch/riscv/boot/dts/starfive/jh7110-pinfunc.h

File Facts

System
Linux kernel
Corpus path
arch/riscv/boot/dts/starfive/jh7110-pinfunc.h
Extension
.h
Size
9645 bytes
Lines
309
Domain
Architecture Layer
Bucket
arch/riscv
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __JH7110_PINFUNC_H__
#define __JH7110_PINFUNC_H__

/*
 * mux bits:
 *  | 31 - 24 | 23 - 16 | 15 - 10 |  9 - 8   |  7 - 0  |
 *  |  din    |  dout   |  doen   | function | gpio nr |
 *
 * dout:     output signal
 * doen:     output enable signal
 * din:      optional input signal, 0xff = none
 * function: function selector
 * gpio nr:  gpio number, 0 - 63
 */
#define GPIOMUX(n, dout, doen, din) ( \
		(((din)  & 0xff) << 24) | \
		(((dout) & 0xff) << 16) | \
		(((doen) & 0x3f) << 10) | \
		((n) & 0x3f))

#define PINMUX(n, func) ((1 << 10) | (((func) & 0x3) << 8) | ((n) & 0xff))

/* sys_iomux dout */
#define GPOUT_LOW				0
#define GPOUT_HIGH				1
#define GPOUT_SYS_WAVE511_UART_TX		2
#define GPOUT_SYS_CAN0_STBY			3
#define GPOUT_SYS_CAN0_TST_NEXT_BIT		4
#define GPOUT_SYS_CAN0_TST_SAMPLE_POINT		5
#define GPOUT_SYS_CAN0_TXD			6
#define GPOUT_SYS_USB_DRIVE_VBUS		7
#define GPOUT_SYS_QSPI_CS1			8
#define GPOUT_SYS_SPDIF				9
#define GPOUT_SYS_HDMI_CEC_SDA			10
#define GPOUT_SYS_HDMI_DDC_SCL			11
#define GPOUT_SYS_HDMI_DDC_SDA			12
#define GPOUT_SYS_WATCHDOG			13
#define GPOUT_SYS_I2C0_CLK			14
#define GPOUT_SYS_I2C0_DATA			15
#define GPOUT_SYS_SDIO0_BACK_END_POWER		16
#define GPOUT_SYS_SDIO0_CARD_POWER_EN		17
#define GPOUT_SYS_SDIO0_CCMD_OD_PULLUP_EN	18
#define GPOUT_SYS_SDIO0_RST			19
#define GPOUT_SYS_UART0_TX			20
#define GPOUT_SYS_HIFI4_JTAG_TDO		21
#define GPOUT_SYS_JTAG_TDO			22
#define GPOUT_SYS_PDM_MCLK			23
#define GPOUT_SYS_PWM_CHANNEL0			24
#define GPOUT_SYS_PWM_CHANNEL1			25
#define GPOUT_SYS_PWM_CHANNEL2			26
#define GPOUT_SYS_PWM_CHANNEL3			27
#define GPOUT_SYS_PWMDAC_LEFT			28
#define GPOUT_SYS_PWMDAC_RIGHT			29
#define GPOUT_SYS_SPI0_CLK			30
#define GPOUT_SYS_SPI0_FSS			31
#define GPOUT_SYS_SPI0_TXD			32
#define GPOUT_SYS_GMAC_PHYCLK			33
#define GPOUT_SYS_I2SRX_BCLK			34
#define GPOUT_SYS_I2SRX_LRCK			35
#define GPOUT_SYS_I2STX0_BCLK			36
#define GPOUT_SYS_I2STX0_LRCK			37
#define GPOUT_SYS_MCLK				38
#define GPOUT_SYS_TDM_CLK			39
#define GPOUT_SYS_TDM_SYNC			40
#define GPOUT_SYS_TDM_TXD			41
#define GPOUT_SYS_TRACE_DATA0			42
#define GPOUT_SYS_TRACE_DATA1			43
#define GPOUT_SYS_TRACE_DATA2			44
#define GPOUT_SYS_TRACE_DATA3			45
#define GPOUT_SYS_TRACE_REF			46
#define GPOUT_SYS_CAN1_STBY			47
#define GPOUT_SYS_CAN1_TST_NEXT_BIT		48
#define GPOUT_SYS_CAN1_TST_SAMPLE_POINT		49
#define GPOUT_SYS_CAN1_TXD			50
#define GPOUT_SYS_I2C1_CLK			51
#define GPOUT_SYS_I2C1_DATA			52
#define GPOUT_SYS_SDIO1_BACK_END_POWER		53
#define GPOUT_SYS_SDIO1_CARD_POWER_EN		54
#define GPOUT_SYS_SDIO1_CLK			55
#define GPOUT_SYS_SDIO1_CMD_OD_PULLUP_EN	56
#define GPOUT_SYS_SDIO1_CMD			57
#define GPOUT_SYS_SDIO1_DATA0			58
#define GPOUT_SYS_SDIO1_DATA1			59
#define GPOUT_SYS_SDIO1_DATA2			60
#define GPOUT_SYS_SDIO1_DATA3			61
#define GPOUT_SYS_SDIO1_DATA4			62
#define GPOUT_SYS_SDIO1_DATA5			63
#define GPOUT_SYS_SDIO1_DATA6			64
#define GPOUT_SYS_SDIO1_DATA7			65
#define GPOUT_SYS_SDIO1_RST			66

Annotation

Implementation Notes