Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
0002 /*
0003  * Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk>
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  * GPIOMUX bits:
0016  *  | 31 - 24 | 23 - 16 | 15 - 8 |     7    |     6    |  5 - 0  |
0017  *  |  dout   |  doen   |  din   | dout rev | doen rev | gpio nr |
0018  *
0019  * dout:     output signal
0020  * doen:     output enable signal
0021  * din:      optional input signal, 0xff = none
0022  * dout rev: output signal reverse bit
0023  * doen rev: output enable signal reverse bit
0024  * gpio nr:  gpio number, 0 - 63
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 /* __DT_BINDINGS_PINCTRL_STARFIVE_H__ */