include/dt-bindings/pinctrl/pinctrl-starfive-jh7100.h

Source file repositories/reference/linux-study-clean/include/dt-bindings/pinctrl/pinctrl-starfive-jh7100.h

File Facts

System
Linux kernel
Corpus path
include/dt-bindings/pinctrl/pinctrl-starfive-jh7100.h
Extension
.h
Size
10467 bytes
Lines
276
Domain
Repository Root And Misc
Bucket
include
Inferred role
Repository Root And Misc: implementation source
Status
source implementation candidate

Why This File Exists

Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __DT_BINDINGS_PINCTRL_STARFIVE_JH7100_H__
#define __DT_BINDINGS_PINCTRL_STARFIVE_JH7100_H__

#define PAD_GPIO_OFFSET		0
#define PAD_FUNC_SHARE_OFFSET	64
#define PAD_GPIO(x)		(PAD_GPIO_OFFSET + (x))
#define PAD_FUNC_SHARE(x)	(PAD_FUNC_SHARE_OFFSET + (x))

/*
 * GPIOMUX bits:
 *  | 31 - 24 | 23 - 16 | 15 - 8 |     7    |     6    |  5 - 0  |
 *  |  dout   |  doen   |  din   | dout rev | doen rev | gpio nr |
 *
 * dout:     output signal
 * doen:     output enable signal
 * din:      optional input signal, 0xff = none
 * dout rev: output signal reverse bit
 * doen rev: output enable signal reverse bit
 * gpio nr:  gpio number, 0 - 63
 */
#define GPIOMUX(n, dout, doen, din) ( \
		(((dout) & 0x80000000) >> (31 - 7)) | (((dout) & 0xff) << 24) | \
		(((doen) & 0x80000000) >> (31 - 6)) | (((doen) & 0xff) << 16) | \
		(((din) & 0xff) << 8) | \
		((n) & 0x3f))

#define GPO_REVERSE				0x80000000

#define GPO_LOW					0
#define GPO_HIGH				1
#define GPO_ENABLE				0
#define GPO_DISABLE				1
#define GPO_CLK_GMAC_PAPHYREF			2
#define GPO_JTAG_TDO				3
#define GPO_JTAG_TDO_OEN			4
#define GPO_DMIC_CLK_OUT			5
#define GPO_DSP_JTDOEN_PAD			6
#define GPO_DSP_JTDO_PAD			7
#define GPO_I2C0_PAD_SCK_OE			8
#define GPO_I2C0_PAD_SCK_OEN			(GPO_I2C0_PAD_SCK_OE | GPO_REVERSE)
#define GPO_I2C0_PAD_SDA_OE			9
#define GPO_I2C0_PAD_SDA_OEN			(GPO_I2C0_PAD_SDA_OE | GPO_REVERSE)
#define GPO_I2C1_PAD_SCK_OE			10
#define GPO_I2C1_PAD_SCK_OEN			(GPO_I2C1_PAD_SCK_OE | GPO_REVERSE)
#define GPO_I2C1_PAD_SDA_OE			11
#define GPO_I2C1_PAD_SDA_OEN			(GPO_I2C1_PAD_SDA_OE | GPO_REVERSE)
#define GPO_I2C2_PAD_SCK_OE			12
#define GPO_I2C2_PAD_SCK_OEN			(GPO_I2C2_PAD_SCK_OE | GPO_REVERSE)
#define GPO_I2C2_PAD_SDA_OE			13
#define GPO_I2C2_PAD_SDA_OEN			(GPO_I2C2_PAD_SDA_OE | GPO_REVERSE)
#define GPO_I2C3_PAD_SCK_OE			14
#define GPO_I2C3_PAD_SCK_OEN			(GPO_I2C3_PAD_SCK_OE | GPO_REVERSE)
#define GPO_I2C3_PAD_SDA_OE			15
#define GPO_I2C3_PAD_SDA_OEN			(GPO_I2C3_PAD_SDA_OE | GPO_REVERSE)
#define GPO_I2SRX_BCLK_OUT			16
#define GPO_I2SRX_BCLK_OUT_OEN			17
#define GPO_I2SRX_LRCK_OUT			18
#define GPO_I2SRX_LRCK_OUT_OEN			19
#define GPO_I2SRX_MCLK_OUT			20
#define GPO_I2STX_BCLK_OUT			21
#define GPO_I2STX_BCLK_OUT_OEN			22
#define GPO_I2STX_LRCK_OUT			23
#define GPO_I2STX_LRCK_OUT_OEN			24
#define GPO_I2STX_MCLK_OUT			25
#define GPO_I2STX_SDOUT0			26
#define GPO_I2STX_SDOUT1			27
#define GPO_LCD_PAD_CSM_N			28
#define GPO_PWM_PAD_OE_N_BIT0			29
#define GPO_PWM_PAD_OE_N_BIT1			30
#define GPO_PWM_PAD_OE_N_BIT2			31
#define GPO_PWM_PAD_OE_N_BIT3			32
#define GPO_PWM_PAD_OE_N_BIT4			33
#define GPO_PWM_PAD_OE_N_BIT5			34
#define GPO_PWM_PAD_OE_N_BIT6			35
#define GPO_PWM_PAD_OE_N_BIT7			36
#define GPO_PWM_PAD_OUT_BIT0			37
#define GPO_PWM_PAD_OUT_BIT1			38
#define GPO_PWM_PAD_OUT_BIT2			39
#define GPO_PWM_PAD_OUT_BIT3			40
#define GPO_PWM_PAD_OUT_BIT4			41
#define GPO_PWM_PAD_OUT_BIT5			42
#define GPO_PWM_PAD_OUT_BIT6			43
#define GPO_PWM_PAD_OUT_BIT7			44
#define GPO_PWMDAC_LEFT_OUT			45
#define GPO_PWMDAC_RIGHT_OUT			46
#define GPO_QSPI_CSN1_OUT			47
#define GPO_QSPI_CSN2_OUT			48
#define GPO_QSPI_CSN3_OUT			49
#define GPO_REGISTER23_SCFG_CMSENSOR_RST0	50
#define GPO_REGISTER23_SCFG_CMSENSOR_RST1	51

Annotation

Implementation Notes