Difference between revisions of "Beagleboard:BeagleBone cape interface spec"
(→Methodology) |
Lorforlinux (talk | contribs) (→/dev/bone/pru/0.0) |
||
(33 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | This is a list of symlink interfaces based on BeagleBone Cape header pins.<ref>[https://docs.google.com/spreadsheets/d/1fE-AsDZvJ-bBwzNBj1_sPDrutvEvsmARqFwvbw_HkrE/edit?usp=sharing Google drive with summary of expansion signals on various BeagleBoard.org designs]</ref><ref>[https://dev.ti.com/pinmux TI Pinmux Helper]</ref> | + | This is a list of symlink interfaces based on BeagleBone Cape header pins.<ref>[https://docs.google.com/spreadsheets/d/1fE-AsDZvJ-bBwzNBj1_sPDrutvEvsmARqFwvbw_HkrE/edit?usp=sharing Google drive with summary of expansion signals on various BeagleBoard.org designs]</ref><ref>[https://dev.ti.com/pinmux TI Pinmux Helper]</ref><ref>[[Beagleboard:Cape Expansion Headers]]</ref> |
+ | |||
+ | = LEDs = | ||
+ | |||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |+ Bone LEDs | ||
+ | |- | ||
+ | ! LED !! Header pin !! BBBWL/BBB !! BBAI | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_03 | ||
+ | | P8_03 || gpio1_6 || gpio1_24 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_04 | ||
+ | | P8_04 || gpio1_7 || gpio1_25 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_05 | ||
+ | | P8_05 || gpio1_2 || gpio7_1 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_06 | ||
+ | | P8_06 || gpio1_3 || gpio7_2 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_07 | ||
+ | | P8_07 || gpio2_2 || gpio6_5 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_08 | ||
+ | | P8_08 || gpio2_3 || gpio6_6 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_09 | ||
+ | | P8_09 || gpio2_5 || gpio6_18 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_10 | ||
+ | | P8_10 || gpio2_4 || gpio6_4 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_11 | ||
+ | | P8_11 || gpio1_13 || gpio3_11 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_12 | ||
+ | | P8_12 || gpio1_12 || gpio3_10 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_13 | ||
+ | | P8_13 || gpio0_23 || gpio4_11 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_14 | ||
+ | | P8_14 || gpio0_26 || gpio4_13 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_15 | ||
+ | | P8_15 || gpio1_15 || gpio4_3 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_16 | ||
+ | | P8_16 || gpio1_14 || gpio4_29 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_17 | ||
+ | | P8_17 || gpio0_27 || gpio8_18 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_18 | ||
+ | | P8_18 || gpio2_1 || gpio4_9 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_19 | ||
+ | | P8_19 || gpio0_22 || gpio4_10 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_20 | ||
+ | | P8_20 || gpio1_31 || gpio6_30 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_21 | ||
+ | | P8_21 || gpio1_30 || gpio6_29 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_22 | ||
+ | | P8_22 || gpio1_5 || gpio1_23 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_23 | ||
+ | | P8_23 || gpio1_4 || gpio1_22 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_24 | ||
+ | | P8_24 || gpio1_1 || gpio7_0 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_25 | ||
+ | | P8_25 || gpio1_0 || gpio6_31 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_26 | ||
+ | | P8_26 || gpio1_29 || gpio4_28 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_27 | ||
+ | | P8_27 || gpio2_22 || gpio4_23 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_28 | ||
+ | | P8_28 || gpio2_24 || gpio4_19 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_29 | ||
+ | | P8_29 || gpio2_23 || gpio4_22 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_30 | ||
+ | | P8_30 || gpio2_25 || gpio4_20 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_31 | ||
+ | | P8_31 || gpio0_10 || gpio8_14 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_32 | ||
+ | | P8_32 || gpio0_11 || gpio8_15 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_33 | ||
+ | | P8_33 || gpio0_9 || gpio8_13 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_34 | ||
+ | | P8_34 || gpio2_17 || gpio8_11 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_35 | ||
+ | | P8_35 || gpio0_8 || gpio8_12 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_36 | ||
+ | | P8_36 || gpio2_16 || gpio8_10 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_37 | ||
+ | | P8_37 || gpio2_14 || gpio8_8 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_38 | ||
+ | | P8_38 || gpio2_15 || gpio8_9 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_39 | ||
+ | | P8_39 || gpio2_12 || gpio8_6 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_40 | ||
+ | | P8_40 || gpio2_13 || gpio8_7 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_41 | ||
+ | | P8_41 || gpio2_10 || gpio8_4 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_42 | ||
+ | | P8_42 || gpio2_11 || gpio8_5 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_43 | ||
+ | | P8_43 || gpio2_8 || gpio8_2 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_44 | ||
+ | | P8_44 || gpio2_9 || gpio8_3 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_45 | ||
+ | | P8_45 || gpio2_6 || gpio8_0 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P8_46 | ||
+ | | P8_46 || gpio2_7 || gpio8_1 | ||
+ | |||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_11 | ||
+ | | P9_11 || gpio0_30 || gpio8_17 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_12 | ||
+ | | P9_12 || gpio1_28 || gpio5_0 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_13 | ||
+ | | P9_13 || gpio0_31 || gpio6_12 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_14 | ||
+ | | P9_14 || gpio1_18 || gpio4_25 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_15 | ||
+ | | P9_15 || gpio1_16 || gpio3_12 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_16 | ||
+ | | P9_16 || gpio1_19 || gpio4_26 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_17 | ||
+ | | P9_17 || gpio0_5 || gpio7_17 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_18 | ||
+ | | P9_18 || gpio0_4 || gpio7_16 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_19 | ||
+ | | P9_19 || gpio0_13 || gpio7_3 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_20 | ||
+ | | P9_20 || gpio0_12 || gpio7_4 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_21 | ||
+ | | P9_21 || gpio0_3 || gpio3_3 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_22 | ||
+ | | P9_22 || gpio0_2 || gpio6_19 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_23 | ||
+ | | P9_23 || gpio1_17 || gpio7_11 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_24 | ||
+ | | P9_24 || gpio0_15 || gpio6_15 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_25 | ||
+ | | P9_25 || gpio3_21 || gpio6_17 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_26 | ||
+ | | P9_26 || gpio0_14 || gpio6_14 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_27 | ||
+ | | P9_27 || gpio3_19 || gpio4_15 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_28 | ||
+ | | P9_28 || gpio3_17 || gpio4_17 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_29 | ||
+ | | P9_29 || gpio3_15 || gpio5_11 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_30 | ||
+ | | P9_30 || gpio3_16 || gpio5_12 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_31 | ||
+ | | P9_31 || gpio3_14 || gpio5_10 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_41 | ||
+ | | P9_41 || gpio0_20 || gpio6_20 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_91 | ||
+ | | P9_91 || gpio3_20 || ❌ | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_42 | ||
+ | | P9_42 || gpio0_7 || gpio4_18 | ||
+ | |- | ||
+ | ! /sys/class/leds/led_P9_92 | ||
+ | | P9_92 || gpio3_18 || ❌ | ||
+ | |- | ||
+ | ! /sys/class/leds/led_A15 | ||
+ | | A15 || gpio0_19 || ❌ | ||
+ | |- | ||
+ | |||
+ | |} | ||
= I2C = | = I2C = | ||
+ | |||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |+ Bone bus I2C | ||
+ | |- | ||
+ | ! Bone bus !! BBBWL/BBB !! BBAI !! SCL !! SDA !! Overlay | ||
+ | |- | ||
+ | !/dev/bone/i2c/0 | ||
+ | | I2C0 || I2C1 | ||
+ | | colspan="3" style="text-align: center;" |❌ (On-board) | ||
+ | |- | ||
+ | |- | ||
+ | !/dev/bone/i2c/1 | ||
+ | | I2C1 || I2C5 || P9.17 || P9.18 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C1.dts BONE-I2C1.dts] | ||
+ | |- | ||
+ | |- | ||
+ | !/dev/bone/i2c/2 | ||
+ | | I2C2 || I2C4 || P9.19 || P9.20 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C2.dts BONE-I2C2.dts] | ||
+ | |- | ||
+ | |- | ||
+ | !/dev/bone/i2c/2a | ||
+ | | I2C2 || N/A || P9.21 || P9.22 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C2A.dts BONE-I2C2A.dts] | ||
+ | |- | ||
+ | |- | ||
+ | !/dev/bone/i2c/3 | ||
+ | | I2C1 || I2C3 || P9.24 || P9.26 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C3.dts BONE-I2C3.dts] | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | <!-- | ||
=== /dev/bone/i2c/0 === | === /dev/bone/i2c/0 === | ||
AM3358 I2C0<br> | AM3358 I2C0<br> | ||
Line 30: | Line 287: | ||
=== /dev/bone/i2c/3 === | === /dev/bone/i2c/3 === | ||
TODO<br> | TODO<br> | ||
− | AM3358 | + | AM3358 I2C1<br> |
AM5729 I2C3 | AM5729 I2C3 | ||
* P9.24 - SCL | * P9.24 - SCL | ||
* P9.26 - SDA | * P9.26 - SDA | ||
− | |||
=== /dev/bone/i2c/5 === | === /dev/bone/i2c/5 === | ||
AM3358 ''N/A''<br> | AM3358 ''N/A''<br> | ||
Line 56: | Line 312: | ||
= SPI = | = SPI = | ||
+ | |||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |+ Bone bus SPI | ||
+ | |- | ||
+ | ! Bone bus !! BBBWL/BBB !! BBAI !! MOSI !! MISO !! CLK !! CS !! Overlay | ||
+ | |- | ||
+ | !/dev/bone/spi/0.''x'' | ||
+ | | SPI0 || SPI2 || P9.18 || P9.21 || P9.22 | ||
+ | | P9.17 (CS0) | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_spi/src/arm/BONE-SPI0_0.dts BONE-SPI0_0.dts] | ||
+ | |- | ||
+ | |- | ||
+ | !/dev/bone/spi/1.''x'' | ||
+ | | SPI1 || SPI3 || P9.30 || P9.29 || P9.31 | ||
+ | | | ||
+ | * P9.28 (CS0) | ||
+ | * P9.42 (CS1) | ||
+ | | | ||
+ | * [https://github.com/lorforlinux/bb.org-overlays/blob/bone_spi/src/arm/BONE-SPI1_0.dts BONE-SPI1_0.dts] | ||
+ | * [https://github.com/lorforlinux/bb.org-overlays/blob/bone_spi/src/arm/BONE-SPI1_1.dts BONE-SPI1_1.dts] | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <!-- | ||
Need to add a symlink from /dev/spi to /dev/bone/spi. | Need to add a symlink from /dev/spi to /dev/bone/spi. | ||
Line 93: | Line 376: | ||
AM5729 SPI3 GPIO7_11 | AM5729 SPI3 GPIO7_11 | ||
* P9.23 - CS | * P9.23 - CS | ||
+ | --> | ||
= UART = | = UART = | ||
+ | |||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |+ Bone bus UART | ||
+ | |- | ||
+ | ! Bone bus !! BBBWL/BBB !! BBAI !! TX !! RX !! RTSn !! CTSn !! Overlays | ||
+ | |- | ||
+ | ! /dev/bone/uart/0 | ||
+ | | UART0 || UART1 | ||
+ | | colspan="5" style="text-align: center;" | ❌ (console debug header pins) | ||
+ | |- | ||
+ | ! /dev/bone/uart/1 | ||
+ | | UART1 || UART10 || P9.24 || P9.26 | ||
+ | | | ||
+ | * P9.19 | ||
+ | * P8.4 (''N/A'' on AM3358) | ||
+ | | | ||
+ | * P9.20 | ||
+ | * P8.3 (''N/A'' on AM3358) | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART1.dts BONE-UART1.dts] | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | ! /dev/bone/uart/2 | ||
+ | | UART2 || UART3 || P9.21 || P9.22 | ||
+ | | | ||
+ | * P8.38 (N/A on AM5729) | ||
+ | | | ||
+ | * P8.37 (N/A on AM5729) | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART2.dts BONE-UART2.dts] | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | ! /dev/bone/uart/3 | ||
+ | | UART3 || ❌ || P9.42 || ❌ | ||
+ | | ❌ | ||
+ | | ❌ | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART3.dts BONE-UART3.dts] | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | ! /dev/bone/uart/4 | ||
+ | | UART4 || UART5 || P9.13 || P9.11 | ||
+ | | | ||
+ | * P8.33 (N/A on AM5729) | ||
+ | * P8.6 (N/A on AM3358) | ||
+ | | | ||
+ | * P8.35 (N/A on AM5729) | ||
+ | * P8.5 (N/A on AM3358) | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART4.dts BONE-UART4.dts] | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | ! /dev/bone/uart/5 | ||
+ | | UART5 || UART8 || P8.37 || P8.38 | ||
+ | | P8.32 | ||
+ | | P8.31 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART5.dts BONE-UART5.dts] | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | |||
+ | <!-- | ||
=== /dev/bone/uart/0 === | === /dev/bone/uart/0 === | ||
AM3358 UART0<br> | AM3358 UART0<br> | ||
Line 149: | Line 495: | ||
* P8.32 - RTSn | * P8.32 - RTSn | ||
* P8.31 - CTSn | * P8.31 - CTSn | ||
+ | --> | ||
= CAN = | = CAN = | ||
+ | |||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |+ Bone bus CAN | ||
+ | |- | ||
+ | <!-- ! Bone bus! --> | ||
+ | ! BBBWL/BBB !! BBAI !! TX !! RX !! Overlays | ||
+ | |- | ||
+ | <!-- !/dev/bone/can/0 --> | ||
+ | | CAN0 || ❌ || P9.20 || P9.19 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_can/src/arm/BONE-CAN0.dts BONE-CAN0.dts] | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | <!-- !/dev/bone/can/1 --> | ||
+ | | CAN1 || CAN2 || P9.26 || P9.24 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_can/src/arm/BONE-CAN1.dts BONE-CAN1.dts] | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | <!-- !/dev/bone/can/2 --> | ||
+ | | ❌ || CAN1 (rev A2 and later) || P8.8 || P8.7 | ||
+ | | TODO | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | |||
+ | <!-- | ||
=== /dev/bone/can/0 === | === /dev/bone/can/0 === | ||
https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-CAN0-00A0.dts <br> | https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-CAN0-00A0.dts <br> | ||
Line 169: | Line 543: | ||
AM3358 ''N/A''<br> | AM3358 ''N/A''<br> | ||
AM5729 CAN1 (AI rev A2 and later) | AM5729 CAN1 (AI rev A2 and later) | ||
− | * | + | * P8.7 - proposed |
+ | * P8.8 - proposed | ||
+ | --> | ||
= ADC = | = ADC = | ||
Line 184: | Line 560: | ||
* 6 - AM3358 in_voltage6_raw, AM5729 in_voltage4_raw | * 6 - AM3358 in_voltage6_raw, AM5729 in_voltage4_raw | ||
− | = PWM/TIMER/ECAP = | + | = PWM = |
+ | |||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |+ Bone bus I2C | ||
+ | |- | ||
+ | ! Bone bus !! BBBWL/BBB !! BBAI !! A !! B !! Overlay | ||
+ | |- | ||
+ | !/dev/bone/pwm/0 | ||
+ | | PWM0 || ❌ || P9.22 || P9.21 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_pwm/src/arm/BONE-PWM0.dts BONE-PWM0.dts] | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | !/dev/bone/pwm/1 | ||
+ | | PWM1 || PWM3 || P9.14 || P9.16 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_pwm/src/arm/BONE-PWM1.dts BONE-PWM1.dts] | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | !/dev/bone/pwm/2 | ||
+ | | PWM2 || PWM2 || P8.19 || P8.13 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_pwm/src/arm/BONE-PWM2.dts BONE-PWM2.dts] | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | |||
+ | = TIMER PWM= | ||
+ | |||
+ | |||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |+ Bone TIMER PWMs | ||
+ | |- | ||
+ | ! Bone bus !! Header pin !! BBBWL/BBB !! BBAI !! overlay | ||
+ | |- | ||
+ | ! /sys/bus/platform/devices/bone_timer_pwm_0/ | ||
+ | | P8.10 || timer6 || timer10 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_0.dts BONE-TIMER_PWM_0.dts] | ||
+ | |- | ||
+ | ! /sys/bus/platform/devices/bone_timer_pwm_1/ | ||
+ | | P8.07 || timer4 || timer11 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_1.dts BONE-TIMER_PWM_1.dts] | ||
+ | |- | ||
+ | ! /sys/bus/platform/devices/bone_timer_pwm_2/ | ||
+ | | P8.08 || timer7 || timer12 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_2.dts BONE-TIMER_PWM_2.dts] | ||
+ | |- | ||
+ | ! /sys/bus/platform/devices/bone_timer_pwm_3/ | ||
+ | | P9.21 || ❌ || timer13 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_3.dts BONE-TIMER_PWM_3.dts] | ||
+ | |- | ||
+ | ! /sys/bus/platform/devices/bone_timer_pwm_4/ | ||
+ | | P8.09 || timer5 || timer14 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_4.dts BONE-TIMER_PWM_4.dts] | ||
+ | |- | ||
+ | ! /sys/bus/platform/devices/bone_timer_pwm_5/ | ||
+ | | P9.22 || ❌ || timer15 | ||
+ | | [https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_5.dts BONE-TIMER_PWM_5.dts] | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | = ECAP = | ||
+ | |||
+ | <!-- | ||
=== /dev/bone/pwm/0 === | === /dev/bone/pwm/0 === | ||
https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-PWM0-00A0.dts <br> | https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-PWM0-00A0.dts <br> | ||
Line 205: | Line 643: | ||
* P8.19 - A | * P8.19 - A | ||
* P8.13 - B | * P8.13 - B | ||
+ | |||
=== /dev/bone/timer/4 === | === /dev/bone/timer/4 === | ||
Line 229: | Line 668: | ||
AM5729 TIMER12 | AM5729 TIMER12 | ||
* P8.8 | * P8.8 | ||
+ | --> | ||
=== /dev/bone/ecap/1 === | === /dev/bone/ecap/1 === | ||
Line 312: | Line 752: | ||
= PRU = | = PRU = | ||
The overlay situation for PRUs is a bit more complex than with other peripherals. The mechanism for loading, starting and stopping the PRUs can go through either UIO or RemoteProc.<ref>reference needed</ref> | The overlay situation for PRUs is a bit more complex than with other peripherals. The mechanism for loading, starting and stopping the PRUs can go through either UIO or RemoteProc.<ref>reference needed</ref> | ||
+ | |||
+ | === /dev/bone/pru/0.0 (eCAP) === | ||
+ | Not sure where to put this as it doesn't really have it's own Linux control interface, just an overlay.<br> | ||
+ | TODO: provide overlay, since it is a different pinctrl mode.<br> | ||
+ | AM3358 PRUSS<br> | ||
+ | AM5729 PRUSS1 | ||
+ | * P8.15 | ||
=== /dev/bone/pru/0.0 === | === /dev/bone/pru/0.0 === | ||
Line 319: | Line 766: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! PIN | + | ! PIN !! AM3358 !! AM5729 |
|- | |- | ||
− | | P8.11 | + | | P8.11 || out 15 || I/O 4 |
|- | |- | ||
− | | P8.12 | + | | P8.12 || out 14 || I/O 3 |
|- | |- | ||
− | | P8.15 | + | | P8.15 || in 15 || see [[#/dev/bone/pru/0.1|pru/0.1]] |
|- | |- | ||
− | | P8.16 || | + | | P8.16 || in 14 || see [[#/dev/bone/pru/0.1|pru/0.1]] |
|- | |- | ||
− | | P8.17 | + | | P8.17 || - || I/O 15 |
|- | |- | ||
− | | P9.15 | + | | P9.15 || - || I/O 5 |
|- | |- | ||
− | | P9.24 | + | | P9.24 || in 16 || - |
|- | |- | ||
− | | P9.25 | + | | P9.25 || I/O 7 || see [[#/dev/bone/pru/1.1|pru/1.1]] |
|- | |- | ||
− | | P9.26 | + | | P9.26 || see [[#/dev/bone/pru/0.1|pru0.1]] || I/O 17 |
|- | |- | ||
− | | P9.27 | + | | P9.27 || I/O 5 || see [[#/dev/bone/pru/0.1|pru/0.1]] |
|- | |- | ||
− | | P9.28 | + | | P9.28 || I/O 3 || see [[#/dev/bone/pru/1.1|pru/1.1]] |
|- | |- | ||
− | | P9.29 | + | | P9.29 || I/O 1 || see [[#/dev/bone/pru/1.1|pru/1.1]] |
|- | |- | ||
− | | P9.30 | + | | P9.30 || I/O 2 || see [[#/dev/bone/pru/1.1|pru/1.1]] |
|- | |- | ||
− | | P9.31 | + | | P9.31 || I/O 0 || see [[#/dev/bone/pru/1.1|pru/1.1]] |
|- | |- | ||
− | | P9.41 | + | | P9.41 || I/O 6 || see [[#/dev/bone/pru/0.1|pru/0.1]] |
|- | |- | ||
− | | P9.42 | + | | P9.42 || I/O 4 || see [[#/dev/bone/pru/1.1|pru/1.1]] or [[#/deb/bone/pru/2.0|pru/2.0]] |
|- | |- | ||
− | | USR0 | + | | USR0 || - || I/O 10 |
|- | |- | ||
− | | USR2 | + | | USR2 || - || I/O 8 |
|- | |- | ||
− | | USR3 | + | | USR3 || - || I/O 7 |
|- | |- | ||
− | | USR4 | + | | USR4 || - || I/O 0 |
|} | |} | ||
Line 366: | Line 813: | ||
AM3358 PRU1<br> | AM3358 PRU1<br> | ||
AM5279 PRUSS1, PRU1 | AM5279 PRUSS1, PRU1 | ||
− | + | {| class="wikitable" | |
− | + | |- | |
− | + | ! PIN !! AM3358 !! AM5729 | |
− | + | |- | |
+ | | P8.13 || - || I/O 7 | ||
+ | |- | ||
+ | | P8.14 || - || I/O 9 | ||
+ | |- | ||
+ | | P8.15 || - || I/O 16 | ||
+ | |- | ||
+ | | P8.16 || - || I/O 18 | ||
+ | |} | ||
=== /dev/bone/pru/1.0 === | === /dev/bone/pru/1.0 === | ||
Line 388: | Line 843: | ||
* P8.9 - I/O 6 (''N/A'' on AM3358) | * P8.9 - I/O 6 (''N/A'' on AM3358) | ||
* P8.10 - I/O 15 (''N/A'' on AM3358) | * P8.10 - I/O 15 (''N/A'' on AM3358) | ||
− | |||
= GPIO = | = GPIO = | ||
Line 396: | Line 850: | ||
= Methodology = | = Methodology = | ||
+ | The methodology for applied in the kernel and software images to expose the software interfaces is to be documented here. The most fundamental elements are the device tree entries, including overlays, and udev rules. | ||
+ | |||
+ | == Device Trees == | ||
== udev rules <ref>[https://github.com/beagleboard/customizations/tree/master/etc/udev/rules.d BeagleBoard customizations udev rules]</ref>== | == udev rules <ref>[https://github.com/beagleboard/customizations/tree/master/etc/udev/rules.d BeagleBoard customizations udev rules]</ref>== | ||
Line 416: | Line 873: | ||
# create symlinks for gpios exported to sysfs by DT | # create symlinks for gpios exported to sysfs by DT | ||
SUBSYSTEM=="gpio", ACTION=="add", TEST=="value", ATTR{label}!="sysfs", \ | SUBSYSTEM=="gpio", ACTION=="add", TEST=="value", ATTR{label}!="sysfs", \ | ||
− | RUN+="/bin/mkdir -p /dev/gpio", \ | + | RUN+="/bin/mkdir -p /dev/bone/gpio", \ |
− | RUN+="/bin/ln -sT '/sys/class/gpio/%k' /dev/gpio/%s{label}" | + | RUN+="/bin/ln -sT '/sys/class/gpio/%k' /dev/bone/gpio/%s{label}" |
</pre> | </pre> | ||
Revision as of 10:50, 2 August 2020
This is a list of symlink interfaces based on BeagleBone Cape header pins.[1][2][3]
Contents
LEDs
LED | Header pin | BBBWL/BBB | BBAI |
---|---|---|---|
/sys/class/leds/led_P8_03 | P8_03 | gpio1_6 | gpio1_24 |
/sys/class/leds/led_P8_04 | P8_04 | gpio1_7 | gpio1_25 |
/sys/class/leds/led_P8_05 | P8_05 | gpio1_2 | gpio7_1 |
/sys/class/leds/led_P8_06 | P8_06 | gpio1_3 | gpio7_2 |
/sys/class/leds/led_P8_07 | P8_07 | gpio2_2 | gpio6_5 |
/sys/class/leds/led_P8_08 | P8_08 | gpio2_3 | gpio6_6 |
/sys/class/leds/led_P8_09 | P8_09 | gpio2_5 | gpio6_18 |
/sys/class/leds/led_P8_10 | P8_10 | gpio2_4 | gpio6_4 |
/sys/class/leds/led_P8_11 | P8_11 | gpio1_13 | gpio3_11 |
/sys/class/leds/led_P8_12 | P8_12 | gpio1_12 | gpio3_10 |
/sys/class/leds/led_P8_13 | P8_13 | gpio0_23 | gpio4_11 |
/sys/class/leds/led_P8_14 | P8_14 | gpio0_26 | gpio4_13 |
/sys/class/leds/led_P8_15 | P8_15 | gpio1_15 | gpio4_3 |
/sys/class/leds/led_P8_16 | P8_16 | gpio1_14 | gpio4_29 |
/sys/class/leds/led_P8_17 | P8_17 | gpio0_27 | gpio8_18 |
/sys/class/leds/led_P8_18 | P8_18 | gpio2_1 | gpio4_9 |
/sys/class/leds/led_P8_19 | P8_19 | gpio0_22 | gpio4_10 |
/sys/class/leds/led_P8_20 | P8_20 | gpio1_31 | gpio6_30 |
/sys/class/leds/led_P8_21 | P8_21 | gpio1_30 | gpio6_29 |
/sys/class/leds/led_P8_22 | P8_22 | gpio1_5 | gpio1_23 |
/sys/class/leds/led_P8_23 | P8_23 | gpio1_4 | gpio1_22 |
/sys/class/leds/led_P8_24 | P8_24 | gpio1_1 | gpio7_0 |
/sys/class/leds/led_P8_25 | P8_25 | gpio1_0 | gpio6_31 |
/sys/class/leds/led_P8_26 | P8_26 | gpio1_29 | gpio4_28 |
/sys/class/leds/led_P8_27 | P8_27 | gpio2_22 | gpio4_23 |
/sys/class/leds/led_P8_28 | P8_28 | gpio2_24 | gpio4_19 |
/sys/class/leds/led_P8_29 | P8_29 | gpio2_23 | gpio4_22 |
/sys/class/leds/led_P8_30 | P8_30 | gpio2_25 | gpio4_20 |
/sys/class/leds/led_P8_31 | P8_31 | gpio0_10 | gpio8_14 |
/sys/class/leds/led_P8_32 | P8_32 | gpio0_11 | gpio8_15 |
/sys/class/leds/led_P8_33 | P8_33 | gpio0_9 | gpio8_13 |
/sys/class/leds/led_P8_34 | P8_34 | gpio2_17 | gpio8_11 |
/sys/class/leds/led_P8_35 | P8_35 | gpio0_8 | gpio8_12 |
/sys/class/leds/led_P8_36 | P8_36 | gpio2_16 | gpio8_10 |
/sys/class/leds/led_P8_37 | P8_37 | gpio2_14 | gpio8_8 |
/sys/class/leds/led_P8_38 | P8_38 | gpio2_15 | gpio8_9 |
/sys/class/leds/led_P8_39 | P8_39 | gpio2_12 | gpio8_6 |
/sys/class/leds/led_P8_40 | P8_40 | gpio2_13 | gpio8_7 |
/sys/class/leds/led_P8_41 | P8_41 | gpio2_10 | gpio8_4 |
/sys/class/leds/led_P8_42 | P8_42 | gpio2_11 | gpio8_5 |
/sys/class/leds/led_P8_43 | P8_43 | gpio2_8 | gpio8_2 |
/sys/class/leds/led_P8_44 | P8_44 | gpio2_9 | gpio8_3 |
/sys/class/leds/led_P8_45 | P8_45 | gpio2_6 | gpio8_0 |
/sys/class/leds/led_P8_46 | P8_46 | gpio2_7 | gpio8_1 |
/sys/class/leds/led_P9_11 | P9_11 | gpio0_30 | gpio8_17 |
/sys/class/leds/led_P9_12 | P9_12 | gpio1_28 | gpio5_0 |
/sys/class/leds/led_P9_13 | P9_13 | gpio0_31 | gpio6_12 |
/sys/class/leds/led_P9_14 | P9_14 | gpio1_18 | gpio4_25 |
/sys/class/leds/led_P9_15 | P9_15 | gpio1_16 | gpio3_12 |
/sys/class/leds/led_P9_16 | P9_16 | gpio1_19 | gpio4_26 |
/sys/class/leds/led_P9_17 | P9_17 | gpio0_5 | gpio7_17 |
/sys/class/leds/led_P9_18 | P9_18 | gpio0_4 | gpio7_16 |
/sys/class/leds/led_P9_19 | P9_19 | gpio0_13 | gpio7_3 |
/sys/class/leds/led_P9_20 | P9_20 | gpio0_12 | gpio7_4 |
/sys/class/leds/led_P9_21 | P9_21 | gpio0_3 | gpio3_3 |
/sys/class/leds/led_P9_22 | P9_22 | gpio0_2 | gpio6_19 |
/sys/class/leds/led_P9_23 | P9_23 | gpio1_17 | gpio7_11 |
/sys/class/leds/led_P9_24 | P9_24 | gpio0_15 | gpio6_15 |
/sys/class/leds/led_P9_25 | P9_25 | gpio3_21 | gpio6_17 |
/sys/class/leds/led_P9_26 | P9_26 | gpio0_14 | gpio6_14 |
/sys/class/leds/led_P9_27 | P9_27 | gpio3_19 | gpio4_15 |
/sys/class/leds/led_P9_28 | P9_28 | gpio3_17 | gpio4_17 |
/sys/class/leds/led_P9_29 | P9_29 | gpio3_15 | gpio5_11 |
/sys/class/leds/led_P9_30 | P9_30 | gpio3_16 | gpio5_12 |
/sys/class/leds/led_P9_31 | P9_31 | gpio3_14 | gpio5_10 |
/sys/class/leds/led_P9_41 | P9_41 | gpio0_20 | gpio6_20 |
/sys/class/leds/led_P9_91 | P9_91 | gpio3_20 | ❌ |
/sys/class/leds/led_P9_42 | P9_42 | gpio0_7 | gpio4_18 |
/sys/class/leds/led_P9_92 | P9_92 | gpio3_18 | ❌ |
/sys/class/leds/led_A15 | A15 | gpio0_19 | ❌ |
I2C
Bone bus | BBBWL/BBB | BBAI | SCL | SDA | Overlay |
---|---|---|---|---|---|
/dev/bone/i2c/0 | I2C0 | I2C1 | ❌ (On-board) | ||
/dev/bone/i2c/1 | I2C1 | I2C5 | P9.17 | P9.18 | BONE-I2C1.dts |
/dev/bone/i2c/2 | I2C2 | I2C4 | P9.19 | P9.20 | BONE-I2C2.dts |
/dev/bone/i2c/2a | I2C2 | N/A | P9.21 | P9.22 | BONE-I2C2A.dts |
/dev/bone/i2c/3 | I2C1 | I2C3 | P9.24 | P9.26 | BONE-I2C3.dts |
SPI
Bone bus | BBBWL/BBB | BBAI | MOSI | MISO | CLK | CS | Overlay |
---|---|---|---|---|---|---|---|
/dev/bone/spi/0.x | SPI0 | SPI2 | P9.18 | P9.21 | P9.22 | P9.17 (CS0) | BONE-SPI0_0.dts |
/dev/bone/spi/1.x | SPI1 | SPI3 | P9.30 | P9.29 | P9.31 |
|
UART
Bone bus | BBBWL/BBB | BBAI | TX | RX | RTSn | CTSn | Overlays |
---|---|---|---|---|---|---|---|
/dev/bone/uart/0 | UART0 | UART1 | ❌ (console debug header pins) | ||||
/dev/bone/uart/1 | UART1 | UART10 | P9.24 | P9.26 |
|
|
BONE-UART1.dts |
/dev/bone/uart/2 | UART2 | UART3 | P9.21 | P9.22 |
|
|
BONE-UART2.dts |
/dev/bone/uart/3 | UART3 | ❌ | P9.42 | ❌ | ❌ | ❌ | BONE-UART3.dts |
/dev/bone/uart/4 | UART4 | UART5 | P9.13 | P9.11 |
|
|
BONE-UART4.dts |
/dev/bone/uart/5 | UART5 | UART8 | P8.37 | P8.38 | P8.32 | P8.31 | BONE-UART5.dts |
CAN
BBBWL/BBB | BBAI | TX | RX | Overlays |
---|---|---|---|---|
CAN0 | ❌ | P9.20 | P9.19 | BONE-CAN0.dts |
CAN1 | CAN2 | P9.26 | P9.24 | BONE-CAN1.dts |
❌ | CAN1 (rev A2 and later) | P8.8 | P8.7 | TODO |
ADC
Work needs to be done to create these symlinks as well as handle major differences in the driver used for the ADC. Maybe just have the "okay" in here and more in the base tree?
/dev/bone/adc/n
https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-ADC-00A0.dts
- 0 - AM3358 in_voltage0_raw, AM5729 in_voltage0_raw
- 1 - AM3358 in_voltage1_raw, AM5729 in_voltage1_raw
- 2 - AM3358 in_voltage2_raw, AM5729 in_voltage3_raw
- 3 - AM3358 in_voltage3_raw, AM5729 in_voltage2_raw
- 4 - AM3358 in_voltage4_raw, AM5729 in_voltage7_raw
- 5 - AM3358 in_voltage5_raw, AM5729 in_voltage6_raw
- 6 - AM3358 in_voltage6_raw, AM5729 in_voltage4_raw
PWM
Bone bus | BBBWL/BBB | BBAI | A | B | Overlay |
---|---|---|---|---|---|
/dev/bone/pwm/0 | PWM0 | ❌ | P9.22 | P9.21 | BONE-PWM0.dts |
/dev/bone/pwm/1 | PWM1 | PWM3 | P9.14 | P9.16 | BONE-PWM1.dts |
/dev/bone/pwm/2 | PWM2 | PWM2 | P8.19 | P8.13 | BONE-PWM2.dts |
TIMER PWM
Bone bus | Header pin | BBBWL/BBB | BBAI | overlay |
---|---|---|---|---|
/sys/bus/platform/devices/bone_timer_pwm_0/ | P8.10 | timer6 | timer10 | BONE-TIMER_PWM_0.dts |
/sys/bus/platform/devices/bone_timer_pwm_1/ | P8.07 | timer4 | timer11 | BONE-TIMER_PWM_1.dts |
/sys/bus/platform/devices/bone_timer_pwm_2/ | P8.08 | timer7 | timer12 | BONE-TIMER_PWM_2.dts |
/sys/bus/platform/devices/bone_timer_pwm_3/ | P9.21 | ❌ | timer13 | BONE-TIMER_PWM_3.dts |
/sys/bus/platform/devices/bone_timer_pwm_4/ | P8.09 | timer5 | timer14 | BONE-TIMER_PWM_4.dts |
/sys/bus/platform/devices/bone_timer_pwm_5/ | P9.22 | ❌ | timer15 | BONE-TIMER_PWM_5.dts |
ECAP
/dev/bone/ecap/1
TODO
AM3358 N/A
AM5729 eCAP1_in_PWM1_out
- P8.15
/dev/bone/ecap/2
TODO
AM3358 N/A
AM5729 eCAP2_in_PWM2_out
- P8.14
/dev/bone/ecap/3
TODO
AM3358 N/A
AM5729 eCAP3_in_PWM3_out
- P8.04
MMC
/dev/bone/mmc/2
TODO: need overlay. Note: On Black, this is used by the on-board eMMC. On AI, these pins are available.
AM3358 MMC2
AM5729 MMC3
- P8.21 - CLK
- P8.20 - CMD
- P8.25 - DAT0
- P8.24 - DAT1
- P8.5 - DAT2
- P8.6 - DAT3
- P8.23 - DAT4
- P8.22 - DAT5
- P8.4 - DAT7
- P8.3 - DAT6
LCD
TODO
eQEP
/dev/bone/eqep/0
https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/bone_eqep0-00A0.dts
AM3358 eQEP0
AM5729 eQEP3
- P9.42 - A
- P9.27 - B
- P9.25 - STROBE (N/A on AI)
- P9.41 - INDEX (N/A on AI)
- P8.6 - STROBE (N/A on AM3358)
- P8.5 - INDEX (N/A on AM3358)
/dev/bone/eqep/1
https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/bone_eqep1-00A0.dts
AM3358 eQEP1
AM5729 eQEP1
- P8.34 - A
- P8.36 - B
- P9.21 - STROBE (N/A on AM3358)
/dev/bone/eqep/2
https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/bone_eqep2b-00A0.dts
AM3358 eQEP2
AM5729 eQEP2
- P8.12 - A
- P8.11 - B
- P8.15 - STROBE on AM3358 only
- P8.18 - STROBE on AM5729 only
- P8.16 - INDEX on AM3358 only
- P9.15 - INDEX on AM5729 only
/dev/bone/eqep/2a
https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/bone_eqep2-00A0.dts
AM3358 eQEP2
AM5729 N/A'
- P8.41 - A
- P8.42 - B
- P8.40 - STROBE
- P8.39 - INDEX
McASP
TODO
PRU
The overlay situation for PRUs is a bit more complex than with other peripherals. The mechanism for loading, starting and stopping the PRUs can go through either UIO or RemoteProc.[4]
/dev/bone/pru/0.0 (eCAP)
Not sure where to put this as it doesn't really have it's own Linux control interface, just an overlay.
TODO: provide overlay, since it is a different pinctrl mode.
AM3358 PRUSS
AM5729 PRUSS1
- P8.15
/dev/bone/pru/0.0
TODO
AM3358 PRU0
AM5729 PRUSS1, PRU0
PIN | AM3358 | AM5729 |
---|---|---|
P8.11 | out 15 | I/O 4 |
P8.12 | out 14 | I/O 3 |
P8.15 | in 15 | see pru/0.1 |
P8.16 | in 14 | see pru/0.1 |
P8.17 | - | I/O 15 |
P9.15 | - | I/O 5 |
P9.24 | in 16 | - |
P9.25 | I/O 7 | see pru/1.1 |
P9.26 | see pru0.1 | I/O 17 |
P9.27 | I/O 5 | see pru/0.1 |
P9.28 | I/O 3 | see pru/1.1 |
P9.29 | I/O 1 | see pru/1.1 |
P9.30 | I/O 2 | see pru/1.1 |
P9.31 | I/O 0 | see pru/1.1 |
P9.41 | I/O 6 | see pru/0.1 |
P9.42 | I/O 4 | see pru/1.1 or pru/2.0 |
USR0 | - | I/O 10 |
USR2 | - | I/O 8 |
USR3 | - | I/O 7 |
USR4 | - | I/O 0 |
/dev/bone/pru/0.1
TODO
AM3358 PRU1
AM5279 PRUSS1, PRU1
PIN | AM3358 | AM5729 |
---|---|---|
P8.13 | - | I/O 7 |
P8.14 | - | I/O 9 |
P8.15 | - | I/O 16 |
P8.16 | - | I/O 18 |
/dev/bone/pru/1.0
TODO
AM3358 N/A
AM5729 PRUSS2, PRU0
- P8.3 - I/O 10 (N/A on AM3358)
- P8.4 - I/O 11 (N/A on AM3358)
- P8.5 - I/O 5 (N/A on AM3358)
- P8.6 - I/O 7 (N/A on AM3358)
- P8.8 - I/O 20 (N/A on AM3358)
/dev/bone/pru/1.1
TODO
AM3358 N/A
AM5729 PRUSS2, PRU1
- P8.7 - I/O 16 (N/A on AM3358)
- P8.9 - I/O 6 (N/A on AM3358)
- P8.10 - I/O 15 (N/A on AM3358)
GPIO
TODO
For each of the pins with a GPIO, there should be a symlink that comes from the names
Methodology
The methodology for applied in the kernel and software images to expose the software interfaces is to be documented here. The most fundamental elements are the device tree entries, including overlays, and udev rules.
Device Trees
udev rules [5]
10-of-symlink.rules[6]
#From: https://github.com/mvduin/py-uio/blob/master/etc/udev/rules.d/10-of-symlink.rules # allow declaring a symlink for a device in DT ATTR{device/of_node/symlink}!="", \ ENV{OF_SYMLINK}="%s{device/of_node/symlink}" ENV{OF_SYMLINK}!="", ENV{DEVNAME}!="", \ SYMLINK+="%E{OF_SYMLINK}", \ TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/dev/%E{OF_SYMLINK}"
TBD
#Also courtesy of mvduin # create symlinks for gpios exported to sysfs by DT SUBSYSTEM=="gpio", ACTION=="add", TEST=="value", ATTR{label}!="sysfs", \ RUN+="/bin/mkdir -p /dev/bone/gpio", \ RUN+="/bin/ln -sT '/sys/class/gpio/%k' /dev/bone/gpio/%s{label}"
Verification
TODO: The steps used to verify all of these configurations is to be documented here. It will serve to document what has been tested, how to reproduce the configurations, and how to verify each major triannual release. All faults will be documented in the issue tracker.