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 of a DVIO group in your circuit boards (hardware), you need to setup Voltage Mode Select (MS control) in device-tree source. Refer to groups of GPIO and DVIO in appendix GPIO Table below in details.
...
Here lists some examples of pin configuration on sp7350-ev.dts:
SD card with typical drive source current 17.7mA (Min: 6.5mA, Max: 34.6mA) for DVIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
sdcard_pins: pinmux_sdcard-pins { function = "SD_CARD"; groups = "SD_CARD"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_17700_IOL_21800UA>; }; |
...
SDIO with typical drive source current 17.7mA (Min: 6.5mA, Max: 34.6mA) for DVIO.
...
.
Code Block | ||
---|---|---|
| ||
sdio_pins: pinmux_sdio-pins { function = "SDIO"; groups = "SDIO"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_17700_IOL_21800UA>; }; |
...
TXD0(GPIO7), TXD1(GPIO8), TXC(GPIO10), TXEN(GPIO11), TXD2(GPIO15), TXD3(GPIO16) with typical drive source current 16.4mA (Min: 11.3mA, Max: 21.6mA) for GPIO.
RXC(GPIO3), RXDV(GPIO4), RXD0(GPIO5), RXD1(GPIO6), RXD2(GPIO13), RXD3(GPIO14) with typical drive source current 8.2mA (Min: 5.7mA, Max: 10.8mA) for GPIO.
MDC(GPIO9), MDIO(GPIO12) with typical drive source current 8.2mA (Min: 5.7mA, Max: 10.8mA) for GPIO.
...
.
Code Block | ||
---|---|---|
| ||
gmac_pins: pinmux_gmac-pins { pinmux{ function = "GMAC"; groups = "GMAC_RGMII"; }; pinconf0 { pins = "GPIO7","GPIO8","GPIO10","GPIO11","GPIO15","GPIO16"; drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_16400_IOL_16500UA>; }; pinconf1 { pins = "GPIO3","GPIO4","GPIO5","GPIO6","GPIO13","GPIO14"; drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_8200_IOL_8300UA>; }; pinconf3 { pins = "GPIO9","GPIO12"; drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_8200_IOL_8300UA>; }; }; |
...
eMMC with typical drive source current 17.7mA (Min: 6.5mA, Max: 34.6mA) for DVIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
emmc_pins: pinmux_emmc-pins { function = "EMMC"; groups = "EMMC"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_17700_IOL_21800UA>; }; |
...
I2C0 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
i2c_combo0_pins: pinmux_i2c_combo0-pins { function = "I2C_COMBO0"; groups = "I2C_COMBO0_X1"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>; }; |
...
I2C1 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
i2c_combo1_pins: pinmux_i2c_combo1-pins { function = "I2C_COMBO1"; groups = "I2C_COMBO1"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>; }; |
...
I2C2 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
i2c_combo2_pins: pinmux_i2c_combo2-pins { function = "I2C_COMBO2"; groups = "I2C_COMBO2_X1"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>; }; |
...
I2C3 with typical drive source current 9.9mA (Min: 6.8mA, Max: 13.0mA) for GPIO.
...
.
Code Block | ||
---|---|---|
| ||
i2c_combo3_pins: pinmux_i2c_combo3-pins { function = "I2C_COMBO3"; groups = "I2C_COMBO3"; drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_9900_IOL_9900UA>; }; |
...
I2C6 with typical drive source current 16.4mA (Min: 11.3mA, Max: 21.6mA)for GPIO.
...
.
Code Block | ||
---|---|---|
| ||
i2c_combo6_pins: pinmux_i2c_combo6-pins { function = "I2C_COMBO6"; groups = "I2C_COMBO6_X1"; drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_16400_IOL_16500UA>; }; |
...
I2C7 with typical drive source current 9.9mA (Min: 6.8mA, Max: 13.0mA) for GPIO.
...
.
Code Block | ||
---|---|---|
| ||
i2c_combo7_pins: pinmux_i2c_combo7-pins { function = "I2C_COMBO7"; groups = "I2C_COMBO7_X1"; drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_9900_IOL_9900UA>; }; |
...
UART0 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
uart0_pins: pinmux_uart0-pins { function = "UART0"; groups = "UART0_X1"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>; }; |
...
UART1 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.
...
.
Code Block | ||
---|---|---|
| ||
uart1_pins: pinmux_uart1-pins { function = "UART1"; groups = "UART1_X1"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>; }; |
...
UART2 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
uart2_pins: pinmux_uart2-pins { function = "UART2"; groups = "UART2_X1"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>; }; |
...
UART3 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
uart3_pins: pinmux_uart3-pins { function = "UART3"; groups = "UART3_X1"; drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>; }; |
...
UADBG with typical drive source current 6.6mA (Min: 4.5mA, Max: 8.6mA) for GPIO.
...
.
Code Block | ||
---|---|---|
| ||
uadbg_pins: pinmux_uadbg-pins { function = "UADBG"; groups = "UADBG"; drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_6600_IOL_6600UA>; }; |
...
UART6 with typical drive source current 6.6mA (Min: 4.5mA, Max: 8.6mA) for GPIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
uart6_pins: pinmux_uart6-pins { function = "UART6"; groups = "UART6_X1"; drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_6600_IOL_6600UA>; }; |
...
UART7 with typical drive source current 6.6mA (Min: 4.5mA, Max: 8.6mA) for GPIO.
See Appendix/drive_strength_table below.
Code Block | ||
---|---|---|
| ||
uart7_pins: pinmux_uart7-pins { function = "UART7"; groups = "UART7"; drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_6600_IOL_6600UA>; }; |
Refer to Driving-strength Table of GPIO and Driving-strength Table of DVIO in Appendix.
Appendix
List of support properties
...