Overview
The aim of this document is to explain how to setup pins of SP7350 in device-tree source. SP7350 has 106 general purpose IO (GPIO) pins which are multiplexed with other special functions, like eMMC device, SPI-NOR flash, SPI-NAND flash, Ethernet PHY (RGMII or RMII interface), UART, I2C pins, and etc.
...
SP7350 has 106 GPIO pins. ID is from 0 to 105. Name is in form of GPIO(id), like GPIO0, GPIO1, GPIO2, GPIO99, GPIO105, and etc. There are two kinds of GPIO pins. One is 1.8V GPIO pins, and the other is 1.8V/3.0V Dual Voltage IO (DVIO) pins. Beside configure 1.8V or 3.0V power to power supply to a DVIO group in your circuit boards (hardware), you need to setup MS control in device-tree source. Refer to groups of GPIO and DVIO in appendix GPIO Table below for details.
...
The pin will be set to a high impedance mode, also know as "third-state" (tristatetri-state) or "high-Z" or "floating".
...
Code Block | ||
---|---|---|
| ||
pinconf_example { : : input-schmitt-enable; : : }; |
input-schmittSchmitt-disable
description
This will disable the pin's schmittSchmitt-trigger mode.
argument
The argument is ignored.
...
function name | group name | binding pins | ||
SPI_FLASH | SPI_FLASH | 21, 22, 23, 24, 25, 26 | ||
EMMC | EMMC | 20, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 | ||
SPI_NAND | SPI_NAND_X1 | 30, 31, 32, 33, 34, 35 | ||
SPI_NAND_X2 | 21, 22, 23, 24, 25, 26 | |||
SD_CARD | SD_CARD | 38, 39, 40, 41, 42, 43 | ||
SDIO | SDIO | 44, 45, 46, 47, 48, 49 | ||
PARA_NAND | PARA_NAND | 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 | ||
USB_OTG | USB_OTG | 18, 19 | ||
GMAC | GMAC_RGMII | 3, 4, 5, 6, 137, 8, 149, 10, 11, 12, 713, 814, 15, 16, 9, 12 | ||
GMAC_RMII | 4, 5, 6, 7, 8, 9, 10, 11, 12 | |||
PWM0 | PWM0_X1 | 78 | ||
PWM0_X2 | 58 | |||
PWM1 | PWM1_X1 | 79 | ||
PWM1_X2 | 59 | |||
PWM2 | PWM2_X1 | 60 | ||
PWM2_X2 | 92 | |||
PWM3 | PWM3_X1 | 61 | ||
PWM3_X2 | 93 | |||
UART0 | _X1UART0_X1 | 50, 51UART0_X2 | ||
UART0_X2 | 68, 69 | |||
UART1 | _X1UART1_X1 | 52, 53 | ||
UART1_X2 | UART1_X2 | 64, 65 | ||
UART1_FC | _X1UART1_FC_X1 | 54, 55UART1_FC_X2 | ||
UART1_FC_X2 | 66, 67 | |||
UART2 | _X1UART2_X1 | 56, 57 | ||
UART2_X2 | UART2_X2 | 76, 77 | ||
UART2_FC | _X1UART2_FC_X1 | 58, 59 | ||
UART2_FC_X2 | UART2_FC_X2 | 78, 79 | ||
UART3 | _X1UART3_X1 | 62, 63UART3_X2 | ||
UART3_X2 | 7, 8 | |||
UADBG | UADBG | 13, 14 | ||
UART6 | _X1UART6_X1 | 80, 81 | ||
UART6_X2 | UART6_X2 | 48, 49 | ||
UART7 | UART7 | 82, 83 | ||
I2C_COMBO0 | _X1I2C_COMBO0_X1 | 68, 69I2C_COMBO0_X2 | ||
I2C_COMBO0_X2 | 54, 55 | |||
I2C_COMBO1 | I2C_COMBO1 | 70, 71 | ||
I2C_COMBO2 | _X1I2C_COMBO2_X1 | 76, 77 | ||
I2C_COMBO2_X2 | I2C_COMBO2_X2 | 56, 57 | ||
I2C_COMBO3 | I2C_COMBO3 | 88, 89 | ||
I2C_COMBO4 | I2C_COMBO4 | 90, 91 | ||
I2C_COMBO5 | I2C_COMBO5 | 92, 93 | ||
I2C_COMBO6 | _X1I2C_COMBO6_X1 | 84, 85I2C_COMBO6_X2 | ||
I2C_COMBO6_X2 | 1, 2 | |||
I2C_COMBO7 | _X1I2C_COMBO7_X1 | 86, 87 | ||
I2C_COMBO7_X2 | I2C_COMBO7_X2 | 3, 4 | ||
I2C_COMBO8 | _X1I2C_COMBO8_X1 | 95, 96I2C_COMBO8_X2 | ||
I2C_COMBO8_X2 | 9, 10 | |||
I2C_COMBO9 | _X1I2C_COMBO9_X1 | 97, 98 | ||
I2C_COMBO9_X2 | I2C_COMBO9_X2 | 11, 11, 12 | ||
SPI_MASTER0 | _X1SPI_MASTER0_X1 | 64, 65, 66, 67SPI_MASTER0_X2 | ||
SPI_MASTER0_X2 | 9, 10, 11, 12 | |||
SPI_MASTER1 | _X1SPI_MASTER1_X1 | 80, 81, 82, 83SPI_MASTER1_X2 | ||
SPI_MASTER1_X2 | 14, 15, 16, 17 | |||
SPI_MASTER2 | SPI_MASTER2 | 88, 89, 90, 91 | ||
SPI_MASTER3 | _X1SPI_MASTER3_X1 | 44, 45, 46, 47SPI_MASTER3_X2 | ||
SPI_MASTER3_X2 | 52, 53, 54, 55 | |||
SPI_MASTER4 | SPI_MASTER4 | 72, 73, 74, 75 | ||
SPI_SLAVE0 | _X1SPI_SLAVE0_X1 | 94, 95, 96, 97 | ||
SPI_SLAVE0_X2 | SPI_SLAVE0_X2 | 72, 73, 74, 75 | ||
AUD_TDMTX_XCK | AUD_TDMTX_XCK | 93 | ||
AUD_DAC_XCK1 | AUD_DAC_XCK1 | 71 | ||
AUD_DAC_XCK | AUD_DAC_XCK | 83 | ||
AUD_AU2_DATA0 | AUD_AU2_DATA0 | 82 | ||
AUD_AU1_DATA0 | AUD_AU1_DATA0 | 58 | ||
AUD_AU2_CK | AUD_AU2_CK | 80, 81 | ||
AUD_AU1_CK | AUD_AU1_CK | 56, 57 | ||
AUD_AU_ADC_DATA0 | _X1AUD_AU_ADC_DATA0_X1 | 94, 95, 96, 97AUD_AU_ADC_DATA0_X2 | ||
AUD_AU_ADC_DATA0_X2 | 72, 73, 74, 75 | |||
AUD_ADC2_DATA0 | AUD_ADC2_DATA0 | 82 | ||
AUD_ADC1_DATA0 | AUD_ADC1_DATA0 | 58 | ||
AUD_TDM | AUD_TDM | 94, 95, 96, 97 | ||
SPDIF_IN | _X1SPDIF_IN_X1 | 91 | ||
SPDIF_IN_X2 | SPDIF_IN_X2 | 53 | ||
SPDIF_IN_X3 | SPDIF_IN_X3 | 54 | ||
SPDIF_IN_X4 | SPDIF_IN_X4 | 55SPDIF_IN_X5 | ||
SPDIF_IN_X5 | 62SPDIF_IN_X6 | |||
SPDIF_IN_X6 | 52 | |||
SPDIF_OUT | _X1SPDIF_OUT_X1 | 91 | ||
SPDIF_OUT_X2 | SPDIF_OUT_X2 | 53SPDIF_OUT_X3 | ||
SPDIF_OUT_X3 | 54 | |||
SPDIF_OUT_X4 | SPDIF_OUT_X4 | 55 | ||
SPDIF_OUT_X5 | SPDIF_OUT_X5 | 62SPDIF_OUT_X6 | ||
SPDIF_OUT_X6 | 52 | |||
INT0 | _X1INT0_X1 | 1 | ||
INT0_X2 | 2 | |||
INT0_X2 | 2 | INT0_X3 | INT0_X3 | 3 |
INT0_X4 | INT0_X4 | 4INT0_X5 | ||
INT0_X5 | 5INT0_X6 | |||
INT0_X6 | 6 | |||
INT0_X7 | INT0_X7 | 13INT0_X8 | ||
INT0_X8 | 14INT0_X9 | |||
INT0_X9 | 15 | |||
INT1 | _X1INT1_X1 | 1 | ||
INT1_X2 | INT1_X2 | 2 | ||
INT1_X3 | INT1_X3 | 3INT1_X4 | ||
INT1_X4 | 4INT1_X5 | |||
INT1_X5 | 5 | |||
INT1_X6 | INT1_X6 | 6 | ||
INT1_X7 | INT1_X7 | 13 | ||
INT1_X8 | INT1_X8 | 14INT1_X9 | ||
INT1_X9 | 15 | |||
INT2 | _X1INT2_X1 | 5 | ||
INT2_X2 | INT2_X2 | 6INT2_X3 | ||
INT2_X3 | 7INT2_X4 | |||
INT2_X4 | 8 | |||
INT2_X5 | INT2_X5 | 9 | ||
INT2_X6 | INT2_X6 | 10 | ||
INT2_X7 | INT2_X7 | 11INT2_X8 | ||
INT2_X8 | 16 | |||
INT2_X9 | INT2_X9 | 17 | ||
INT3 | _X1INT3_X1 | 5 | ||
INT3_X2 | INT3_X2 | 6INT3_X3 | ||
INT3_X3 | 7INT3_X4 | |||
INT3_X4 | 8 | |||
INT3_X5 | 9 | |||
INT3_X5 | 9 | |||
INT3_X6 | INT3_X6 | 10 | ||
INT3_X7X6 | 10 | |||
INT3_X7 | 11INT3_X8 | |||
INT3_X8 | 16INT3_X9 | |||
INT3_X9 | 17 | |||
INT4 | _X1INT4_X1 | 7 | ||
INT4_X2 | INT4_X2 | 8INT4_X3 | ||
INT4_X3 | 9INT4_X4 | |||
INT4_X4 | 10 | |||
INT4_X5 | INT4_X5 | 11INT4_X6 | ||
INT4_X6 | 12INT4_X7 | |||
INT4_X7 | 13INT4_X8 | |||
INT4_X8 | 18 | |||
INT4_X9 | INT4_X9 | 19 | ||
INT5 | _X1INT5_X1 | 7 | ||
INT5_X2 | INT5_X2 | 8INT5_X3 | ||
INT5_X3 | 9 | |||
INT5_X4 | INT5_X4 | 10INT5_X5 | ||
INT5_X5 | 11INT5_X6 | |||
INT5_X6 | 12INT5_X7 | |||
INT5_X7 | 13 | |||
INT5_X8 | INT5_X8 | 18 | ||
INT5_X9 | INT5_X9 | 19 | ||
INT6 | _X1INT6_X1 | 9INT6_X2 | ||
INT6_X2 | 10 | |||
INT6_X3 | INT6_X3 | 11 | ||
INT6_X4 | INT6_X4 | 12 | ||
INT6_X5 | INT6_X5 | 13INT6_X6 | ||
INT6_X6 | 14 | |||
INT6_X7 | INT6_X7 | 15 | ||
INT6_X8 | 16 | |||
INT6_X8 | 16 | INT6_X9 | INT6_X9 | 17 |
INT6_X10 | INT6_X10 | 18INT6_X11 | ||
INT6_X11 | 19 | |||
INT7 | _X1INT7_X1 | 9 | ||
INT7_X2 | INT7_X2 | 10 | ||
INT7_X3 | INT7_X3 | 11INT7_X4 | ||
INT7_X4 | 12INT7_X5 | |||
INT7_X5 | 13 | |||
INT7_X6 | INT7_X6 | 14 | ||
INT7_X7 | INT7_X7 | 15INT7_X8 | ||
INT7_X8 | 16INT7_X9 | |||
INT7_X9 | 17 | |||
INT7_X10 | INT7_X10 | 18 | ||
INT7_X11 | INT7_X11 | 19 | ||
GPIO_AO_INT0 | _X1GPIO_AO_INT0_X1 | 52, 53, 54, 55, 56, 57, 58, 59 | ||
GPIO_AO_INT0_X2 | GPIO_AO_INT0_X2 | 68, 69, 70, 71, 72, 73, 74, 75 | ||
GPIO_AO_INT1 | _X1GPIO_AO_INT1_X1 | 60, 61, 62, 63, 64, 65, 66, 67GPIO_AO_INT1_X2 | ||
GPIO_AO_INT1_X2 | 76, 77, 78, 79, 80, 81, 82, 83 | |||
GPIO_AO_INT2 | _X1GPIO_AO_INT2_X1 | 68, 69, 70, 71, 72, 73, 74, 75 | ||
GPIO_AO_INT2_X2 | GPIO_AO_INT2_X2 | 84, 85, 86, 87, 88, 89, 90, 91 | ||
GPIO_AO_INT3 | _X1GPIO_AO_INT3_X1 | 76, 77, 78, 79, 80, 81, 82, 83 | ||
GPIO_AO_INT3_X2 | GPIO_AO_INT3_X2 | 91, 92, 93, 94, 95, 96, 97, 98 |
Function Table
function name
binding group name
GPIO
all groups and all pins
SPI_FLASH
SPI_FLASH
EMMC
EMMC
SPI_NAND
SPI_NAND_X1, SPI_NAND_X2
SD_CARD
SD_CARD
SDIO
SDIO
PARA_NAND
PARA_NAND
USB_OTG
USB_OTG
GMAC
GMAC_RGMII, GMAC_RMII
PWM0
PWM0_X1, PWM0_X2
PWM1
PWM1_X1, PWM1_X2
PWM2
PWM2_X1, PWM2_X2
PWM3
PWM3_X1, PWM3_X2
UART0
UART0_X1, UART0_X2
UART1
UART1_X1, UART1_X2
UART1_FC
UART1_FC_X1, UART1_FC_X2
UART2
UART2_X1, UART2_X2
UART2_FC
UART2_FC_X1, UART2_FC_X2
UART3
UART3_X1, UART3_X2
UADBG
UADBG
UART6
UART6_X1, UART6_X2
UART7
UART7
I2C_COMBO0
I2C_COMBO0_X1, I2C_COMBO0_X2
I2C_COMBO1
I2C_COMBO1
I2C_COMBO2
I2C_COMBO2_X1, I2C_COMBO2_X2
I2C_COMBO3
I2C_COMBO3
I2C_COMBO4
I2C_COMBO4
I2C_COMBO5
I2C_COMBO5
I2C_COMBO6
I2C_COMBO6_X1, I2C_COMBO6_X2
I2C_COMBO7
I2C_COMBO7_X1, I2C_COMBO7_X2
I2C_COMBO8
I2C_COMBO8_X1, I2C_COMBO8_X2
I2C_COMBO9
I2C_COMBO9_X1, I2C_COMBO9_X2
SPI_MASTER0
SPI_MASTER0_X1, SPI_MASTER0_X2
SPI_MASTER1
SPI_MASTER1_X1, SPI_MASTER1_X2
SPI_MASTER2
SPI_MASTER2
SPI_MASTER3
SPI_MASTER3_X1, SPI_MASTER3_X2
SPI_MASTER4
SPI_MASTER4
SPI_SLAVE0
SPI_SLAVE0_X1, SPI_SLAVE0_X2
AUD_TDMTX_XCK
AUD_TDMTX_XCK
AUD_DAC_XCK1
AUD_DAC_XCK1
AUD_DAC_XCK
AUD_DAC_XCK
AUD_AU2_DATA0
AUD_AU2_DATA0
AUD_AU1_DATA0
AUD_AU1_DATA0
AUD_AU2_CK
AUD_AU2_CK
AUD_AU1_CK
AUD_AU1_CK
AUD_AU_ADC_DATA0
AUD_AU_ADC_DATA0_X1, AUD_AU_ADC_DATA0_X2
AUD_ADC2_DATA0
AUD_ADC2_DATA0
AUD_ADC1_DATA0
AUD_ADC1_DATA0
AUD_TDM
AUD_TDM
SPDIF_IN
SPDIF_IN_X1 ~ SPDIF_IN_X6
SPDIF_OUT
SPDIF_OUT_X1 ~ SPDIF_OUT_X6
INT0
INT0_X1 ~ INT0_X9
INT1
INT1_X1 ~ INT1_X9
INT2
INT2_X1 ~ INT2_X9
INT3
INT3_X1 ~ INT3_X9
INT4
INT4_X1 ~ INT4_X9
INT5
INT5_X1 ~ INT5_X9
INT6
INT6_X1 ~ INT6_X11
INT7
INT7_X1 ~ INT7_X11
GPIO_AO_INT0
GPIO_AO_INT0_X1, GPIO_AO_INT0_X2
GPIO_AO_INT1
GPIO_AO_INT1_X1, GPIO_AO_INT1_X2
GPIO_AO_INT2
GPIO_AO_INT2_X1, GPIO_AO_INT2_X2
GPIO_AO_INT3