Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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:

  1. 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
languageplain
sdcard_pins: pinmux_sdcard-pins {
    function = "SD_CARD";
    groups = "SD_CARD";
    drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_17700_IOL_21800UA>;
};

...

  1. SDIO with typical drive source current 17.7mA (Min: 6.5mA, Max: 34.6mA) for DVIO.

...

  1. .

Code Block
languageplain
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
languageplain
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>;
    };
};

...

  1. eMMC with typical drive source current 17.7mA (Min: 6.5mA, Max: 34.6mA) for DVIO.

See Appendix/drive_strength_table below.

Code Block
languageplain
emmc_pins: pinmux_emmc-pins {
    function = "EMMC";
    groups = "EMMC";
    drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_17700_IOL_21800UA>;
};

...

  1. I2C0 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.

See Appendix/drive_strength_table below.

Code Block
languageplain
i2c_combo0_pins: pinmux_i2c_combo0-pins {
    function = "I2C_COMBO0";
    groups = "I2C_COMBO0_X1";
    drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>;
};

...

  1. I2C1 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.

See Appendix/drive_strength_table below.

Code Block
languageplain
i2c_combo1_pins: pinmux_i2c_combo1-pins {
    function = "I2C_COMBO1";
    groups = "I2C_COMBO1";
    drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>;
};

...

  1. I2C2 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.

See Appendix/drive_strength_table below.

Code Block
languageplain
i2c_combo2_pins: pinmux_i2c_combo2-pins {
    function = "I2C_COMBO2";
    groups = "I2C_COMBO2_X1";
    drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>;
};

...

  1. I2C3 with typical drive source current 9.9mA (Min: 6.8mA, Max: 13.0mA) for GPIO.

...

  1. .

Code Block
languageplain
i2c_combo3_pins: pinmux_i2c_combo3-pins {
    function = "I2C_COMBO3";
    groups = "I2C_COMBO3";
    drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_9900_IOL_9900UA>;
};

...

  1. I2C6 with typical drive source current 16.4mA (Min: 11.3mA, Max: 21.6mA)for GPIO.

...

  1. .

Code Block
languageplain
i2c_combo6_pins: pinmux_i2c_combo6-pins {
    function = "I2C_COMBO6";
    groups = "I2C_COMBO6_X1";
    drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_16400_IOL_16500UA>;
};

...

  1. I2C7 with typical drive source current 9.9mA (Min: 6.8mA, Max: 13.0mA) for GPIO.

...

  1. .

Code Block
languageplain
i2c_combo7_pins: pinmux_i2c_combo7-pins {
    function = "I2C_COMBO7";
    groups = "I2C_COMBO7_X1";
    drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_9900_IOL_9900UA>;
};

...

  1. UART0 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.

See Appendix/drive_strength_table below.

Code Block
languageplain
uart0_pins: pinmux_uart0-pins {
    function = "UART0";
    groups = "UART0_X1";
    drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>;
};

...

  1. UART1 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.

...

  1. .

Code Block
languageplain
uart1_pins: pinmux_uart1-pins {
    function = "UART1";
    groups = "UART1_X1";
    drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>;
};

...

  1. UART2 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.

See Appendix/drive_strength_table below.

Code Block
languageplain
uart2_pins: pinmux_uart2-pins {
    function = "UART2";
    groups = "UART2_X1";
    drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>;
};

...

  1. UART3 with typical drive source current 15.2mA (Min: 5.6mA, Max: 29.7mA) for DVIO.

See Appendix/drive_strength_table below.

Code Block
languageplain
uart3_pins: pinmux_uart3-pins {
    function = "UART3";
    groups = "UART3_X1";
    drive-strength-microamp = <SPPCTRL_DVIO_DRV_IOH_15200_IOL_18700UA>;
};

...

  1. UADBG with typical drive source current 6.6mA (Min: 4.5mA, Max: 8.6mA) for GPIO.

...

  1. .

Code Block
languageplain
uadbg_pins: pinmux_uadbg-pins {
    function = "UADBG";
    groups = "UADBG";
    drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_6600_IOL_6600UA>;
};

...

  1. UART6 with typical drive source current 6.6mA (Min: 4.5mA, Max: 8.6mA) for GPIO.

See Appendix/drive_strength_table below.

Code Block
languageplain
uart6_pins: pinmux_uart6-pins {
    function = "UART6";
    groups = "UART6_X1";
    drive-strength-microamp = <SPPCTRL_GPIO_DRV_IOH_6600_IOL_6600UA>;
};

...

  1. UART7 with typical drive source current 6.6mA (Min: 4.5mA, Max: 8.6mA) for GPIO.

See Appendix/drive_strength_table below.

Code Block
languageplain
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

...