I keep finding that I need to translate GPIO pin names and numbers depending on if I am talking to our hardware designer, writing DTBs or looking up solutions based on the BeagleBone Black.
This normally involves looking up data in 3 different pages – so I thought I would combine them all into one place.
The resulting table is too large to fit on the page, so you may need to scroll horizontally to see all the columns.
BeagleBone Black Pin | OSD335x Pin numner | AM335x (ZCZ) Pin Number | Name | DeviceTree Offset | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | GPIO Number |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
P8_1 | - | - | - | - | - | - | - | - | - | - | - | ||
P8_2 | - | - | - | - | - | - | - | - | - | - | - | ||
P8_3 | P4 | R9 | GPIO1_6 | 0x018 | gpmc_ad6 | mmc1_dat6 | - | - | - | - | - | gpio1[6] | 38 |
P8_4 | R4 | T9 | GPIO1_7 | 0x01C | gpmc_ad7 | mmc1_dat7 | - | - | - | - | - | gpio1[7] | 39 |
P8_5 | R11 | R8 | GPIO1_2 | 0x008 | gpmc_ad2 | mmc1_dat2 | - | - | - | - | - | gpio1[2] | 34 |
P8_6 | T3 | T8 | GPIO1_3 | 0x00C | gpmc_ad3 | mmc1_dat3 | - | - | - | - | - | gpio1[3] | 35 |
P8_7 | M1 | R7 | TIMER4 | 0x090 | gpmc_advn_ale | - | timer4 | - | - | - | - | gpio2[2] | 66 |
P8_8 | N1 | T7 | TIMER7 | 0x094 | gpmc_oen_ren | - | timer7 | - | - | - | - | gpio2[3] | 67 |
P8_9 | N3 | T6 | TIMER5 | 0x09C | gpmc_ben0_cle | - | timer5 | - | - | - | - | gpio2[5] | 69 |
P8_10 | N2 | U6 | TIMER6 | 0x098 | gpmc_wen | - | timer6 | - | - | - | - | gpio2[4] | 68 |
P8_11 | R6 | R12 | GPIO1_13 | 0x034 | gpmc_ad13 | lcd_data18 | mmc1_dat5 | mmc2_dat1 | eQEP2B_in | pr1_mii0_txd1 | pr1_pru0_pru_r30_15 | gpio1[13] | 45 |
P8_12 | P6 | T12 | GPIO1_12 | 0x030 | gpmc_ad12 | lcd_data19 | mmc1_dat4 | mmc2_dat0 | eQEP2A_IN | pr1_mii0_txd2 | pr1_pru0_pru_r30_14 | gpio1[12] | 44 |
P8_13 | P5 | T10 | EHRPWM2B | 0x024 | gpmc_ad9 | lcd_data22 | mmc1_dat1 | mmc2_dat5 | ehrpwm2B | pr1_mii0_col | - | gpio0[23] | 23 |
P8_14 | R5 | T11 | GPIO0_26 | 0x028 | gpmc_ad10 | lcd_data21 | mmc1_dat2 | mmc2_dat6 | ehrpwm2_tripzone_in | pr1_mii0_txen | - | gpio0[26] | 26 |
P8_15 | P7 | U13 | GPIO1_15 | 0x03C | gpmc_ad15 | lcd_data16 | mmc1_dat7 | mmc2_dat3 | eQEP2_strobe | pr1_ecap0_ecap_capin_apwm_o | pr1_pru0_pru_r31_15 | gpio1[15] | 47 |
P8_16 | T6 | V13 | GPIO1_14 | 0x038 | gpmc_ad14 | lcd_data17 | mmc1_dat6 | mmc2_dat2 | eQEP2_index | pr1_mii0_txd0 | pr1_pru0_pru_r31_14 | gpio1[14] | 46 |
P8_17 | T5 | U12 | GPIO0_27 | 0x02C | gpmc_ad11 | lcd_data20 | mmc1_dat3 | mmc2_dat7 | ehrpwm0_synco | pr1_mii0_txd3 | - | gpio0[27] | 27 |
P8_18 | T7 | V12 | GPIO2_1 | 0x08C | gpmc_clk | lcd_memory_clk | gpmc_wait1 | mmc2_clk | pr1_mii1_crs | pr1_mdio_mdclk | mcasp0_fsr | gpio2[1] | 65 |
P8_19 | T4 | U10 | EHRPWM2A | 0x020 | gpmc_ad8 | lcd_data23 | mmc1_dat0 | mmc2_dat4 | ehrpwm2A | pr1_mii_mt0_clk | - | gpio0[22] | 22 |
P8_20 | P1 | V9 | GPIO1_31 | 0x084 | gpmc_csn2 | gpmc_be1n | mmc1_cmd | pr1_edio_data_in7 | pr1_edio_data_out7 | pr1_pru1_pru_r30_13 | pr1_pru1_pru_r31_13 | gpio1[31] | 63 |
P8_21 | P2 | U9 | GPIO1_30 | 0x080 | gpmc_csn1 | gpmc_clk | mmc1_clk | pr1_edio_data_in6 | pr1_edio_data_out6 | pr1_pru1_pru_r30_12 | pr1_pru1_pru_r31_12 | gpio1[30] | 62 |
P8_22 | T1 | V8 | GPIO1_5 | 0x014 | gpmc_ad5 | mmc1_dat5 | - | - | - | - | - | gpio1[5] | 37 |
P8_23 | T2 | U8 | GPIO1_4 | 0x010 | gpmc_ad4 | mmc1_dat4 | - | - | - | - | - | gpio1[4] | 36 |
P8_24 | R2 | V7 | GPIO1_1 | 0x004 | gpmc_ad1 | mmc1_dat1 | - | - | - | - | - | gpio1[1] | 33 |
P8_25 | R3 | U7 | GPIO1_0 | 0x000 | gpmc_ad0 | mmc1_dat0 | - | - | - | - | - | gpio1[0] | 32 |
P8_26 | P3 | V6 | GPIO1_29 | 0x07C | gpmc_csn0 | - | - | - | - | - | - | gpio1[29] | 61 |
P8_27 | F3 | U5 | GPIO2_22 | 0x0E0 | lcd_vsync | gpmc_a8 | gpmc_a1 | pr1_edio_data_in2 | pr1_edio_data_out2 | pr1_pru1_pru_r30_8 | pr1_pru1_pru_r31_8 | gpio2[22] | 86 |
P8_28 | F1 | V5 | GPIO2_24 | 0x0E8 | lcd_pclk | gpmc_a10 | pr1_mii0_crs | pr1_edio_data_in4 | pr1_edio_data_out4 | pr1_pru1_pru_r30_10 | pr1_pru1_pru_r31_10 | gpio2[24] | 88 |
P8_29 | F2 | R5 | GPIO2_23 | 0x0E4 | lcd_hsync | gpmc_a9 | gpmc_a2 | pr1_edio_data_in3 | pr1_edio_data_out3 | pr1_pru1_pru_r30_9 | pr1_pru1_pru_r31_9 | gpio2[23] | 87 |
P8_30 | E1 | R6 | GPIO2_25 | 0x0EC | lcd_ac_bias_en | gpmc_a11 | pr1_mii1_crs | pr1_edio_data_in5 | pr1_edio_data_out5 | pr1_pru1_pru_r30_11 | pr1_pru1_pru_r31_11 | gpio2[25] | 89 |
P8_31 | L1 | V4 | UART5_CTSN | 0x0D8 | lcd_data14 | gpmc_a18 | eQEP1_index | mcasp0_axr1 | uart5_rxd | pr1_mii0_rxd3 | uart5_ctsn | gpio0[10] | 10 |
P8_32 | M3 | T5 | UART5_RTSN | 0x0DC | lcd_data15 | gpmc_a19 | eQEP1_strobe | mcasp0_ahclkx | mcasp0_axr3 | pr1_mii0_rxdv | uart5_rtsn | gpio0[11] | 11 |
P8_33 | L2 | V3 | UART4_RTSN | 0x0D4 | lcd_data13 | gpmc_a17 | eQEP1B_in | mcasp0_fsr | mcasp0_axr3 | pr1_mii0_rxer | uart4_rtsn | gpio0[9] | 9 |
P8_34 | K1 | U4 | UART3_RTSN | 0x0CC | lcd_data11 | gpmc_a15 | ehrpwm1B | mcasp0_ahclkr | mcasp0_axr2 | pr1_mii0_rxd0 | uart3_rtsn | gpio2[17] | 81 |
P8_35 | L3 | V2 | UART4_CTSN | 0x0D0 | lcd_data12 | gpmc_a16 | eQEP1A_in | mcasp0_aclkr | mcasp0_axr2 | pr1_mii0_rxlink | uart4_ctsn | gpio0[8] | 8 |
P8_36 | K2 | U3 | UART3_CTSN | 0x0C8 | lcd_data10 | gpmc_a14 | ehrpwm1A | mcasp0_axr0 | - | pr1_mii0_rxd1 | uart3_ctsn | gpio2[16] | 80 |
P8_37 | J1 | U1 | UART5_TXD | 0x0C0 | lcd_data8 | gpmc_a12 | ehrpwm1_tripzone_in | mcasp0_aclkx | uart5_txd | pr1_mii0_rxd3 | uart2_ctsn | gpio2[14] | 78 |
P8_38 | K3 | U2 | UART5_RXD | 0x0C4 | lcd_data9 | gpmc_a13 | ehrpwm0_synco | mcasp0_fsx | uart5_rxd | pr1_mii0_rxd2 | uart2_rtsn | gpio2[15] | 79 |
P8_39 | J33 | T3 | GPIO2_12 | 0x0B8 | lcd_data6 | gpmc_a6 | pr1_edio_data_in6 | eQEP2_index | pr1_edio_data_out6 | pr1_pru1_pru_r30_6 | pr1_pru1_pru_r31_6 | gpio2[12] | 76 |
P8_40 | J2 | T4 | GPIO2_13 | 0x0BC | lcd_data7 | gpmc_a7 | pr1_edio_data_in7 | eQEP2_strobe | pr1_edio_data_out7 | pr1_pru1_pru_r30_7 | pr1_pru1_pru_r31_7 | gpio2[13] | 77 |
P8_41 | H2 | T1 | GPIO2_10 | 0x0B0 | lcd_data4 | gpmc_a4 | pr1_mii0_txd1 | eQEP2A_in | - | pr1_pru1_pru_r30_4 | pr1_pru1_pru_r31_4 | gpio2[10] | 74 |
P8_42 | H1 | T2 | GPIO2_11 | 0x0B4 | lcd_data5 | gpmc_a5 | pr1_mii0_txd0 | eQEP2B_in | - | pr1_pru1_pru_r30_5 | pr1_pru1_pru_r31_5 | gpio2[11] | 75 |
P8_43 | G1 | R3 | GPIO2_8 | 0x0A8 | lcd_data2 | gpmc_a2 | pr1_mii0_txd3 | ehrpwm2_tripzone_in | - | pr1_pru1_pru_r30_2 | pr1_pru1_pru_r31_2 | gpio2[8] | 72 |
P8_44 | H3 | R4 | GPIO2_9 | 0x0AC | lcd_data3 | gpmc_a3 | pr1_mii0_txd2 | ehrpwm0_synco | - | pr1_pru1_pru_r30_3 | pr1_pru1_pru_r31_3 | gpio2[9] | 73 |
P8_45 | G3 | R1 | GPIO2_6 | 0x0A0 | lcd_data0 | gpmc_a0 | pr1_mii_mt0_clk | ehrpwm2A | - | pr1_pru1_pru_r30_0 | pr1_pru1_pru_r31_0 | gpio2[6] | 70 |
P8_46 | G2 | R2 | GPIO2_7 | 0x0A4 | lcd_data1 | gpmc_a1 | pr1_mii0_txen | ehrpwm2B | - | pr1_pru1_pru_r30_1 | pr1_pru1_pru_r31_1 | gpio2[7] | 71 |
P9_1 | - | GND | 0 | ||||||||||
P9_2 | - | GND | 0 | ||||||||||
P9_3 | - | DC_3.3V | 0 | ||||||||||
P9_4 | - | DC_3.3V | 0 | ||||||||||
P9_5 | - | VDD_5V | 0 | ||||||||||
P9_6 | - | VDD_5V | 0 | ||||||||||
P9_7 | - | SYS_5V | 0 | ||||||||||
P9_8 | - | SYS_5V | 0 | ||||||||||
P9_9 | - | PWR_BUT | 0 | ||||||||||
P9_10 | R11 | A10 | SYS_RESETn | RESET_OUT | - | - | - | - | - | - | - | 0 | |
P9_11 | P15 | T17 | UART4_RXD | 0x070 | gpmc_wait0 | mii2_crs | gpmc_csn4 | rmii2_crs_dv | mmc1_sdcd | pr1_mii1_col | uart4_rxd | gpio0[30] | 30 |
P9_12 | N14 | U18 | GPIO1_28 | 0x078 | gpmc_ben1 | mii2_col | gpmc_csn6 | mmc2_dat3 | gpmc_dir | pr1_mii1_rxlink | mcasp0_aclkr | gpio1[28] | 60 |
P9_13 | R16 | U17 | UART4_TXD | 0x074 | gpmc_wpn | mii2_rxerr | gpmc_csn5 | rmii2_rxerr | mmc2_sdcd | pr1_mii1_txen | uart4_txd | gpio0[31] | 31 |
P9_14 | P12 | U14 | EHRPWM1A | 0x048 | gpmc_a2 | mii2_txd3 | rgmii2_td3 | mmc2_dat1 | gpmc_a18 | pr1_mii1_txd2 | ehrpwm1A | gpio1[18] | 50 |
P9_15 | T12 | R13 | GPIO1_16 | 0x040 | gpmc_a0 | gmii2_txen | rmii2_tctl | mii2_txen | gpmc_a16 | pr1_mii_mt1_clk | ehrpwm1_tripzone_input | gpio1[16] | 48 |
P9_16 | T13 | T14 | EHRPWM1B | 0x04C | gpmc_a3 | mii2_txd2 | rgmii2_td2 | mmc2_dat2 | gpmc_a19 | pr1_mii1_txd1 | ehrpwm1B | gpio1[19] | 51 |
P9_17 | A14 | A16 | I2C1_SCL | 0x15C | spi0_cs0 | mmc2_sdwp | I2C1_SCL | ehrpwm0_synci | pr1_uart0_txd | pr1_edio_data_in1 | pr1_edio_data_out1 | gpio0[5] | 5 |
P9_18 | B14 | B16 | I2C1_SDA | 0x158 | spi0_d1 | mmc1_sdwp | I2C1_SDA | ehrpwm0_tripzone | pr1_uart0_rxd | pr1_edio_data_in0 | pr1_edio_data_out0 | gpio0[4] | 4 |
P9_19 | A10 | D17 | I2C2_SCL | 0x17C | uart1_rtsn | timer5 | dcan0_rx | I2C2_SCL | spi1_cs1 | pr1_uart0_rts_n | pr1_edc_latch1_in | gpio0[13] | 13 |
P9_20 | B10 | D18 | I2C2_SDA | 0x178 | uart1_ctsn | timer6 | dcan0_tx | I2C2_SDA | spi1_cs0 | pr1_uart0_cts_n | pr1_edc_latch0_in | gpio0[12] | 12 |
P9_21 | B13 | B17 | UART2_TXD | 0x154 | spi0_d0 | uart2_txd | I2C2_SCL | ehrpwm0B | pr1_uart0_rts_n | pr1_edio_latch_in | EMU3 | gpio0[3] | 3 |
P9_22 | A13 | A17 | UART2_RXD | 0x150 | spi0_sclk | uart2_rxd | I2C2_SDA | ehrpwm0A | pr1_uart0_cts_n | pr1_edio_sof | EMU2 | gpio0[2] | 2 |
P9_23 | R12 | V14 | GPIO1_17 | 0x044 | gpmc_a1 | gmii2_rxdv | rgmii2_rxdv | mmc2_dat0 | gpmc_a17 | pr1_mii1_txd3 | ehrpwm0_synco | gpio1[17] | 49 |
P9_24 | B11 | D15 | UART1_TXD | 0x184 | uart1_txd | mmc2_sdwp | dcan1_rx | I2C1_SCL | - | pr1_uart0_txd | pr1_pru0_pru_r31_16 | gpio0[15] | 15 |
P9_25 | C4 | A14 | GPIO3_21 | 0x1AC | mcasp0_ahclkx | eQEP0_strobe | mcasp0_axr3 | mcasp1_axr1 | EMU4 | pr1_pru0_pru_r30_7 | pr1_pru0_pru_r31_7 | gpio3[21] | 117 |
P9_26 | A11 | D16 | UART1_RXD | 0x180 | uart1_rxd | mmc1_sdwp | dcan1_tx | I2C1_SDA | - | pr1_uart0_rxd | pr1_pru1_pru_r31_16 | gpio0[14] | 14 |
P9_27 | B3 | C13 | GPIO3_19 | 0x1A4 | mcasp0_fsr | eQEP0B_in | mcasp0_axr3 | mcasp1_fsx | EMU2 | pr1_pru0_pru_r30_5 | pr1_pru0_pru_r31_5 | gpio3[19] | 115 |
P9_28 | B1 | C12 | SPI1_CS0 | 0x19C | mcasp0_ahclkr | ehrpwm0_synci | mcasp0_axr2 | spi1_cs0 | eCAP2_in_PWM2_out | pr1_pru0_pru_r30_3 | pr1_pru0_pru_r31_3 | gpio3[17] | 113 |
P9_29 | A2 | B13 | SPI1_D0 | 0x194 | mcasp0_fsx | ehrpwm0B | - | spi1_d0 | mmc1_sdcd | pr1_pru0_pru_r30_1 | pr1_pru0_pru_r31_1 | gpio3[15] | 111 |
P9_30 | B2 | D12 | SPI1_D1 | 0x198 | mcasp0_axr0 | ehrpwm0_tripzone | - | spi1_d1 | mmc2_sdcd | pr1_pru0_pru_r30_2 | pr1_pru0_pru_r31_2 | gpio3[16] | 112 |
P9_31 | A1 | A13 | SPI1_SCLK | 0x190 | mcasp0_aclkx | ehrpwm0A | - | spi1_sclk | mmc0_sdcd | pr1_pru0_pru_r30_0 | pr1_pru0_pru_r31_0 | gpio3[14] | 110 |
P9_32 | - | VADC | 0 | ||||||||||
P9_33 | C7 | C8 | AIN4 | 0 | |||||||||
P9_34 | - | AGND | 0 | ||||||||||
P9_35 | C9 | A8 | AIN6 | 0 | |||||||||
P9_36 | C8 | B8 | AIN5 | 0 | |||||||||
P9_37 | B6 | B7 | AIN2 | 0 | |||||||||
P9_38 | C6 | A7 | AIN3 | 0 | |||||||||
P9_39 | A8 | B6 | AIN0 | 0 | |||||||||
P9_40 | B8 | C7 | AIN1 | 0 | |||||||||
P9_41 | B4 | D14 | CLKOUT2 | 0x1B4 | xdma_event_intr1 | - | tclkin | clkout2 | timer7 | pr1_pru0_pru_r31_16 | EMU3 | gpio0[20] | 20 |
P9_42 | C5 | C18 | GPIO0_7 | 0x164 | eCAP0_in_PWM0_out | uart3_txd | spi1_cs1 | pr1_ecap0_ecap_capin_apwm_o | spi1_sclk | mmc0_sdwp | xdma_event_intr2 | gpio0[7] | 7 |
P9_43 | - | GND | 0 | ||||||||||
P9_44 | - | GND | 0 | ||||||||||
P9_45 | - | GND | 0 | ||||||||||
P9_46 | - | GND | 0 | ||||||||||
P9_@ | A3 | B12 | GPIO3_18 | 0x1A0 | mcasp0_aclkr | eQEP0A_in | mcaspo_axr2 | mcasp1_aclkx | mmc0_sdwp | pr1_pru0_pru_r30_4 | pr1_pru0_pru_r31_4 | gpio3[18] | 114 |
P9_# | C3 | D13 | GPIO3_20 | 0x1A8 | mcasp0_axr1 | eQEP0_index | - | Mcasp1_axr0 | EMU3 | pr1_pru0_pru_r30_6 | pr1_pru0_pru_r31_6 | gpio3[20] | 116 |