mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 17:12:06 +00:00
dt-bindings: pinctrl: Add StarFive pinctrl definitions
Add definitons for pins and GPIO input, output and output enable signals on the StarFive JH7100 SoC. Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
This commit is contained in:
parent
0be3a1595b
commit
3021114b3d
275
include/dt-bindings/pinctrl/pinctrl-starfive.h
Normal file
275
include/dt-bindings/pinctrl/pinctrl-starfive.h
Normal file
@ -0,0 +1,275 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 OR MIT */
|
||||
/*
|
||||
* Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk>
|
||||
*/
|
||||
|
||||
#ifndef __DT_BINDINGS_PINCTRL_STARFIVE_H__
|
||||
#define __DT_BINDINGS_PINCTRL_STARFIVE_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
|
||||
#define GPO_REGISTER32_SCFG_GMAC_PHY_RSTN 52
|
||||
#define GPO_SDIO0_PAD_CARD_POWER_EN 53
|
||||
#define GPO_SDIO0_PAD_CCLK_OUT 54
|
||||
#define GPO_SDIO0_PAD_CCMD_OE 55
|
||||
#define GPO_SDIO0_PAD_CCMD_OEN (GPO_SDIO0_PAD_CCMD_OE | GPO_REVERSE)
|
||||
#define GPO_SDIO0_PAD_CCMD_OUT 56
|
||||
#define GPO_SDIO0_PAD_CDATA_OE_BIT0 57
|
||||
#define GPO_SDIO0_PAD_CDATA_OEN_BIT0 (GPO_SDIO0_PAD_CDATA_OE_BIT0 | GPO_REVERSE)
|
||||
#define GPO_SDIO0_PAD_CDATA_OE_BIT1 58
|
||||
#define GPO_SDIO0_PAD_CDATA_OEN_BIT1 (GPO_SDIO0_PAD_CDATA_OE_BIT1 | GPO_REVERSE)
|
||||
#define GPO_SDIO0_PAD_CDATA_OE_BIT2 59
|
||||
#define GPO_SDIO0_PAD_CDATA_OEN_BIT2 (GPO_SDIO0_PAD_CDATA_OE_BIT2 | GPO_REVERSE)
|
||||
#define GPO_SDIO0_PAD_CDATA_OE_BIT3 60
|
||||
#define GPO_SDIO0_PAD_CDATA_OEN_BIT3 (GPO_SDIO0_PAD_CDATA_OE_BIT3 | GPO_REVERSE)
|
||||
#define GPO_SDIO0_PAD_CDATA_OE_BIT4 61
|
||||
#define GPO_SDIO0_PAD_CDATA_OEN_BIT4 (GPO_SDIO0_PAD_CDATA_OE_BIT4 | GPO_REVERSE)
|
||||
#define GPO_SDIO0_PAD_CDATA_OE_BIT5 62
|
||||
#define GPO_SDIO0_PAD_CDATA_OEN_BIT5 (GPO_SDIO0_PAD_CDATA_OE_BIT5 | GPO_REVERSE)
|
||||
#define GPO_SDIO0_PAD_CDATA_OE_BIT6 63
|
||||
#define GPO_SDIO0_PAD_CDATA_OEN_BIT6 (GPO_SDIO0_PAD_CDATA_OE_BIT6 | GPO_REVERSE)
|
||||
#define GPO_SDIO0_PAD_CDATA_OE_BIT7 64
|
||||
#define GPO_SDIO0_PAD_CDATA_OEN_BIT7 (GPO_SDIO0_PAD_CDATA_OE_BIT7 | GPO_REVERSE)
|
||||
#define GPO_SDIO0_PAD_CDATA_OUT_BIT0 65
|
||||
#define GPO_SDIO0_PAD_CDATA_OUT_BIT1 66
|
||||
#define GPO_SDIO0_PAD_CDATA_OUT_BIT2 67
|
||||
#define GPO_SDIO0_PAD_CDATA_OUT_BIT3 68
|
||||
#define GPO_SDIO0_PAD_CDATA_OUT_BIT4 69
|
||||
#define GPO_SDIO0_PAD_CDATA_OUT_BIT5 70
|
||||
#define GPO_SDIO0_PAD_CDATA_OUT_BIT6 71
|
||||
#define GPO_SDIO0_PAD_CDATA_OUT_BIT7 72
|
||||
#define GPO_SDIO0_PAD_RST_N 73
|
||||
#define GPO_SDIO1_PAD_CARD_POWER_EN 74
|
||||
#define GPO_SDIO1_PAD_CCLK_OUT 75
|
||||
#define GPO_SDIO1_PAD_CCMD_OE 76
|
||||
#define GPO_SDIO1_PAD_CCMD_OEN (GPO_SDIO1_PAD_CCMD_OE | GPO_REVERSE)
|
||||
#define GPO_SDIO1_PAD_CCMD_OUT 77
|
||||
#define GPO_SDIO1_PAD_CDATA_OE_BIT0 78
|
||||
#define GPO_SDIO1_PAD_CDATA_OEN_BIT0 (GPO_SDIO1_PAD_CDATA_OE_BIT0 | GPO_REVERSE)
|
||||
#define GPO_SDIO1_PAD_CDATA_OE_BIT1 79
|
||||
#define GPO_SDIO1_PAD_CDATA_OEN_BIT1 (GPO_SDIO1_PAD_CDATA_OE_BIT1 | GPO_REVERSE)
|
||||
#define GPO_SDIO1_PAD_CDATA_OE_BIT2 80
|
||||
#define GPO_SDIO1_PAD_CDATA_OEN_BIT2 (GPO_SDIO1_PAD_CDATA_OE_BIT2 | GPO_REVERSE)
|
||||
#define GPO_SDIO1_PAD_CDATA_OE_BIT3 81
|
||||
#define GPO_SDIO1_PAD_CDATA_OEN_BIT3 (GPO_SDIO1_PAD_CDATA_OE_BIT3 | GPO_REVERSE)
|
||||
#define GPO_SDIO1_PAD_CDATA_OE_BIT4 82
|
||||
#define GPO_SDIO1_PAD_CDATA_OEN_BIT4 (GPO_SDIO1_PAD_CDATA_OE_BIT4 | GPO_REVERSE)
|
||||
#define GPO_SDIO1_PAD_CDATA_OE_BIT5 83
|
||||
#define GPO_SDIO1_PAD_CDATA_OEN_BIT5 (GPO_SDIO1_PAD_CDATA_OE_BIT5 | GPO_REVERSE)
|
||||
#define GPO_SDIO1_PAD_CDATA_OE_BIT6 84
|
||||
#define GPO_SDIO1_PAD_CDATA_OEN_BIT6 (GPO_SDIO1_PAD_CDATA_OE_BIT6 | GPO_REVERSE)
|
||||
#define GPO_SDIO1_PAD_CDATA_OE_BIT7 85
|
||||
#define GPO_SDIO1_PAD_CDATA_OEN_BIT7 (GPO_SDIO1_PAD_CDATA_OE_BIT7 | GPO_REVERSE)
|
||||
#define GPO_SDIO1_PAD_CDATA_OUT_BIT0 86
|
||||
#define GPO_SDIO1_PAD_CDATA_OUT_BIT1 87
|
||||
#define GPO_SDIO1_PAD_CDATA_OUT_BIT2 88
|
||||
#define GPO_SDIO1_PAD_CDATA_OUT_BIT3 89
|
||||
#define GPO_SDIO1_PAD_CDATA_OUT_BIT4 90
|
||||
#define GPO_SDIO1_PAD_CDATA_OUT_BIT5 91
|
||||
#define GPO_SDIO1_PAD_CDATA_OUT_BIT6 92
|
||||
#define GPO_SDIO1_PAD_CDATA_OUT_BIT7 93
|
||||
#define GPO_SDIO1_PAD_RST_N 94
|
||||
#define GPO_SPDIF_TX_SDOUT 95
|
||||
#define GPO_SPDIF_TX_SDOUT_OEN 96
|
||||
#define GPO_SPI0_PAD_OE_N 97
|
||||
#define GPO_SPI0_PAD_SCK_OUT 98
|
||||
#define GPO_SPI0_PAD_SS_0_N 99
|
||||
#define GPO_SPI0_PAD_SS_1_N 100
|
||||
#define GPO_SPI0_PAD_TXD 101
|
||||
#define GPO_SPI1_PAD_OE_N 102
|
||||
#define GPO_SPI1_PAD_SCK_OUT 103
|
||||
#define GPO_SPI1_PAD_SS_0_N 104
|
||||
#define GPO_SPI1_PAD_SS_1_N 105
|
||||
#define GPO_SPI1_PAD_TXD 106
|
||||
#define GPO_SPI2_PAD_OE_N 107
|
||||
#define GPO_SPI2_PAD_SCK_OUT 108
|
||||
#define GPO_SPI2_PAD_SS_0_N 109
|
||||
#define GPO_SPI2_PAD_SS_1_N 110
|
||||
#define GPO_SPI2_PAD_TXD 111
|
||||
#define GPO_SPI2AHB_PAD_OE_N_BIT0 112
|
||||
#define GPO_SPI2AHB_PAD_OE_N_BIT1 113
|
||||
#define GPO_SPI2AHB_PAD_OE_N_BIT2 114
|
||||
#define GPO_SPI2AHB_PAD_OE_N_BIT3 115
|
||||
#define GPO_SPI2AHB_PAD_TXD_BIT0 116
|
||||
#define GPO_SPI2AHB_PAD_TXD_BIT1 117
|
||||
#define GPO_SPI2AHB_PAD_TXD_BIT2 118
|
||||
#define GPO_SPI2AHB_PAD_TXD_BIT3 119
|
||||
#define GPO_SPI3_PAD_OE_N 120
|
||||
#define GPO_SPI3_PAD_SCK_OUT 121
|
||||
#define GPO_SPI3_PAD_SS_0_N 122
|
||||
#define GPO_SPI3_PAD_SS_1_N 123
|
||||
#define GPO_SPI3_PAD_TXD 124
|
||||
#define GPO_UART0_PAD_DTRN 125
|
||||
#define GPO_UART0_PAD_RTSN 126
|
||||
#define GPO_UART0_PAD_SOUT 127
|
||||
#define GPO_UART1_PAD_SOUT 128
|
||||
#define GPO_UART2_PAD_DTR_N 129
|
||||
#define GPO_UART2_PAD_RTS_N 130
|
||||
#define GPO_UART2_PAD_SOUT 131
|
||||
#define GPO_UART3_PAD_SOUT 132
|
||||
#define GPO_USB_DRV_BUS 133
|
||||
|
||||
#define GPI_CPU_JTAG_TCK 0
|
||||
#define GPI_CPU_JTAG_TDI 1
|
||||
#define GPI_CPU_JTAG_TMS 2
|
||||
#define GPI_CPU_JTAG_TRST 3
|
||||
#define GPI_DMIC_SDIN_BIT0 4
|
||||
#define GPI_DMIC_SDIN_BIT1 5
|
||||
#define GPI_DSP_JTCK_PAD 6
|
||||
#define GPI_DSP_JTDI_PAD 7
|
||||
#define GPI_DSP_JTMS_PAD 8
|
||||
#define GPI_DSP_TRST_PAD 9
|
||||
#define GPI_I2C0_PAD_SCK_IN 10
|
||||
#define GPI_I2C0_PAD_SDA_IN 11
|
||||
#define GPI_I2C1_PAD_SCK_IN 12
|
||||
#define GPI_I2C1_PAD_SDA_IN 13
|
||||
#define GPI_I2C2_PAD_SCK_IN 14
|
||||
#define GPI_I2C2_PAD_SDA_IN 15
|
||||
#define GPI_I2C3_PAD_SCK_IN 16
|
||||
#define GPI_I2C3_PAD_SDA_IN 17
|
||||
#define GPI_I2SRX_BCLK_IN 18
|
||||
#define GPI_I2SRX_LRCK_IN 19
|
||||
#define GPI_I2SRX_SDIN_BIT0 20
|
||||
#define GPI_I2SRX_SDIN_BIT1 21
|
||||
#define GPI_I2SRX_SDIN_BIT2 22
|
||||
#define GPI_I2STX_BCLK_IN 23
|
||||
#define GPI_I2STX_LRCK_IN 24
|
||||
#define GPI_SDIO0_PAD_CARD_DETECT_N 25
|
||||
#define GPI_SDIO0_PAD_CARD_WRITE_PRT 26
|
||||
#define GPI_SDIO0_PAD_CCMD_IN 27
|
||||
#define GPI_SDIO0_PAD_CDATA_IN_BIT0 28
|
||||
#define GPI_SDIO0_PAD_CDATA_IN_BIT1 29
|
||||
#define GPI_SDIO0_PAD_CDATA_IN_BIT2 30
|
||||
#define GPI_SDIO0_PAD_CDATA_IN_BIT3 31
|
||||
#define GPI_SDIO0_PAD_CDATA_IN_BIT4 32
|
||||
#define GPI_SDIO0_PAD_CDATA_IN_BIT5 33
|
||||
#define GPI_SDIO0_PAD_CDATA_IN_BIT6 34
|
||||
#define GPI_SDIO0_PAD_CDATA_IN_BIT7 35
|
||||
#define GPI_SDIO1_PAD_CARD_DETECT_N 36
|
||||
#define GPI_SDIO1_PAD_CARD_WRITE_PRT 37
|
||||
#define GPI_SDIO1_PAD_CCMD_IN 38
|
||||
#define GPI_SDIO1_PAD_CDATA_IN_BIT0 39
|
||||
#define GPI_SDIO1_PAD_CDATA_IN_BIT1 40
|
||||
#define GPI_SDIO1_PAD_CDATA_IN_BIT2 41
|
||||
#define GPI_SDIO1_PAD_CDATA_IN_BIT3 42
|
||||
#define GPI_SDIO1_PAD_CDATA_IN_BIT4 43
|
||||
#define GPI_SDIO1_PAD_CDATA_IN_BIT5 44
|
||||
#define GPI_SDIO1_PAD_CDATA_IN_BIT6 45
|
||||
#define GPI_SDIO1_PAD_CDATA_IN_BIT7 46
|
||||
#define GPI_SPDIF_RX_SDIN 47
|
||||
#define GPI_SPI0_PAD_RXD 48
|
||||
#define GPI_SPI0_PAD_SS_IN_N 49
|
||||
#define GPI_SPI1_PAD_RXD 50
|
||||
#define GPI_SPI1_PAD_SS_IN_N 51
|
||||
#define GPI_SPI2_PAD_RXD 52
|
||||
#define GPI_SPI2_PAD_SS_IN_N 53
|
||||
#define GPI_SPI2AHB_PAD_RXD_BIT0 54
|
||||
#define GPI_SPI2AHB_PAD_RXD_BIT1 55
|
||||
#define GPI_SPI2AHB_PAD_RXD_BIT2 56
|
||||
#define GPI_SPI2AHB_PAD_RXD_BIT3 57
|
||||
#define GPI_SPI2AHB_PAD_SS_N 58
|
||||
#define GPI_SPI2AHB_SLV_SCLKIN 59
|
||||
#define GPI_SPI3_PAD_RXD 60
|
||||
#define GPI_SPI3_PAD_SS_IN_N 61
|
||||
#define GPI_UART0_PAD_CTSN 62
|
||||
#define GPI_UART0_PAD_DCDN 63
|
||||
#define GPI_UART0_PAD_DSRN 64
|
||||
#define GPI_UART0_PAD_RIN 65
|
||||
#define GPI_UART0_PAD_SIN 66
|
||||
#define GPI_UART1_PAD_SIN 67
|
||||
#define GPI_UART2_PAD_CTS_N 68
|
||||
#define GPI_UART2_PAD_DCD_N 69
|
||||
#define GPI_UART2_PAD_DSR_N 70
|
||||
#define GPI_UART2_PAD_RI_N 71
|
||||
#define GPI_UART2_PAD_SIN 72
|
||||
#define GPI_UART3_PAD_SIN 73
|
||||
#define GPI_USB_OVER_CURRENT 74
|
||||
|
||||
#define GPI_NONE 0xff
|
||||
|
||||
#endif /* __DT_BINDINGS_PINCTRL_STARFIVE_H__ */
|
Loading…
Reference in New Issue
Block a user