pinctrl-starfive.h (10446B)
1/* SPDX-License-Identifier: GPL-2.0 OR MIT */ 2/* 3 * Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk> 4 */ 5 6#ifndef __DT_BINDINGS_PINCTRL_STARFIVE_H__ 7#define __DT_BINDINGS_PINCTRL_STARFIVE_H__ 8 9#define PAD_GPIO_OFFSET 0 10#define PAD_FUNC_SHARE_OFFSET 64 11#define PAD_GPIO(x) (PAD_GPIO_OFFSET + (x)) 12#define PAD_FUNC_SHARE(x) (PAD_FUNC_SHARE_OFFSET + (x)) 13 14/* 15 * GPIOMUX bits: 16 * | 31 - 24 | 23 - 16 | 15 - 8 | 7 | 6 | 5 - 0 | 17 * | dout | doen | din | dout rev | doen rev | gpio nr | 18 * 19 * dout: output signal 20 * doen: output enable signal 21 * din: optional input signal, 0xff = none 22 * dout rev: output signal reverse bit 23 * doen rev: output enable signal reverse bit 24 * gpio nr: gpio number, 0 - 63 25 */ 26#define GPIOMUX(n, dout, doen, din) ( \ 27 (((dout) & 0x80000000) >> (31 - 7)) | (((dout) & 0xff) << 24) | \ 28 (((doen) & 0x80000000) >> (31 - 6)) | (((doen) & 0xff) << 16) | \ 29 (((din) & 0xff) << 8) | \ 30 ((n) & 0x3f)) 31 32#define GPO_REVERSE 0x80000000 33 34#define GPO_LOW 0 35#define GPO_HIGH 1 36#define GPO_ENABLE 0 37#define GPO_DISABLE 1 38#define GPO_CLK_GMAC_PAPHYREF 2 39#define GPO_JTAG_TDO 3 40#define GPO_JTAG_TDO_OEN 4 41#define GPO_DMIC_CLK_OUT 5 42#define GPO_DSP_JTDOEN_PAD 6 43#define GPO_DSP_JTDO_PAD 7 44#define GPO_I2C0_PAD_SCK_OE 8 45#define GPO_I2C0_PAD_SCK_OEN (GPO_I2C0_PAD_SCK_OE | GPO_REVERSE) 46#define GPO_I2C0_PAD_SDA_OE 9 47#define GPO_I2C0_PAD_SDA_OEN (GPO_I2C0_PAD_SDA_OE | GPO_REVERSE) 48#define GPO_I2C1_PAD_SCK_OE 10 49#define GPO_I2C1_PAD_SCK_OEN (GPO_I2C1_PAD_SCK_OE | GPO_REVERSE) 50#define GPO_I2C1_PAD_SDA_OE 11 51#define GPO_I2C1_PAD_SDA_OEN (GPO_I2C1_PAD_SDA_OE | GPO_REVERSE) 52#define GPO_I2C2_PAD_SCK_OE 12 53#define GPO_I2C2_PAD_SCK_OEN (GPO_I2C2_PAD_SCK_OE | GPO_REVERSE) 54#define GPO_I2C2_PAD_SDA_OE 13 55#define GPO_I2C2_PAD_SDA_OEN (GPO_I2C2_PAD_SDA_OE | GPO_REVERSE) 56#define GPO_I2C3_PAD_SCK_OE 14 57#define GPO_I2C3_PAD_SCK_OEN (GPO_I2C3_PAD_SCK_OE | GPO_REVERSE) 58#define GPO_I2C3_PAD_SDA_OE 15 59#define GPO_I2C3_PAD_SDA_OEN (GPO_I2C3_PAD_SDA_OE | GPO_REVERSE) 60#define GPO_I2SRX_BCLK_OUT 16 61#define GPO_I2SRX_BCLK_OUT_OEN 17 62#define GPO_I2SRX_LRCK_OUT 18 63#define GPO_I2SRX_LRCK_OUT_OEN 19 64#define GPO_I2SRX_MCLK_OUT 20 65#define GPO_I2STX_BCLK_OUT 21 66#define GPO_I2STX_BCLK_OUT_OEN 22 67#define GPO_I2STX_LRCK_OUT 23 68#define GPO_I2STX_LRCK_OUT_OEN 24 69#define GPO_I2STX_MCLK_OUT 25 70#define GPO_I2STX_SDOUT0 26 71#define GPO_I2STX_SDOUT1 27 72#define GPO_LCD_PAD_CSM_N 28 73#define GPO_PWM_PAD_OE_N_BIT0 29 74#define GPO_PWM_PAD_OE_N_BIT1 30 75#define GPO_PWM_PAD_OE_N_BIT2 31 76#define GPO_PWM_PAD_OE_N_BIT3 32 77#define GPO_PWM_PAD_OE_N_BIT4 33 78#define GPO_PWM_PAD_OE_N_BIT5 34 79#define GPO_PWM_PAD_OE_N_BIT6 35 80#define GPO_PWM_PAD_OE_N_BIT7 36 81#define GPO_PWM_PAD_OUT_BIT0 37 82#define GPO_PWM_PAD_OUT_BIT1 38 83#define GPO_PWM_PAD_OUT_BIT2 39 84#define GPO_PWM_PAD_OUT_BIT3 40 85#define GPO_PWM_PAD_OUT_BIT4 41 86#define GPO_PWM_PAD_OUT_BIT5 42 87#define GPO_PWM_PAD_OUT_BIT6 43 88#define GPO_PWM_PAD_OUT_BIT7 44 89#define GPO_PWMDAC_LEFT_OUT 45 90#define GPO_PWMDAC_RIGHT_OUT 46 91#define GPO_QSPI_CSN1_OUT 47 92#define GPO_QSPI_CSN2_OUT 48 93#define GPO_QSPI_CSN3_OUT 49 94#define GPO_REGISTER23_SCFG_CMSENSOR_RST0 50 95#define GPO_REGISTER23_SCFG_CMSENSOR_RST1 51 96#define GPO_REGISTER32_SCFG_GMAC_PHY_RSTN 52 97#define GPO_SDIO0_PAD_CARD_POWER_EN 53 98#define GPO_SDIO0_PAD_CCLK_OUT 54 99#define GPO_SDIO0_PAD_CCMD_OE 55 100#define GPO_SDIO0_PAD_CCMD_OEN (GPO_SDIO0_PAD_CCMD_OE | GPO_REVERSE) 101#define GPO_SDIO0_PAD_CCMD_OUT 56 102#define GPO_SDIO0_PAD_CDATA_OE_BIT0 57 103#define GPO_SDIO0_PAD_CDATA_OEN_BIT0 (GPO_SDIO0_PAD_CDATA_OE_BIT0 | GPO_REVERSE) 104#define GPO_SDIO0_PAD_CDATA_OE_BIT1 58 105#define GPO_SDIO0_PAD_CDATA_OEN_BIT1 (GPO_SDIO0_PAD_CDATA_OE_BIT1 | GPO_REVERSE) 106#define GPO_SDIO0_PAD_CDATA_OE_BIT2 59 107#define GPO_SDIO0_PAD_CDATA_OEN_BIT2 (GPO_SDIO0_PAD_CDATA_OE_BIT2 | GPO_REVERSE) 108#define GPO_SDIO0_PAD_CDATA_OE_BIT3 60 109#define GPO_SDIO0_PAD_CDATA_OEN_BIT3 (GPO_SDIO0_PAD_CDATA_OE_BIT3 | GPO_REVERSE) 110#define GPO_SDIO0_PAD_CDATA_OE_BIT4 61 111#define GPO_SDIO0_PAD_CDATA_OEN_BIT4 (GPO_SDIO0_PAD_CDATA_OE_BIT4 | GPO_REVERSE) 112#define GPO_SDIO0_PAD_CDATA_OE_BIT5 62 113#define GPO_SDIO0_PAD_CDATA_OEN_BIT5 (GPO_SDIO0_PAD_CDATA_OE_BIT5 | GPO_REVERSE) 114#define GPO_SDIO0_PAD_CDATA_OE_BIT6 63 115#define GPO_SDIO0_PAD_CDATA_OEN_BIT6 (GPO_SDIO0_PAD_CDATA_OE_BIT6 | GPO_REVERSE) 116#define GPO_SDIO0_PAD_CDATA_OE_BIT7 64 117#define GPO_SDIO0_PAD_CDATA_OEN_BIT7 (GPO_SDIO0_PAD_CDATA_OE_BIT7 | GPO_REVERSE) 118#define GPO_SDIO0_PAD_CDATA_OUT_BIT0 65 119#define GPO_SDIO0_PAD_CDATA_OUT_BIT1 66 120#define GPO_SDIO0_PAD_CDATA_OUT_BIT2 67 121#define GPO_SDIO0_PAD_CDATA_OUT_BIT3 68 122#define GPO_SDIO0_PAD_CDATA_OUT_BIT4 69 123#define GPO_SDIO0_PAD_CDATA_OUT_BIT5 70 124#define GPO_SDIO0_PAD_CDATA_OUT_BIT6 71 125#define GPO_SDIO0_PAD_CDATA_OUT_BIT7 72 126#define GPO_SDIO0_PAD_RST_N 73 127#define GPO_SDIO1_PAD_CARD_POWER_EN 74 128#define GPO_SDIO1_PAD_CCLK_OUT 75 129#define GPO_SDIO1_PAD_CCMD_OE 76 130#define GPO_SDIO1_PAD_CCMD_OEN (GPO_SDIO1_PAD_CCMD_OE | GPO_REVERSE) 131#define GPO_SDIO1_PAD_CCMD_OUT 77 132#define GPO_SDIO1_PAD_CDATA_OE_BIT0 78 133#define GPO_SDIO1_PAD_CDATA_OEN_BIT0 (GPO_SDIO1_PAD_CDATA_OE_BIT0 | GPO_REVERSE) 134#define GPO_SDIO1_PAD_CDATA_OE_BIT1 79 135#define GPO_SDIO1_PAD_CDATA_OEN_BIT1 (GPO_SDIO1_PAD_CDATA_OE_BIT1 | GPO_REVERSE) 136#define GPO_SDIO1_PAD_CDATA_OE_BIT2 80 137#define GPO_SDIO1_PAD_CDATA_OEN_BIT2 (GPO_SDIO1_PAD_CDATA_OE_BIT2 | GPO_REVERSE) 138#define GPO_SDIO1_PAD_CDATA_OE_BIT3 81 139#define GPO_SDIO1_PAD_CDATA_OEN_BIT3 (GPO_SDIO1_PAD_CDATA_OE_BIT3 | GPO_REVERSE) 140#define GPO_SDIO1_PAD_CDATA_OE_BIT4 82 141#define GPO_SDIO1_PAD_CDATA_OEN_BIT4 (GPO_SDIO1_PAD_CDATA_OE_BIT4 | GPO_REVERSE) 142#define GPO_SDIO1_PAD_CDATA_OE_BIT5 83 143#define GPO_SDIO1_PAD_CDATA_OEN_BIT5 (GPO_SDIO1_PAD_CDATA_OE_BIT5 | GPO_REVERSE) 144#define GPO_SDIO1_PAD_CDATA_OE_BIT6 84 145#define GPO_SDIO1_PAD_CDATA_OEN_BIT6 (GPO_SDIO1_PAD_CDATA_OE_BIT6 | GPO_REVERSE) 146#define GPO_SDIO1_PAD_CDATA_OE_BIT7 85 147#define GPO_SDIO1_PAD_CDATA_OEN_BIT7 (GPO_SDIO1_PAD_CDATA_OE_BIT7 | GPO_REVERSE) 148#define GPO_SDIO1_PAD_CDATA_OUT_BIT0 86 149#define GPO_SDIO1_PAD_CDATA_OUT_BIT1 87 150#define GPO_SDIO1_PAD_CDATA_OUT_BIT2 88 151#define GPO_SDIO1_PAD_CDATA_OUT_BIT3 89 152#define GPO_SDIO1_PAD_CDATA_OUT_BIT4 90 153#define GPO_SDIO1_PAD_CDATA_OUT_BIT5 91 154#define GPO_SDIO1_PAD_CDATA_OUT_BIT6 92 155#define GPO_SDIO1_PAD_CDATA_OUT_BIT7 93 156#define GPO_SDIO1_PAD_RST_N 94 157#define GPO_SPDIF_TX_SDOUT 95 158#define GPO_SPDIF_TX_SDOUT_OEN 96 159#define GPO_SPI0_PAD_OE_N 97 160#define GPO_SPI0_PAD_SCK_OUT 98 161#define GPO_SPI0_PAD_SS_0_N 99 162#define GPO_SPI0_PAD_SS_1_N 100 163#define GPO_SPI0_PAD_TXD 101 164#define GPO_SPI1_PAD_OE_N 102 165#define GPO_SPI1_PAD_SCK_OUT 103 166#define GPO_SPI1_PAD_SS_0_N 104 167#define GPO_SPI1_PAD_SS_1_N 105 168#define GPO_SPI1_PAD_TXD 106 169#define GPO_SPI2_PAD_OE_N 107 170#define GPO_SPI2_PAD_SCK_OUT 108 171#define GPO_SPI2_PAD_SS_0_N 109 172#define GPO_SPI2_PAD_SS_1_N 110 173#define GPO_SPI2_PAD_TXD 111 174#define GPO_SPI2AHB_PAD_OE_N_BIT0 112 175#define GPO_SPI2AHB_PAD_OE_N_BIT1 113 176#define GPO_SPI2AHB_PAD_OE_N_BIT2 114 177#define GPO_SPI2AHB_PAD_OE_N_BIT3 115 178#define GPO_SPI2AHB_PAD_TXD_BIT0 116 179#define GPO_SPI2AHB_PAD_TXD_BIT1 117 180#define GPO_SPI2AHB_PAD_TXD_BIT2 118 181#define GPO_SPI2AHB_PAD_TXD_BIT3 119 182#define GPO_SPI3_PAD_OE_N 120 183#define GPO_SPI3_PAD_SCK_OUT 121 184#define GPO_SPI3_PAD_SS_0_N 122 185#define GPO_SPI3_PAD_SS_1_N 123 186#define GPO_SPI3_PAD_TXD 124 187#define GPO_UART0_PAD_DTRN 125 188#define GPO_UART0_PAD_RTSN 126 189#define GPO_UART0_PAD_SOUT 127 190#define GPO_UART1_PAD_SOUT 128 191#define GPO_UART2_PAD_DTR_N 129 192#define GPO_UART2_PAD_RTS_N 130 193#define GPO_UART2_PAD_SOUT 131 194#define GPO_UART3_PAD_SOUT 132 195#define GPO_USB_DRV_BUS 133 196 197#define GPI_CPU_JTAG_TCK 0 198#define GPI_CPU_JTAG_TDI 1 199#define GPI_CPU_JTAG_TMS 2 200#define GPI_CPU_JTAG_TRST 3 201#define GPI_DMIC_SDIN_BIT0 4 202#define GPI_DMIC_SDIN_BIT1 5 203#define GPI_DSP_JTCK_PAD 6 204#define GPI_DSP_JTDI_PAD 7 205#define GPI_DSP_JTMS_PAD 8 206#define GPI_DSP_TRST_PAD 9 207#define GPI_I2C0_PAD_SCK_IN 10 208#define GPI_I2C0_PAD_SDA_IN 11 209#define GPI_I2C1_PAD_SCK_IN 12 210#define GPI_I2C1_PAD_SDA_IN 13 211#define GPI_I2C2_PAD_SCK_IN 14 212#define GPI_I2C2_PAD_SDA_IN 15 213#define GPI_I2C3_PAD_SCK_IN 16 214#define GPI_I2C3_PAD_SDA_IN 17 215#define GPI_I2SRX_BCLK_IN 18 216#define GPI_I2SRX_LRCK_IN 19 217#define GPI_I2SRX_SDIN_BIT0 20 218#define GPI_I2SRX_SDIN_BIT1 21 219#define GPI_I2SRX_SDIN_BIT2 22 220#define GPI_I2STX_BCLK_IN 23 221#define GPI_I2STX_LRCK_IN 24 222#define GPI_SDIO0_PAD_CARD_DETECT_N 25 223#define GPI_SDIO0_PAD_CARD_WRITE_PRT 26 224#define GPI_SDIO0_PAD_CCMD_IN 27 225#define GPI_SDIO0_PAD_CDATA_IN_BIT0 28 226#define GPI_SDIO0_PAD_CDATA_IN_BIT1 29 227#define GPI_SDIO0_PAD_CDATA_IN_BIT2 30 228#define GPI_SDIO0_PAD_CDATA_IN_BIT3 31 229#define GPI_SDIO0_PAD_CDATA_IN_BIT4 32 230#define GPI_SDIO0_PAD_CDATA_IN_BIT5 33 231#define GPI_SDIO0_PAD_CDATA_IN_BIT6 34 232#define GPI_SDIO0_PAD_CDATA_IN_BIT7 35 233#define GPI_SDIO1_PAD_CARD_DETECT_N 36 234#define GPI_SDIO1_PAD_CARD_WRITE_PRT 37 235#define GPI_SDIO1_PAD_CCMD_IN 38 236#define GPI_SDIO1_PAD_CDATA_IN_BIT0 39 237#define GPI_SDIO1_PAD_CDATA_IN_BIT1 40 238#define GPI_SDIO1_PAD_CDATA_IN_BIT2 41 239#define GPI_SDIO1_PAD_CDATA_IN_BIT3 42 240#define GPI_SDIO1_PAD_CDATA_IN_BIT4 43 241#define GPI_SDIO1_PAD_CDATA_IN_BIT5 44 242#define GPI_SDIO1_PAD_CDATA_IN_BIT6 45 243#define GPI_SDIO1_PAD_CDATA_IN_BIT7 46 244#define GPI_SPDIF_RX_SDIN 47 245#define GPI_SPI0_PAD_RXD 48 246#define GPI_SPI0_PAD_SS_IN_N 49 247#define GPI_SPI1_PAD_RXD 50 248#define GPI_SPI1_PAD_SS_IN_N 51 249#define GPI_SPI2_PAD_RXD 52 250#define GPI_SPI2_PAD_SS_IN_N 53 251#define GPI_SPI2AHB_PAD_RXD_BIT0 54 252#define GPI_SPI2AHB_PAD_RXD_BIT1 55 253#define GPI_SPI2AHB_PAD_RXD_BIT2 56 254#define GPI_SPI2AHB_PAD_RXD_BIT3 57 255#define GPI_SPI2AHB_PAD_SS_N 58 256#define GPI_SPI2AHB_SLV_SCLKIN 59 257#define GPI_SPI3_PAD_RXD 60 258#define GPI_SPI3_PAD_SS_IN_N 61 259#define GPI_UART0_PAD_CTSN 62 260#define GPI_UART0_PAD_DCDN 63 261#define GPI_UART0_PAD_DSRN 64 262#define GPI_UART0_PAD_RIN 65 263#define GPI_UART0_PAD_SIN 66 264#define GPI_UART1_PAD_SIN 67 265#define GPI_UART2_PAD_CTS_N 68 266#define GPI_UART2_PAD_DCD_N 69 267#define GPI_UART2_PAD_DSR_N 70 268#define GPI_UART2_PAD_RI_N 71 269#define GPI_UART2_PAD_SIN 72 270#define GPI_UART3_PAD_SIN 73 271#define GPI_USB_OVER_CURRENT 74 272 273#define GPI_NONE 0xff 274 275#endif /* __DT_BINDINGS_PINCTRL_STARFIVE_H__ */