0001
0002
0003
0004
0005
0006 #ifndef __DT_BINDINGS_PINCTRL_STARFIVE_H__
0007 #define __DT_BINDINGS_PINCTRL_STARFIVE_H__
0008
0009 #define PAD_GPIO_OFFSET 0
0010 #define PAD_FUNC_SHARE_OFFSET 64
0011 #define PAD_GPIO(x) (PAD_GPIO_OFFSET + (x))
0012 #define PAD_FUNC_SHARE(x) (PAD_FUNC_SHARE_OFFSET + (x))
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #define GPIOMUX(n, dout, doen, din) ( \
0027 (((dout) & 0x80000000) >> (31 - 7)) | (((dout) & 0xff) << 24) | \
0028 (((doen) & 0x80000000) >> (31 - 6)) | (((doen) & 0xff) << 16) | \
0029 (((din) & 0xff) << 8) | \
0030 ((n) & 0x3f))
0031
0032 #define GPO_REVERSE 0x80000000
0033
0034 #define GPO_LOW 0
0035 #define GPO_HIGH 1
0036 #define GPO_ENABLE 0
0037 #define GPO_DISABLE 1
0038 #define GPO_CLK_GMAC_PAPHYREF 2
0039 #define GPO_JTAG_TDO 3
0040 #define GPO_JTAG_TDO_OEN 4
0041 #define GPO_DMIC_CLK_OUT 5
0042 #define GPO_DSP_JTDOEN_PAD 6
0043 #define GPO_DSP_JTDO_PAD 7
0044 #define GPO_I2C0_PAD_SCK_OE 8
0045 #define GPO_I2C0_PAD_SCK_OEN (GPO_I2C0_PAD_SCK_OE | GPO_REVERSE)
0046 #define GPO_I2C0_PAD_SDA_OE 9
0047 #define GPO_I2C0_PAD_SDA_OEN (GPO_I2C0_PAD_SDA_OE | GPO_REVERSE)
0048 #define GPO_I2C1_PAD_SCK_OE 10
0049 #define GPO_I2C1_PAD_SCK_OEN (GPO_I2C1_PAD_SCK_OE | GPO_REVERSE)
0050 #define GPO_I2C1_PAD_SDA_OE 11
0051 #define GPO_I2C1_PAD_SDA_OEN (GPO_I2C1_PAD_SDA_OE | GPO_REVERSE)
0052 #define GPO_I2C2_PAD_SCK_OE 12
0053 #define GPO_I2C2_PAD_SCK_OEN (GPO_I2C2_PAD_SCK_OE | GPO_REVERSE)
0054 #define GPO_I2C2_PAD_SDA_OE 13
0055 #define GPO_I2C2_PAD_SDA_OEN (GPO_I2C2_PAD_SDA_OE | GPO_REVERSE)
0056 #define GPO_I2C3_PAD_SCK_OE 14
0057 #define GPO_I2C3_PAD_SCK_OEN (GPO_I2C3_PAD_SCK_OE | GPO_REVERSE)
0058 #define GPO_I2C3_PAD_SDA_OE 15
0059 #define GPO_I2C3_PAD_SDA_OEN (GPO_I2C3_PAD_SDA_OE | GPO_REVERSE)
0060 #define GPO_I2SRX_BCLK_OUT 16
0061 #define GPO_I2SRX_BCLK_OUT_OEN 17
0062 #define GPO_I2SRX_LRCK_OUT 18
0063 #define GPO_I2SRX_LRCK_OUT_OEN 19
0064 #define GPO_I2SRX_MCLK_OUT 20
0065 #define GPO_I2STX_BCLK_OUT 21
0066 #define GPO_I2STX_BCLK_OUT_OEN 22
0067 #define GPO_I2STX_LRCK_OUT 23
0068 #define GPO_I2STX_LRCK_OUT_OEN 24
0069 #define GPO_I2STX_MCLK_OUT 25
0070 #define GPO_I2STX_SDOUT0 26
0071 #define GPO_I2STX_SDOUT1 27
0072 #define GPO_LCD_PAD_CSM_N 28
0073 #define GPO_PWM_PAD_OE_N_BIT0 29
0074 #define GPO_PWM_PAD_OE_N_BIT1 30
0075 #define GPO_PWM_PAD_OE_N_BIT2 31
0076 #define GPO_PWM_PAD_OE_N_BIT3 32
0077 #define GPO_PWM_PAD_OE_N_BIT4 33
0078 #define GPO_PWM_PAD_OE_N_BIT5 34
0079 #define GPO_PWM_PAD_OE_N_BIT6 35
0080 #define GPO_PWM_PAD_OE_N_BIT7 36
0081 #define GPO_PWM_PAD_OUT_BIT0 37
0082 #define GPO_PWM_PAD_OUT_BIT1 38
0083 #define GPO_PWM_PAD_OUT_BIT2 39
0084 #define GPO_PWM_PAD_OUT_BIT3 40
0085 #define GPO_PWM_PAD_OUT_BIT4 41
0086 #define GPO_PWM_PAD_OUT_BIT5 42
0087 #define GPO_PWM_PAD_OUT_BIT6 43
0088 #define GPO_PWM_PAD_OUT_BIT7 44
0089 #define GPO_PWMDAC_LEFT_OUT 45
0090 #define GPO_PWMDAC_RIGHT_OUT 46
0091 #define GPO_QSPI_CSN1_OUT 47
0092 #define GPO_QSPI_CSN2_OUT 48
0093 #define GPO_QSPI_CSN3_OUT 49
0094 #define GPO_REGISTER23_SCFG_CMSENSOR_RST0 50
0095 #define GPO_REGISTER23_SCFG_CMSENSOR_RST1 51
0096 #define GPO_REGISTER32_SCFG_GMAC_PHY_RSTN 52
0097 #define GPO_SDIO0_PAD_CARD_POWER_EN 53
0098 #define GPO_SDIO0_PAD_CCLK_OUT 54
0099 #define GPO_SDIO0_PAD_CCMD_OE 55
0100 #define GPO_SDIO0_PAD_CCMD_OEN (GPO_SDIO0_PAD_CCMD_OE | GPO_REVERSE)
0101 #define GPO_SDIO0_PAD_CCMD_OUT 56
0102 #define GPO_SDIO0_PAD_CDATA_OE_BIT0 57
0103 #define GPO_SDIO0_PAD_CDATA_OEN_BIT0 (GPO_SDIO0_PAD_CDATA_OE_BIT0 | GPO_REVERSE)
0104 #define GPO_SDIO0_PAD_CDATA_OE_BIT1 58
0105 #define GPO_SDIO0_PAD_CDATA_OEN_BIT1 (GPO_SDIO0_PAD_CDATA_OE_BIT1 | GPO_REVERSE)
0106 #define GPO_SDIO0_PAD_CDATA_OE_BIT2 59
0107 #define GPO_SDIO0_PAD_CDATA_OEN_BIT2 (GPO_SDIO0_PAD_CDATA_OE_BIT2 | GPO_REVERSE)
0108 #define GPO_SDIO0_PAD_CDATA_OE_BIT3 60
0109 #define GPO_SDIO0_PAD_CDATA_OEN_BIT3 (GPO_SDIO0_PAD_CDATA_OE_BIT3 | GPO_REVERSE)
0110 #define GPO_SDIO0_PAD_CDATA_OE_BIT4 61
0111 #define GPO_SDIO0_PAD_CDATA_OEN_BIT4 (GPO_SDIO0_PAD_CDATA_OE_BIT4 | GPO_REVERSE)
0112 #define GPO_SDIO0_PAD_CDATA_OE_BIT5 62
0113 #define GPO_SDIO0_PAD_CDATA_OEN_BIT5 (GPO_SDIO0_PAD_CDATA_OE_BIT5 | GPO_REVERSE)
0114 #define GPO_SDIO0_PAD_CDATA_OE_BIT6 63
0115 #define GPO_SDIO0_PAD_CDATA_OEN_BIT6 (GPO_SDIO0_PAD_CDATA_OE_BIT6 | GPO_REVERSE)
0116 #define GPO_SDIO0_PAD_CDATA_OE_BIT7 64
0117 #define GPO_SDIO0_PAD_CDATA_OEN_BIT7 (GPO_SDIO0_PAD_CDATA_OE_BIT7 | GPO_REVERSE)
0118 #define GPO_SDIO0_PAD_CDATA_OUT_BIT0 65
0119 #define GPO_SDIO0_PAD_CDATA_OUT_BIT1 66
0120 #define GPO_SDIO0_PAD_CDATA_OUT_BIT2 67
0121 #define GPO_SDIO0_PAD_CDATA_OUT_BIT3 68
0122 #define GPO_SDIO0_PAD_CDATA_OUT_BIT4 69
0123 #define GPO_SDIO0_PAD_CDATA_OUT_BIT5 70
0124 #define GPO_SDIO0_PAD_CDATA_OUT_BIT6 71
0125 #define GPO_SDIO0_PAD_CDATA_OUT_BIT7 72
0126 #define GPO_SDIO0_PAD_RST_N 73
0127 #define GPO_SDIO1_PAD_CARD_POWER_EN 74
0128 #define GPO_SDIO1_PAD_CCLK_OUT 75
0129 #define GPO_SDIO1_PAD_CCMD_OE 76
0130 #define GPO_SDIO1_PAD_CCMD_OEN (GPO_SDIO1_PAD_CCMD_OE | GPO_REVERSE)
0131 #define GPO_SDIO1_PAD_CCMD_OUT 77
0132 #define GPO_SDIO1_PAD_CDATA_OE_BIT0 78
0133 #define GPO_SDIO1_PAD_CDATA_OEN_BIT0 (GPO_SDIO1_PAD_CDATA_OE_BIT0 | GPO_REVERSE)
0134 #define GPO_SDIO1_PAD_CDATA_OE_BIT1 79
0135 #define GPO_SDIO1_PAD_CDATA_OEN_BIT1 (GPO_SDIO1_PAD_CDATA_OE_BIT1 | GPO_REVERSE)
0136 #define GPO_SDIO1_PAD_CDATA_OE_BIT2 80
0137 #define GPO_SDIO1_PAD_CDATA_OEN_BIT2 (GPO_SDIO1_PAD_CDATA_OE_BIT2 | GPO_REVERSE)
0138 #define GPO_SDIO1_PAD_CDATA_OE_BIT3 81
0139 #define GPO_SDIO1_PAD_CDATA_OEN_BIT3 (GPO_SDIO1_PAD_CDATA_OE_BIT3 | GPO_REVERSE)
0140 #define GPO_SDIO1_PAD_CDATA_OE_BIT4 82
0141 #define GPO_SDIO1_PAD_CDATA_OEN_BIT4 (GPO_SDIO1_PAD_CDATA_OE_BIT4 | GPO_REVERSE)
0142 #define GPO_SDIO1_PAD_CDATA_OE_BIT5 83
0143 #define GPO_SDIO1_PAD_CDATA_OEN_BIT5 (GPO_SDIO1_PAD_CDATA_OE_BIT5 | GPO_REVERSE)
0144 #define GPO_SDIO1_PAD_CDATA_OE_BIT6 84
0145 #define GPO_SDIO1_PAD_CDATA_OEN_BIT6 (GPO_SDIO1_PAD_CDATA_OE_BIT6 | GPO_REVERSE)
0146 #define GPO_SDIO1_PAD_CDATA_OE_BIT7 85
0147 #define GPO_SDIO1_PAD_CDATA_OEN_BIT7 (GPO_SDIO1_PAD_CDATA_OE_BIT7 | GPO_REVERSE)
0148 #define GPO_SDIO1_PAD_CDATA_OUT_BIT0 86
0149 #define GPO_SDIO1_PAD_CDATA_OUT_BIT1 87
0150 #define GPO_SDIO1_PAD_CDATA_OUT_BIT2 88
0151 #define GPO_SDIO1_PAD_CDATA_OUT_BIT3 89
0152 #define GPO_SDIO1_PAD_CDATA_OUT_BIT4 90
0153 #define GPO_SDIO1_PAD_CDATA_OUT_BIT5 91
0154 #define GPO_SDIO1_PAD_CDATA_OUT_BIT6 92
0155 #define GPO_SDIO1_PAD_CDATA_OUT_BIT7 93
0156 #define GPO_SDIO1_PAD_RST_N 94
0157 #define GPO_SPDIF_TX_SDOUT 95
0158 #define GPO_SPDIF_TX_SDOUT_OEN 96
0159 #define GPO_SPI0_PAD_OE_N 97
0160 #define GPO_SPI0_PAD_SCK_OUT 98
0161 #define GPO_SPI0_PAD_SS_0_N 99
0162 #define GPO_SPI0_PAD_SS_1_N 100
0163 #define GPO_SPI0_PAD_TXD 101
0164 #define GPO_SPI1_PAD_OE_N 102
0165 #define GPO_SPI1_PAD_SCK_OUT 103
0166 #define GPO_SPI1_PAD_SS_0_N 104
0167 #define GPO_SPI1_PAD_SS_1_N 105
0168 #define GPO_SPI1_PAD_TXD 106
0169 #define GPO_SPI2_PAD_OE_N 107
0170 #define GPO_SPI2_PAD_SCK_OUT 108
0171 #define GPO_SPI2_PAD_SS_0_N 109
0172 #define GPO_SPI2_PAD_SS_1_N 110
0173 #define GPO_SPI2_PAD_TXD 111
0174 #define GPO_SPI2AHB_PAD_OE_N_BIT0 112
0175 #define GPO_SPI2AHB_PAD_OE_N_BIT1 113
0176 #define GPO_SPI2AHB_PAD_OE_N_BIT2 114
0177 #define GPO_SPI2AHB_PAD_OE_N_BIT3 115
0178 #define GPO_SPI2AHB_PAD_TXD_BIT0 116
0179 #define GPO_SPI2AHB_PAD_TXD_BIT1 117
0180 #define GPO_SPI2AHB_PAD_TXD_BIT2 118
0181 #define GPO_SPI2AHB_PAD_TXD_BIT3 119
0182 #define GPO_SPI3_PAD_OE_N 120
0183 #define GPO_SPI3_PAD_SCK_OUT 121
0184 #define GPO_SPI3_PAD_SS_0_N 122
0185 #define GPO_SPI3_PAD_SS_1_N 123
0186 #define GPO_SPI3_PAD_TXD 124
0187 #define GPO_UART0_PAD_DTRN 125
0188 #define GPO_UART0_PAD_RTSN 126
0189 #define GPO_UART0_PAD_SOUT 127
0190 #define GPO_UART1_PAD_SOUT 128
0191 #define GPO_UART2_PAD_DTR_N 129
0192 #define GPO_UART2_PAD_RTS_N 130
0193 #define GPO_UART2_PAD_SOUT 131
0194 #define GPO_UART3_PAD_SOUT 132
0195 #define GPO_USB_DRV_BUS 133
0196
0197 #define GPI_CPU_JTAG_TCK 0
0198 #define GPI_CPU_JTAG_TDI 1
0199 #define GPI_CPU_JTAG_TMS 2
0200 #define GPI_CPU_JTAG_TRST 3
0201 #define GPI_DMIC_SDIN_BIT0 4
0202 #define GPI_DMIC_SDIN_BIT1 5
0203 #define GPI_DSP_JTCK_PAD 6
0204 #define GPI_DSP_JTDI_PAD 7
0205 #define GPI_DSP_JTMS_PAD 8
0206 #define GPI_DSP_TRST_PAD 9
0207 #define GPI_I2C0_PAD_SCK_IN 10
0208 #define GPI_I2C0_PAD_SDA_IN 11
0209 #define GPI_I2C1_PAD_SCK_IN 12
0210 #define GPI_I2C1_PAD_SDA_IN 13
0211 #define GPI_I2C2_PAD_SCK_IN 14
0212 #define GPI_I2C2_PAD_SDA_IN 15
0213 #define GPI_I2C3_PAD_SCK_IN 16
0214 #define GPI_I2C3_PAD_SDA_IN 17
0215 #define GPI_I2SRX_BCLK_IN 18
0216 #define GPI_I2SRX_LRCK_IN 19
0217 #define GPI_I2SRX_SDIN_BIT0 20
0218 #define GPI_I2SRX_SDIN_BIT1 21
0219 #define GPI_I2SRX_SDIN_BIT2 22
0220 #define GPI_I2STX_BCLK_IN 23
0221 #define GPI_I2STX_LRCK_IN 24
0222 #define GPI_SDIO0_PAD_CARD_DETECT_N 25
0223 #define GPI_SDIO0_PAD_CARD_WRITE_PRT 26
0224 #define GPI_SDIO0_PAD_CCMD_IN 27
0225 #define GPI_SDIO0_PAD_CDATA_IN_BIT0 28
0226 #define GPI_SDIO0_PAD_CDATA_IN_BIT1 29
0227 #define GPI_SDIO0_PAD_CDATA_IN_BIT2 30
0228 #define GPI_SDIO0_PAD_CDATA_IN_BIT3 31
0229 #define GPI_SDIO0_PAD_CDATA_IN_BIT4 32
0230 #define GPI_SDIO0_PAD_CDATA_IN_BIT5 33
0231 #define GPI_SDIO0_PAD_CDATA_IN_BIT6 34
0232 #define GPI_SDIO0_PAD_CDATA_IN_BIT7 35
0233 #define GPI_SDIO1_PAD_CARD_DETECT_N 36
0234 #define GPI_SDIO1_PAD_CARD_WRITE_PRT 37
0235 #define GPI_SDIO1_PAD_CCMD_IN 38
0236 #define GPI_SDIO1_PAD_CDATA_IN_BIT0 39
0237 #define GPI_SDIO1_PAD_CDATA_IN_BIT1 40
0238 #define GPI_SDIO1_PAD_CDATA_IN_BIT2 41
0239 #define GPI_SDIO1_PAD_CDATA_IN_BIT3 42
0240 #define GPI_SDIO1_PAD_CDATA_IN_BIT4 43
0241 #define GPI_SDIO1_PAD_CDATA_IN_BIT5 44
0242 #define GPI_SDIO1_PAD_CDATA_IN_BIT6 45
0243 #define GPI_SDIO1_PAD_CDATA_IN_BIT7 46
0244 #define GPI_SPDIF_RX_SDIN 47
0245 #define GPI_SPI0_PAD_RXD 48
0246 #define GPI_SPI0_PAD_SS_IN_N 49
0247 #define GPI_SPI1_PAD_RXD 50
0248 #define GPI_SPI1_PAD_SS_IN_N 51
0249 #define GPI_SPI2_PAD_RXD 52
0250 #define GPI_SPI2_PAD_SS_IN_N 53
0251 #define GPI_SPI2AHB_PAD_RXD_BIT0 54
0252 #define GPI_SPI2AHB_PAD_RXD_BIT1 55
0253 #define GPI_SPI2AHB_PAD_RXD_BIT2 56
0254 #define GPI_SPI2AHB_PAD_RXD_BIT3 57
0255 #define GPI_SPI2AHB_PAD_SS_N 58
0256 #define GPI_SPI2AHB_SLV_SCLKIN 59
0257 #define GPI_SPI3_PAD_RXD 60
0258 #define GPI_SPI3_PAD_SS_IN_N 61
0259 #define GPI_UART0_PAD_CTSN 62
0260 #define GPI_UART0_PAD_DCDN 63
0261 #define GPI_UART0_PAD_DSRN 64
0262 #define GPI_UART0_PAD_RIN 65
0263 #define GPI_UART0_PAD_SIN 66
0264 #define GPI_UART1_PAD_SIN 67
0265 #define GPI_UART2_PAD_CTS_N 68
0266 #define GPI_UART2_PAD_DCD_N 69
0267 #define GPI_UART2_PAD_DSR_N 70
0268 #define GPI_UART2_PAD_RI_N 71
0269 #define GPI_UART2_PAD_SIN 72
0270 #define GPI_UART3_PAD_SIN 73
0271 #define GPI_USB_OVER_CURRENT 74
0272
0273 #define GPI_NONE 0xff
0274
0275 #endif