Compiling Custom Linux Kernel for Beaglebone Black Industrial 6.18.16-bone23

I’m really liking this setup file for the gpio pins. Very easy to use. Here is my setup for now.

cat /etc/am335xpinmux.conf
# am335x pin mux address and value to set
# this file is read by the am335xsetpinmux.c Linux kernel driver
# located in drivers/gpio
# address=value
#################### digital inputs #####################
# P8.7
0x44e10890=0x37
# P8.8
0x44e10894=0x37
# P8.9
0x44e1089c=0x37
# P8.10
0x44e10898=0x37
# P8.11
0x44e10834=0x37
# P8.12
0x44e10830=0x37
# P8.13
0x44e10824=0x37
# P8.14
0x44e10828=0x37
# P8.15
0x44e1083c=0x37
# P8.16
0x44e10838=0x37
# P8.17
0x44e1082c=0x37
# P8.18
0x44e1088c=0x37
# P8.19
0x44e10820=0x37
# P8.26
0x44e1087c=0x37
# P8.27
0x44e108e0=0x37
# P8.28
0x44e108e8=0x37
# P8.28
0x44e108e4=0x37
# P8.30
0x44e108ec=0x37
# P8.31
0x44e108d8=0x37
# P8.32
0x44e108dc=0x37
# P8.33
0x44e108d4=0x37
# P8.34
0x44e108cc=0x37
# P8.35
0x44e108d0=0x37
# P8.36
0x44e108c8=0x37
# P8.37
0x44e108c0=0x37
# P9.11
0x44e10870=0x37
# P9.12
0x44e10878=0x37
# P9.13
0x44e10874=0x37
# P9.14
0x44e10848=0x37
# P9.15
0x44e10840=0x37
# P9.16
0x44e1084c=0x37
# P9.17
0x44e1095c=0x37
# P9.18
0x44e10958=0x37
# P9.23
0x44e10844=0x37
# P9.25
0x44e1099c=0x37
# P9.27
0x44e109a4=0x37
# P9.28
0x44e10998=0x37
# P9.29
0x44e10990=0x37
# P9.30
0x44e109a8=0x37
# P9.31
0x44e109b4=0x37
# P9.32
0x44e10964=0x37
# P9.33
0x44e109a0=0x37
################## end digital inputs ###################
#################### digital outputs ####################
# P8.38
0x44e108c4=0x27
# P8.39
0x44e108b8=0x27
# P8.40
0x44e108bc=0x27
# P8.41
0x44e108b0=0x27
# P8.42
0x44e108b4=0x27
# P8.43
0x44e108a8=0x27
# P8.44
0x44e108ac=0x27
# P8.46
0x44e108a4=0x27
################### end digital outputs #################
##################### i2c 2 ############################
0x44e1097c=0x33
0x44e10978=0x33
##################### end i2c 2 ########################
################### serial port setup ###################
#0x44e10954=0x9  serial 2 setup by device tree overlay in /boot/uEnv.txt
#0x44e10950=0x29 serial 2 setup by device tree overlay in /boot/uEnv.txt
#0x44e10984=0x8  serial 1 setup by device tree overlay in /boot/uEnv.txt
#0x44e10980=0x28 serial 1 setup by device tree overlay in /boot/uEnv.txt
################# end serial port setup #################

I just set up a spreadsheet with the pinmux bits in each cell and the value is calculated in hex. Kinda crude at this point. This project can be developed further to be less hard to deal with and more human readable. A file format something like this

P8.42 = FAST | RX | PULLUP | PULLEN | MODE
2 Likes