276 lines · c
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_JH7100_H__7#define __DT_BINDINGS_PINCTRL_STARFIVE_JH7100_H__8 9#define PAD_GPIO_OFFSET 010#define PAD_FUNC_SHARE_OFFSET 6411#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 signal20 * doen: output enable signal21 * din: optional input signal, 0xff = none22 * dout rev: output signal reverse bit23 * doen rev: output enable signal reverse bit24 * gpio nr: gpio number, 0 - 6325 */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 0x8000000033 34#define GPO_LOW 035#define GPO_HIGH 136#define GPO_ENABLE 037#define GPO_DISABLE 138#define GPO_CLK_GMAC_PAPHYREF 239#define GPO_JTAG_TDO 340#define GPO_JTAG_TDO_OEN 441#define GPO_DMIC_CLK_OUT 542#define GPO_DSP_JTDOEN_PAD 643#define GPO_DSP_JTDO_PAD 744#define GPO_I2C0_PAD_SCK_OE 845#define GPO_I2C0_PAD_SCK_OEN (GPO_I2C0_PAD_SCK_OE | GPO_REVERSE)46#define GPO_I2C0_PAD_SDA_OE 947#define GPO_I2C0_PAD_SDA_OEN (GPO_I2C0_PAD_SDA_OE | GPO_REVERSE)48#define GPO_I2C1_PAD_SCK_OE 1049#define GPO_I2C1_PAD_SCK_OEN (GPO_I2C1_PAD_SCK_OE | GPO_REVERSE)50#define GPO_I2C1_PAD_SDA_OE 1151#define GPO_I2C1_PAD_SDA_OEN (GPO_I2C1_PAD_SDA_OE | GPO_REVERSE)52#define GPO_I2C2_PAD_SCK_OE 1253#define GPO_I2C2_PAD_SCK_OEN (GPO_I2C2_PAD_SCK_OE | GPO_REVERSE)54#define GPO_I2C2_PAD_SDA_OE 1355#define GPO_I2C2_PAD_SDA_OEN (GPO_I2C2_PAD_SDA_OE | GPO_REVERSE)56#define GPO_I2C3_PAD_SCK_OE 1457#define GPO_I2C3_PAD_SCK_OEN (GPO_I2C3_PAD_SCK_OE | GPO_REVERSE)58#define GPO_I2C3_PAD_SDA_OE 1559#define GPO_I2C3_PAD_SDA_OEN (GPO_I2C3_PAD_SDA_OE | GPO_REVERSE)60#define GPO_I2SRX_BCLK_OUT 1661#define GPO_I2SRX_BCLK_OUT_OEN 1762#define GPO_I2SRX_LRCK_OUT 1863#define GPO_I2SRX_LRCK_OUT_OEN 1964#define GPO_I2SRX_MCLK_OUT 2065#define GPO_I2STX_BCLK_OUT 2166#define GPO_I2STX_BCLK_OUT_OEN 2267#define GPO_I2STX_LRCK_OUT 2368#define GPO_I2STX_LRCK_OUT_OEN 2469#define GPO_I2STX_MCLK_OUT 2570#define GPO_I2STX_SDOUT0 2671#define GPO_I2STX_SDOUT1 2772#define GPO_LCD_PAD_CSM_N 2873#define GPO_PWM_PAD_OE_N_BIT0 2974#define GPO_PWM_PAD_OE_N_BIT1 3075#define GPO_PWM_PAD_OE_N_BIT2 3176#define GPO_PWM_PAD_OE_N_BIT3 3277#define GPO_PWM_PAD_OE_N_BIT4 3378#define GPO_PWM_PAD_OE_N_BIT5 3479#define GPO_PWM_PAD_OE_N_BIT6 3580#define GPO_PWM_PAD_OE_N_BIT7 3681#define GPO_PWM_PAD_OUT_BIT0 3782#define GPO_PWM_PAD_OUT_BIT1 3883#define GPO_PWM_PAD_OUT_BIT2 3984#define GPO_PWM_PAD_OUT_BIT3 4085#define GPO_PWM_PAD_OUT_BIT4 4186#define GPO_PWM_PAD_OUT_BIT5 4287#define GPO_PWM_PAD_OUT_BIT6 4388#define GPO_PWM_PAD_OUT_BIT7 4489#define GPO_PWMDAC_LEFT_OUT 4590#define GPO_PWMDAC_RIGHT_OUT 4691#define GPO_QSPI_CSN1_OUT 4792#define GPO_QSPI_CSN2_OUT 4893#define GPO_QSPI_CSN3_OUT 4994#define GPO_REGISTER23_SCFG_CMSENSOR_RST0 5095#define GPO_REGISTER23_SCFG_CMSENSOR_RST1 5196#define GPO_REGISTER32_SCFG_GMAC_PHY_RSTN 5297#define GPO_SDIO0_PAD_CARD_POWER_EN 5398#define GPO_SDIO0_PAD_CCLK_OUT 5499#define GPO_SDIO0_PAD_CCMD_OE 55100#define GPO_SDIO0_PAD_CCMD_OEN (GPO_SDIO0_PAD_CCMD_OE | GPO_REVERSE)101#define GPO_SDIO0_PAD_CCMD_OUT 56102#define GPO_SDIO0_PAD_CDATA_OE_BIT0 57103#define GPO_SDIO0_PAD_CDATA_OEN_BIT0 (GPO_SDIO0_PAD_CDATA_OE_BIT0 | GPO_REVERSE)104#define GPO_SDIO0_PAD_CDATA_OE_BIT1 58105#define GPO_SDIO0_PAD_CDATA_OEN_BIT1 (GPO_SDIO0_PAD_CDATA_OE_BIT1 | GPO_REVERSE)106#define GPO_SDIO0_PAD_CDATA_OE_BIT2 59107#define GPO_SDIO0_PAD_CDATA_OEN_BIT2 (GPO_SDIO0_PAD_CDATA_OE_BIT2 | GPO_REVERSE)108#define GPO_SDIO0_PAD_CDATA_OE_BIT3 60109#define GPO_SDIO0_PAD_CDATA_OEN_BIT3 (GPO_SDIO0_PAD_CDATA_OE_BIT3 | GPO_REVERSE)110#define GPO_SDIO0_PAD_CDATA_OE_BIT4 61111#define GPO_SDIO0_PAD_CDATA_OEN_BIT4 (GPO_SDIO0_PAD_CDATA_OE_BIT4 | GPO_REVERSE)112#define GPO_SDIO0_PAD_CDATA_OE_BIT5 62113#define GPO_SDIO0_PAD_CDATA_OEN_BIT5 (GPO_SDIO0_PAD_CDATA_OE_BIT5 | GPO_REVERSE)114#define GPO_SDIO0_PAD_CDATA_OE_BIT6 63115#define GPO_SDIO0_PAD_CDATA_OEN_BIT6 (GPO_SDIO0_PAD_CDATA_OE_BIT6 | GPO_REVERSE)116#define GPO_SDIO0_PAD_CDATA_OE_BIT7 64117#define GPO_SDIO0_PAD_CDATA_OEN_BIT7 (GPO_SDIO0_PAD_CDATA_OE_BIT7 | GPO_REVERSE)118#define GPO_SDIO0_PAD_CDATA_OUT_BIT0 65119#define GPO_SDIO0_PAD_CDATA_OUT_BIT1 66120#define GPO_SDIO0_PAD_CDATA_OUT_BIT2 67121#define GPO_SDIO0_PAD_CDATA_OUT_BIT3 68122#define GPO_SDIO0_PAD_CDATA_OUT_BIT4 69123#define GPO_SDIO0_PAD_CDATA_OUT_BIT5 70124#define GPO_SDIO0_PAD_CDATA_OUT_BIT6 71125#define GPO_SDIO0_PAD_CDATA_OUT_BIT7 72126#define GPO_SDIO0_PAD_RST_N 73127#define GPO_SDIO1_PAD_CARD_POWER_EN 74128#define GPO_SDIO1_PAD_CCLK_OUT 75129#define GPO_SDIO1_PAD_CCMD_OE 76130#define GPO_SDIO1_PAD_CCMD_OEN (GPO_SDIO1_PAD_CCMD_OE | GPO_REVERSE)131#define GPO_SDIO1_PAD_CCMD_OUT 77132#define GPO_SDIO1_PAD_CDATA_OE_BIT0 78133#define GPO_SDIO1_PAD_CDATA_OEN_BIT0 (GPO_SDIO1_PAD_CDATA_OE_BIT0 | GPO_REVERSE)134#define GPO_SDIO1_PAD_CDATA_OE_BIT1 79135#define GPO_SDIO1_PAD_CDATA_OEN_BIT1 (GPO_SDIO1_PAD_CDATA_OE_BIT1 | GPO_REVERSE)136#define GPO_SDIO1_PAD_CDATA_OE_BIT2 80137#define GPO_SDIO1_PAD_CDATA_OEN_BIT2 (GPO_SDIO1_PAD_CDATA_OE_BIT2 | GPO_REVERSE)138#define GPO_SDIO1_PAD_CDATA_OE_BIT3 81139#define GPO_SDIO1_PAD_CDATA_OEN_BIT3 (GPO_SDIO1_PAD_CDATA_OE_BIT3 | GPO_REVERSE)140#define GPO_SDIO1_PAD_CDATA_OE_BIT4 82141#define GPO_SDIO1_PAD_CDATA_OEN_BIT4 (GPO_SDIO1_PAD_CDATA_OE_BIT4 | GPO_REVERSE)142#define GPO_SDIO1_PAD_CDATA_OE_BIT5 83143#define GPO_SDIO1_PAD_CDATA_OEN_BIT5 (GPO_SDIO1_PAD_CDATA_OE_BIT5 | GPO_REVERSE)144#define GPO_SDIO1_PAD_CDATA_OE_BIT6 84145#define GPO_SDIO1_PAD_CDATA_OEN_BIT6 (GPO_SDIO1_PAD_CDATA_OE_BIT6 | GPO_REVERSE)146#define GPO_SDIO1_PAD_CDATA_OE_BIT7 85147#define GPO_SDIO1_PAD_CDATA_OEN_BIT7 (GPO_SDIO1_PAD_CDATA_OE_BIT7 | GPO_REVERSE)148#define GPO_SDIO1_PAD_CDATA_OUT_BIT0 86149#define GPO_SDIO1_PAD_CDATA_OUT_BIT1 87150#define GPO_SDIO1_PAD_CDATA_OUT_BIT2 88151#define GPO_SDIO1_PAD_CDATA_OUT_BIT3 89152#define GPO_SDIO1_PAD_CDATA_OUT_BIT4 90153#define GPO_SDIO1_PAD_CDATA_OUT_BIT5 91154#define GPO_SDIO1_PAD_CDATA_OUT_BIT6 92155#define GPO_SDIO1_PAD_CDATA_OUT_BIT7 93156#define GPO_SDIO1_PAD_RST_N 94157#define GPO_SPDIF_TX_SDOUT 95158#define GPO_SPDIF_TX_SDOUT_OEN 96159#define GPO_SPI0_PAD_OE_N 97160#define GPO_SPI0_PAD_SCK_OUT 98161#define GPO_SPI0_PAD_SS_0_N 99162#define GPO_SPI0_PAD_SS_1_N 100163#define GPO_SPI0_PAD_TXD 101164#define GPO_SPI1_PAD_OE_N 102165#define GPO_SPI1_PAD_SCK_OUT 103166#define GPO_SPI1_PAD_SS_0_N 104167#define GPO_SPI1_PAD_SS_1_N 105168#define GPO_SPI1_PAD_TXD 106169#define GPO_SPI2_PAD_OE_N 107170#define GPO_SPI2_PAD_SCK_OUT 108171#define GPO_SPI2_PAD_SS_0_N 109172#define GPO_SPI2_PAD_SS_1_N 110173#define GPO_SPI2_PAD_TXD 111174#define GPO_SPI2AHB_PAD_OE_N_BIT0 112175#define GPO_SPI2AHB_PAD_OE_N_BIT1 113176#define GPO_SPI2AHB_PAD_OE_N_BIT2 114177#define GPO_SPI2AHB_PAD_OE_N_BIT3 115178#define GPO_SPI2AHB_PAD_TXD_BIT0 116179#define GPO_SPI2AHB_PAD_TXD_BIT1 117180#define GPO_SPI2AHB_PAD_TXD_BIT2 118181#define GPO_SPI2AHB_PAD_TXD_BIT3 119182#define GPO_SPI3_PAD_OE_N 120183#define GPO_SPI3_PAD_SCK_OUT 121184#define GPO_SPI3_PAD_SS_0_N 122185#define GPO_SPI3_PAD_SS_1_N 123186#define GPO_SPI3_PAD_TXD 124187#define GPO_UART0_PAD_DTRN 125188#define GPO_UART0_PAD_RTSN 126189#define GPO_UART0_PAD_SOUT 127190#define GPO_UART1_PAD_SOUT 128191#define GPO_UART2_PAD_DTR_N 129192#define GPO_UART2_PAD_RTS_N 130193#define GPO_UART2_PAD_SOUT 131194#define GPO_UART3_PAD_SOUT 132195#define GPO_USB_DRV_BUS 133196 197#define GPI_CPU_JTAG_TCK 0198#define GPI_CPU_JTAG_TDI 1199#define GPI_CPU_JTAG_TMS 2200#define GPI_CPU_JTAG_TRST 3201#define GPI_DMIC_SDIN_BIT0 4202#define GPI_DMIC_SDIN_BIT1 5203#define GPI_DSP_JTCK_PAD 6204#define GPI_DSP_JTDI_PAD 7205#define GPI_DSP_JTMS_PAD 8206#define GPI_DSP_TRST_PAD 9207#define GPI_I2C0_PAD_SCK_IN 10208#define GPI_I2C0_PAD_SDA_IN 11209#define GPI_I2C1_PAD_SCK_IN 12210#define GPI_I2C1_PAD_SDA_IN 13211#define GPI_I2C2_PAD_SCK_IN 14212#define GPI_I2C2_PAD_SDA_IN 15213#define GPI_I2C3_PAD_SCK_IN 16214#define GPI_I2C3_PAD_SDA_IN 17215#define GPI_I2SRX_BCLK_IN 18216#define GPI_I2SRX_LRCK_IN 19217#define GPI_I2SRX_SDIN_BIT0 20218#define GPI_I2SRX_SDIN_BIT1 21219#define GPI_I2SRX_SDIN_BIT2 22220#define GPI_I2STX_BCLK_IN 23221#define GPI_I2STX_LRCK_IN 24222#define GPI_SDIO0_PAD_CARD_DETECT_N 25223#define GPI_SDIO0_PAD_CARD_WRITE_PRT 26224#define GPI_SDIO0_PAD_CCMD_IN 27225#define GPI_SDIO0_PAD_CDATA_IN_BIT0 28226#define GPI_SDIO0_PAD_CDATA_IN_BIT1 29227#define GPI_SDIO0_PAD_CDATA_IN_BIT2 30228#define GPI_SDIO0_PAD_CDATA_IN_BIT3 31229#define GPI_SDIO0_PAD_CDATA_IN_BIT4 32230#define GPI_SDIO0_PAD_CDATA_IN_BIT5 33231#define GPI_SDIO0_PAD_CDATA_IN_BIT6 34232#define GPI_SDIO0_PAD_CDATA_IN_BIT7 35233#define GPI_SDIO1_PAD_CARD_DETECT_N 36234#define GPI_SDIO1_PAD_CARD_WRITE_PRT 37235#define GPI_SDIO1_PAD_CCMD_IN 38236#define GPI_SDIO1_PAD_CDATA_IN_BIT0 39237#define GPI_SDIO1_PAD_CDATA_IN_BIT1 40238#define GPI_SDIO1_PAD_CDATA_IN_BIT2 41239#define GPI_SDIO1_PAD_CDATA_IN_BIT3 42240#define GPI_SDIO1_PAD_CDATA_IN_BIT4 43241#define GPI_SDIO1_PAD_CDATA_IN_BIT5 44242#define GPI_SDIO1_PAD_CDATA_IN_BIT6 45243#define GPI_SDIO1_PAD_CDATA_IN_BIT7 46244#define GPI_SPDIF_RX_SDIN 47245#define GPI_SPI0_PAD_RXD 48246#define GPI_SPI0_PAD_SS_IN_N 49247#define GPI_SPI1_PAD_RXD 50248#define GPI_SPI1_PAD_SS_IN_N 51249#define GPI_SPI2_PAD_RXD 52250#define GPI_SPI2_PAD_SS_IN_N 53251#define GPI_SPI2AHB_PAD_RXD_BIT0 54252#define GPI_SPI2AHB_PAD_RXD_BIT1 55253#define GPI_SPI2AHB_PAD_RXD_BIT2 56254#define GPI_SPI2AHB_PAD_RXD_BIT3 57255#define GPI_SPI2AHB_PAD_SS_N 58256#define GPI_SPI2AHB_SLV_SCLKIN 59257#define GPI_SPI3_PAD_RXD 60258#define GPI_SPI3_PAD_SS_IN_N 61259#define GPI_UART0_PAD_CTSN 62260#define GPI_UART0_PAD_DCDN 63261#define GPI_UART0_PAD_DSRN 64262#define GPI_UART0_PAD_RIN 65263#define GPI_UART0_PAD_SIN 66264#define GPI_UART1_PAD_SIN 67265#define GPI_UART2_PAD_CTS_N 68266#define GPI_UART2_PAD_DCD_N 69267#define GPI_UART2_PAD_DSR_N 70268#define GPI_UART2_PAD_RI_N 71269#define GPI_UART2_PAD_SIN 72270#define GPI_UART3_PAD_SIN 73271#define GPI_USB_OVER_CURRENT 74272 273#define GPI_NONE 0xff274 275#endif /* __DT_BINDINGS_PINCTRL_STARFIVE_JH7100_H__ */276