EBC Exercise 41 Pin Muxing for the AI

From eLinux.org
Revision as of 05:05, 17 July 2019 by Yoder (talk | contribs)
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder

The am5729 in the BeagleBone AI handles pin muxing differently than the am335x in the Black. The pin muxes are set at boot up time and shouldn't be changed.

Here's how I set the pin muxes to get access to the GPIO and a few PRU pins.

Find which device tree is being loaded

If you look in /boot/ you'll see many device trees.

bone$ cd /boot/dtbs/4.19.50-ti-r23
bone$ ls am57*
am5729-beagleboneai.dtb       am574x-idk.dtb               am57xx-beagle-x15-revc.dtb
am5729-beagleboneai.dtb.orig  am57xx-beagle-x15.dtb        am57xx-cl-som-am57x.dtb
am572x-idk.dtb                am57xx-beagle-x15-revb1.dtb  am57xx-sbc-am57x.dtb

How can you tell which one is in use? EBC_Exercise_21a_Boot_Sequence shows how to attach a serial cable which allows you to watch the boot sequence. You can store output in a log file and view it.

host$ less screenlog.0
U-Boot 2019.07-rc4-00001-g607b5b738b (Jul 06 2019 - 21:01:15 -0500), Build: jenkins-github_Bootloader-Builder-127

CPU  : DRA752-GP ES2.0
Model: BeagleBoard.org BeagleBone AI
Board: BeagleBone AI REV A
DRAM:  1 GiB

Later in the file you see:

Checking for: /boot/uEnv.txt ...
655 bytes read in 2 ms (319.3 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt ...
debug: [uname_r=4.19.50-ti-r23] ...
loading /boot/vmlinuz-4.19.50-ti-r23 ...
10293760 bytes read in 882 ms (11.1 MiB/s)
loading /boot/dtbs/4.19.50-ti-r23/am5729-beagleboneai.dtb ...
135653 bytes read in 13 ms (10 MiB/s)

thumb‎ Embedded Linux Class by Mark A. Yoder