Use as many GPIO pins as possible on Beaglebone black

15 views
Skip to first unread message

Wei Shi

unread,
Nov 20, 2018, 8:56:30 AM11/20/18
to BeagleBoard

I would like to use as many GPIO pins as possible on a Beaglebone black board. I use the latest 4.14 image. I am not using HDMI, wireless, but I do need wired Ethernet and EMMC. So I have my uEnv.txt as below:

###Debug: disable uboot autoload of Cape
#disable_uboot_overlay_addr0=1
#disable_uboot_overlay_addr1=1
#disable_uboot_overlay_addr2=1
#disable_uboot_overlay_addr3=1
###
###U-Boot fdt tweaks... (60000 = 384KB)
#uboot_fdt_buffer=0x60000
###U-Boot Overlays###

cmdline=coherent_pool=1M net.ifnames=0 quiet

#In the event of edid real failures, uncomment this next line:
#cmdline=coherent_pool=1M net.ifnames=0 quiet video=HDMI-A-1:1024x768@60e

#Use an overlayfs on top of a read-only root filesystem:
#cmdline=coherent_pool=1M net.ifnames=0 quiet overlayroot=tmpfs

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh


With this configuration, I checked pinmux file @ /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins, I see pin66-80 are configured to Ethernet

pin 66 (PIN66): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 67 (PIN67): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 68 (PIN68): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 69 (PIN69): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 70 (PIN70): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 71 (PIN71): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 72 (PIN72): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 73 (PIN73): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 74 (PIN74): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 75 (PIN75): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 76 (PIN76): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 77 (PIN77): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 78 (PIN78): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 79 (PIN79): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default
pin 80 (PIN80): 4a100000.ethernet (GPIO UNCLAIMED) function cpsw_default group cpsw_default


My 1st question is: Does this mean all these pins (pin66-80) are not usable for GPIO? They occupy quite a few GPIO pins on P8. Is there a way to reclaim these pins for GPIO use while not affecting Ethernet?


My 2nd question is: If later I disable EMMC and only use flash, then will I be able to use most GPIO pins?


Thanks.

Robert Nelson

unread,
Nov 20, 2018, 10:50:20 AM11/20/18
to Beagle Board, weis...@gmail.com
On Tue, Nov 20, 2018 at 7:56 AM Wei Shi <weis...@gmail.com> wrote:
>
> I would like to use as many GPIO pins as possible on a Beaglebone black board. I use the latest 4.14 image. I am not using HDMI, wireless, but I do need wired Ethernet and EMMC. So I have my uEnv.txt as below:


Here's the doc's:

https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Disable_on-board_devices

To disable hdmi add:

disable_uboot_overlay_video=1

to your /boot/uEnv.txt

Regards,

--
Robert Nelson
https://rcn-ee.com/

Wei Shi

unread,
Nov 20, 2018, 11:03:26 AM11/20/18
to robert...@gmail.com, beagl...@googlegroups.com
Hi Robert,

I actually already disabled most function except EMMC. I probably missed the disable part when I copied my uEnv.txt. Below is the part where all functions are disabled. However, using this uEnv.txt, Pin 66-80 look like still claimed by "4a100000.ethernet" in file /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins. These pins seem conflicting with quite a few GPIO pins on P8. Is it possible to use these GPIO pins on P8 conflicting with Pin 66-80?

###Disable auto loading of virtual capes (emmc/video/wireless/adc)
#disable_uboot_overlay_emmc=1
disable_uboot_overlay_video=1
disable_uboot_overlay_audio=1
disable_uboot_overlay_wireless=1
disable_uboot_overlay_adc=1

Robert Nelson

unread,
Nov 20, 2018, 11:24:03 AM11/20/18
to weis...@gmail.com, Beagle Board
On Tue, Nov 20, 2018 at 10:03 AM Wei Shi <weis...@gmail.com> wrote:
>
> Hi Robert,
>
> I actually already disabled most function except EMMC. I probably missed the disable part when I copied my uEnv.txt. Below is the part where all functions are disabled. However, using this uEnv.txt, Pin 66-80 look like still claimed by "4a100000.ethernet" in file /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins. These pins seem conflicting with quite a few GPIO pins on P8. Is it possible to use these GPIO pins on P8 conflicting with Pin 66-80?

Why do you think those pins are on P8? they aren't..
Reply all
Reply to author
Forward
0 new messages