• Ready for review
  • Using a GPIO in Linux

    Almost all function pins of a SOC are GPIO ( General Purpose Input Output).
    They can be configured to serve as a simple input, output or with a special function (i.e. I2C or UART).
    Most pins can be configured with additional settings like drive-strength, pull-up or -down, keeper, etc.

    Using a GPIO from Command Line

    As already mentioned a pin can be configured to serve as GPIO or as a special function.
    The following commands only work as expected, when the pin is configured as GPIO!

    Path in Sysfs:

    /sys/class/gpio

    First thing to do, is to export control of a GPIO to userspace by writing its number to 'export':

    $ echo 68 > /sys/class/gpio/export

    This will create an entry for gpio3.IO[4] = ((bank-1)*32)+pin = ((3-1)*32)+4 = 68 at:

    /sys/class/gpio/gpio68

    To reverse the effect of exporting GPIO 68 to userspace call:

    Configure GPIO as Input

    Read GPIO level

    Configure GPIO as Output

    Instead of using 'out', you can use 'low' and 'high' to ensure glitch free initialization:

    Write GPIO level

    Set pin low:

    Set pin high:

    Trizeps VII & Trizeps VIII GPIOs

    SODIMM

    Name

    1

    MIC_OUT

     

     

    2

    AD3

     

     

    3

    MIC_GND

     

     

    4

    AD2

     

     

    5

    LINEIN_L

     

     

    6

    AD1

     

     

    7

    LINEIN_R

     

     

    8

    AD0

     

     

    9

    AGND

     

     

    10

    VDDA

     

     

    11

    AGND

     

     

    12

    VDDA

     

     

    13

    HEADPHONE_GND

     

     

    14

    TSPX

     

     

    15

    HEADPHONE_L

     

     

    16

    TSMX

     

     

    17

    HEADPHONE_R

     

     

    18

    TSPY

     

     

    19

    UART3_RXD

    gpio4.IO[7]

    gpio5.IO[6]

    20

    TSMY

     

     

    21

    UART3_TXD

    gpio4.IO[6]

    gpio5.IO[7]

    22

    VDD_OTP

     

    gpio5.IO[8]

    23

    UART1_DTR

    gpio7.IO[7]

    gpio3.IO[19]

    24

    BATT

     

    gpio5.IO[9]

    25

    UART1_CTS

    gpio7.IO[3]

    gpio5.IO[27]

    26

    RESET_IN

    gpio2.IO[7]

     

    27

    UART1_RTS

    gpio7.IO[2]

    gpio5.IO[26]

    28

    SPEAKER_P

     

     

    29

    UART1_DSR

    gpio6.IO[14]

    gpio3.IO[20]

    30

    SPEAKER_L

     

     

    31

    UART1_DCD

    gpio6.IO[15]

    gpio4.IO[21]

    32

    UART2_CTS

    gpio7.IO[5]

    gpio5.IO[29]

    33

    UART1_RXD

    gpio7.IO[1]

    gpio5.IO[22]

    34

    UART2_RTS

    gpio7.IO[4]

    gpio5.IO[28]

    35

    UART1_TXD

    gpio7.IO[0]

    gpio5.IO[23]

    36

    UART2_RXD

    gpio6.IO[18]

    gpio5.IO[24]

    37

    UART1_RI

    gpio1.IO[5]

    gpio4.IO[22]

    38

    UART2_TXD

    gpio6.IO[17]

    gpio5.IO[25]

    39

    GND

     

     

    40

    VCC

     

     

    41

    GND

     

     

    42

    VCC

     

     

    43

    IRQ_SP43

    gpio2.IO[6]

    gpio1.IO[7]

    44

    LCD_DE

    gpio4.IO[17]

     

    45

    SP45

    gpio2.IO[3]

    gpio3.IO[4]

    46

    LCD_D07

    gpio4.IO[28]

     

    47

    SD2_CLK

    gpio1.IO[10]

    gpio2.IO[13]

    48

    LCD_D09

    gpio4.IO[30]

     

    49

    CIF_DATA0

    gpio5.IO[30]

    gpio4.IO[2]

    50

    LCD_D11

    gpio5.IO[5]

     

    51

    SD2_DATA3

    gpio1.IO[12]

    gpio2.IO[18]

    52

    LCD_D12

    gpio5.IO[6]

     

    53

    CIF_DATA1

    gpio5.IO[31]

    gpio4.IO[3]

    54

    LCD_D13

    gpio5.IO[7]

     

    55

    SP55

    gpio2.IO[5]

    gpio3.IO[21]

    56

    LCD_PCLK

    gpio4.IO[16]

     

    57

    CIF_DATA2

    gpio6.IO[0]

    gpio4.IO[4]

    58

    LCD_D03

    gpio4.IO[24]

     

    59

    SD2_CARD_DETECT

    gpio1.IO[4]

    gpio2.IO[12]

    60

    LCD_D02

    gpio4.IO[23]

     

    61

    CIF_DATA3

    gpio6.IO[1]

    gpio4.IO[5]

    62

    LCD_D08

    gpio4.IO[29]

     

    63

    CIF_DATA4

    gpio6.IO[2]

    gpio4.IO[6]

    64

    LCD_D15

    gpio5.IO[9]

     

    65

    CIF_DATA5

    gpio6.IO[3]

    gpio4.IO[7]

    66

    LCD_D14

    gpio5.IO[8]

     

    67

    CIF_DATA6

    gpio6.IO[4]

    gpio4.IO[8]

    68

    LCD_HSYNC

    gpio4.IO[18]

     

    69

    PWM1

    gpio6.IO[9]

    gpio5.IO[2]

    70

    LCD_D01

    gpio4.IO[22]

     

    71

    CIF_DATA7

    gpio6.IO[5]

    gpio4.IO[9]

    72

    LCD_D05

    gpio4.IO[26]

     

    73

    CIF_DATA8 / Backlight_Enable

    gpio4.IO[20]

    gpio3.IO[22]

    74

    LCD_D10

    gpio4.IO[31]

     

    75

    CIF_DATA9 / SP75

    gpio5.IO[28]

    gpio3.IO[23]

    76

    LCD_D00

    gpio4.IO[21]

     

    77

    PWM2

    gpio1.IO[9]

    gpio1.IO[1]

    78

    LCD_D04

    gpio4.IO[25]

     

    79

    POWERFAIL

    gpio2.IO[4]

    gpio3.IO[24]

    80

    LCD_D06

    gpio4.IO[27]

     

    81

    SD2_DATA1

    gpio1.IO[14]

    gpio2.IO[16]

    82

    LCD_VSYNC

    gpio4.IO[19]

     

    83

    GND

     

     

    84

    VCC

     

     

    85

    SD2_DATA2

    gpio1.IO[13]

    gpio2.IO[17]

    86

    CIF_VSYNC / SPI_SS0

    gpio4.IO[9] / gpio5.IO[21]

    gpio5.IO[13]

    87

    RESET_OUT

    gpio7.IO[12]

    gpio1.IO[2] / gpio3.IO[14]

    88

    CIF_MCLK / SPI_SCLK

    gpio4.IO[6] / gpio1.IO[0]

    gpio4.IO[20] / gpio5.IO[10]

    89

    WE / SP89

    gpio2.IO[26]

     

    90

    CIF_PCLK

    gpio4.IO[8] / gpio5.IO[18]

    gpio4.IO[1] / gpio5.IO[12]

    91

    OE / SP91

    gpio2.IO[25]

     

    92

    CIF_HSYNC

    gpio4.IO[8] / gpio5.IO[19]

    gpio4.IO[0] / gpio5.IO[11]

    93

    RD/WR / SP95

    gpio5.IO[29]

    gpio3.IO[18]

    94

    I2C1_SCL / SP94

    gpio5.IO[27]

    gpio5.IO[14]

    95

    RDY

    gpio5.IO[0]

    gpio3.IO[16]

    96

    I2C1_SDA / SP96

    gpio5.IO[26]

    gpio5.IO[15]

    97

    CAN1_RX

    gpio1.IO[8]

     

    98

    SP98

    gpio7.IO[6]

    gpio1.IO[0]

    99

    CAN1_TX

    gpio1.IO[7]

     

    100

    LCD_PWR_EN

    gpio5.IO[20]

    gpio1.IO[5]

    101

    CAN2_RX

    gpio4.IO[15]

    gpio4.IO[31]

    102

    SP102

    gpio7.IO[8]

    gpio1.IO[8]

    103

    CAN2_TX

    gpio4.IO[14]

    gpio5.IO[0]

    104

    SP104

    gpio2.IO[27]

    gpio3.IO[11]

    105

    CS1

     

    gpio3.IO[0]

    106

    CS4

     

    gpio3.IO[25]

    107

    CS3

    gpio2.IO[23]

    gpio3.IO[1]

    108

    VCC

     

     

    109

    GND

     

     

    110

    A08

    gpio3.IO[8]

    gpio4.IO[12]

    111

    A00

    gpio3.IO[0]

    gpio3.IO[6]

    112

    A09

    gpio3.IO[9]

    gpio4.IO[13]

    113

    A01

    gpio3.IO[1]

    gpio3.IO[7]

    114

    A10

    gpio3.IO[10]

    gpio4.IO[14]

    115

    A02

    gpio3.IO[2]

    gpio5.IO[20]

    116

    A11

    gpio3.IO[11]

    gpio4.IO[15]

    117

    A03

    gpio3.IO[3]

    gpio3.IO[8]

    118

    A12

    gpio3.IO[12]

    gpio4.IO[16]

    119

    A04

    gpio3.IO[4]

    gpio3.IO[9]

    120

    A13

    gpio3.IO[13]

    gpio4.IO[17]

    121

    A05

    gpio3.IO[5]

    gpio3.IO[10]

    122

    A14

    gpio3.IO[14]

    gpio4.IO[18]

    123

    A06

    gpio3.IO[6]

    gpio1.IO[3]

    124

    A15

    gpio3.IO[15]

    gpio4.IO[19]

    125

    A07

    gpio3.IO[7]

    gpio1.IO[6]

    126

    DQM0

    gpio2.IO[28]

    gpio4.IO[10]

    127

    USB_OTG_PEN

    gpio2.IO[0]

    gpio1.IO[12]

    128

    DQM1

    gpio2.IO[29]

    gpio4.IO[11]

    129

    USB_HOST_PEN

    gpio2.IO[2]

    gpio1.IO[14]

    130

    DQM2

    gpio2.IO[30]

     

    131

    USB_HOST_OC

    gpio1.IO[3]

    gpio1.IO[15]

    132

    DQM3

    gpio2.IO[31]

    gpio3.IO[12]

    133

    USB_OTG_OC

    gpio6.IO[10]

    gpio1.IO[13]

    134

    A25

    gpio5.IO[2]

    gpio3.IO[3]

    135

    USB_OTG_VBUS

     

     

    136

    A24

    gpio5.IO[4]

    gpio3.IO[15]

    137

    USB_OTG_ID

    gpio1.IO[1]

     

    138

    A23

    gpio6.IO[6]

     

    139

    USB_OTG_DP

     

     

    140

    A22

    gpio2.IO[16]

     

    141

    USB_OTG_DN

     

     

    142

    A21

    gpio2.IO[17]

     

    143

    USB_HOST_DP

     

     

    144

    A20

    gpio2.IO[18]

     

    145

    USB_HOST_DN

     

     

    146

    A19 / PCM_IN

    gpio2.IO[19]

    gpio5.IO[1]

    147

    GND

     

     

    148

    VCC

     

     

    149

    D00 / DDC_SDA

    gpio3.IO[16]

     

    150

    D16 / LCD_D16

    gpio5.IO[10]

     

    151

    D01

    gpio3.IO[17]

     

    152

    D17 / LCD_D17

    gpio5.IO[11]

     

    153

    D02

    gpio3.IO[18]

     

    154

    D18 / PCIE_WAKE

    gpio6.IO[7]

    gpio3.IO[13]

    155

    D03

    gpio3.IO[19]

     

    156

    D19 / LDO

     

     

    157

    D04

    gpio3.IO[20]

     

    158

    D20 / PCIE_CLKN

     

     

    159

    D05 / SPDIF_IN

    gpio3.IO[21]

    gpio5.IO[4]

    160

    D21 / PCIE_CLKP

     

     

    161

    D06 / SPDIF_OUT

    gpio3.IO[22]

    gpio5.IO[3]

    162

    D22 / PCIE_TXP

     

     

    163

    D07 / SPDIF_EXT_CLK

    gpio3.IO[23]

    gpio5.IO[5]

    164

    D23 / PCIE_TXN

     

     

    165

    D08

    gpio3.IO[24]

     

    166

    D24 / PCIE_RXP

     

     

    167

    D09

    gpio3.IO[25]

     

    168

    D25 / PCIE_RXN

     

     

    169

    D10

    gpio3.IO[26]

     

    170

    LCD_D21

    gpio5.IO[15]

     

    171

    D11

    gpio3.IO[27]

     

    172

    LCD_D20

    gpio5.IO[14]

     

    173

    D12

    gpio3.IO[28]

     

    174

    LCD_D19

    gpio5.IO[13]

     

    175

    D13

    gpio3.IO[29]

     

    176

    LCD_D18

    gpio5.IO[12]

     

    177

    D14

    gpio3.IO[30]

     

    178

    LCD_D23

    gpio5.IO[17]

     

    179

    D15

    gpio3.IO[31]

     

    180

    LCD_D22

    gpio5.IO[16]

     

    181

    GND

     

     

    182

    VCC

     

     

    183

    ETH_LINK_AKT

     

     

    184

    A18 / PCM_OUT

    gpio2.IO[20]

    gpio4.IO[30]

    185

    ETH_SPEED

     

     

    186

    A17 / PCM_CLK

    gpio2.IO[21]

    gpio4.IO[29]

    187

    ETH_TXN

     

     

    188

    A16 / PCM_SYNC

    gpio2.IO[22]

    gpio4.IO[28]

    189

    ETH_TXP

     

     

    190

    SD2_CMD

    gpio1.IO[11]

    gpio2.IO[14]

    191

    ETH_GND

     

     

    192

    SD2_DATA0

    gpio1.IO[15]

    gpio2.IO[15]

    193

    ETH_RXN

     

     

    194

    I2C2_SDA

    gpio4.IO[13]

    gpio5.IO[17]

    195

    ETH_RXP

     

     

    196

    I2C2_SCL

    gpio4.IO[12]

    gpio5.IO[16]

    197

    GND

     

     

    198

    VCC

     

     

    199

    GND

     

     

    200

    VCC RTC