Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Mar 2017 12:27:56 -0500
From:      "Isaac (.ike) Levy" <ike@blackskyresearch.net>
To:        freebsd-arm@freebsd.org
Subject:   beaglebone black GPIO pinout and FreeBSD 11
Message-ID:  <D7462E41-0DE7-44FE-945C-3BB543BCEFBD@blackskyresearch.net>

next in thread | raw e-mail | index | archive | help
Hi All,

I'm a total noob with GPIO, but an oldschool FreeBSD user.

For FreeBSD 11, the GPIO pinout on a Beaglebone appears to be different =
that the documentation I've found:
https://wiki.freebsd.org/FreeBSD/arm/BeagleBoneBlack
https://lists.freebsd.org/pipermail/freebsd-arm/2014-May/008461.html

Does anyone know how I can go about finding the physical mapping of the =
gpio pins on the BeagleBone Black?  I'm looking to learn how to get some =
simple analog inputs/outputs and i2c going...  Blinking lights and =
toggle switches kind of basics fun...

Thanks!

Best,
.ike



p.s.: just for the record, gpioctl appears to let me touch four separate =
gpio controllers, (which I assume are each one row of the pinouts on the =
BBB?)  This is quite different than all other documentation I've found =
online, which appears to reference 10.x era GPIO:

# uname -a
FreeBSD beaglebone 11.0-RELEASE-p1 FreeBSD 11.0-RELEASE-p1 #0 r306420: =
Thu Sep 29 09:23:20 UTC 2016     =
root@releng2.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/BEAGLEBONE  =
arm
# dmesg | grep gpio
gpio0: <TI AM335x General Purpose I/O (GPIO)> mem 0x44e07000-0x44e07fff =
on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
gpioc0: <GPIO controller> on gpio0
gpio1: <TI AM335x General Purpose I/O (GPIO)> mem 0x4804c000-0x4804cfff =
on simplebus0
gpiobus1: <OFW GPIO bus> on gpio1
gpioled0: <GPIO led> at pin 21 on gpiobus1
gpioled1: <GPIO led> at pin 22 on gpiobus1
gpioled2: <GPIO led> at pin 23 on gpiobus1
gpioled3: <GPIO led> at pin 24 on gpiobus1
gpioc1: <GPIO controller> on gpio1
gpio2: <TI AM335x General Purpose I/O (GPIO)> mem 0x481ac000-0x481acfff =
on simplebus0
gpiobus2: <OFW GPIO bus> on gpio2
gpioc2: <GPIO controller> on gpio2
gpio3: <TI AM335x General Purpose I/O (GPIO)> mem 0x481ae000-0x481aefff =
on simplebus0
gpiobus3: <OFW GPIO bus> on gpio3
gpioc3: <GPIO controller> on gpio3
#=20

# for i in `jot - 0 3` ; do echo "## gpioc${i}" ; gpioctl -f =
"/dev/gpioc${i}" -l ; done
## gpioc0
pin 00:	0	gpio_0<>
pin 01:	0	gpio_1<>
pin 02:	1	gpio_2<IN,PU>
pin 03:	1	gpio_3<IN,PU>
pin 04:	0	gpio_4<>
pin 05:	0	gpio_5<>
pin 06:	0	gpio_6<IN>
pin 07:	0	gpio_7<>
pin 08:	0	gpio_8<>
pin 09:	0	gpio_9<>
pin 10:	0	gpio_10<>
pin 11:	0	gpio_11<>
pin 12:	0	gpio_12<>
pin 13:	0	gpio_13<>
pin 14:	1	gpio_14<IN,PU>
pin 15:	1	gpio_15<IN,PU>
pin 16:	0	gpio_16<>
pin 17:	0	gpio_17<>
pin 18:	0	gpio_18<>
pin 19:	0	gpio_19<>
pin 20:	0	gpio_20<>
pin 21:	0	gpio_21<>
pin 22:	0	gpio_22<IN,PD>
pin 23:	0	gpio_23<IN,PD>
pin 24:	0	gpio_24<>
pin 25:	0	gpio_25<>
pin 26:	0	gpio_26<IN,PD>
pin 27:	0	gpio_27<IN,PD>
pin 28:	0	gpio_28<>
pin 29:	0	gpio_29<IN,PD>
pin 30:	1	gpio_30<IN,PU>
pin 31:	1	gpio_31<IN,PU>
## gpioc1
pin 00:	0	gpio_0<>
pin 01:	0	gpio_1<>
pin 02:	0	gpio_2<>
pin 03:	0	gpio_3<>
pin 04:	0	gpio_4<>
pin 05:	0	gpio_5<>
pin 06:	0	gpio_6<>
pin 07:	0	gpio_7<>
pin 08:	1	gpio_8<IN,PU>
pin 09:	1	gpio_9<IN,PU>
pin 10:	0	gpio_10<>
pin 11:	0	gpio_11<>
pin 12:	0	gpio_12<IN,PD>
pin 13:	0	gpio_13<IN,PD>
pin 14:	0	gpio_14<IN,PD>
pin 15:	0	gpio_15<IN,PD>
pin 16:	1	gpio_16<IN,PD>
pin 17:	0	gpio_17<IN,PD>
pin 18:	0	gpio_18<IN,PD>
pin 19:	0	gpio_19<IN,PD>
pin 20:	0	gpio_20<IN,PD>
pin 21:	0	gpioled0<OUT>
pin 22:	0	gpioled1<OUT>
pin 23:	0	gpioled2<OUT>
pin 24:	0	gpioled3<OUT>
pin 25:	1	gpio_25<IN,PD>
pin 26:	1	gpio_26<IN,PD>
pin 27:	0	gpio_27<IN,PD>
pin 28:	1	gpio_28<IN,PU>
pin 29:	1	gpio_29<IN,PU>
pin 30:	0	gpio_30<>
pin 31:	0	gpio_31<>
## gpioc2
pin 00:	1	gpio_0<IN,PU>
pin 01:	0	gpio_1<IN,PD>
pin 02:	1	gpio_2<IN,PU>
pin 03:	1	gpio_3<IN,PU>
pin 04:	1	gpio_4<IN,PU>
pin 05:	1	gpio_5<>
pin 06:	0	gpio_6<>
pin 07:	0	gpio_7<>
pin 08:	0	gpio_8<>
pin 09:	0	gpio_9<>
pin 10:	0	gpio_10<>
pin 11:	0	gpio_11<>
pin 12:	0	gpio_12<>
pin 13:	0	gpio_13<>
pin 14:	0	gpio_14<>
pin 15:	0	gpio_15<>
pin 16:	0	gpio_16<>
pin 17:	0	gpio_17<>
pin 18:	0	gpio_18<>
pin 19:	0	gpio_19<>
pin 20:	0	gpio_20<>
pin 21:	0	gpio_21<>
pin 22:	0	gpio_22<>
pin 23:	0	gpio_23<>
pin 24:	0	gpio_24<>
pin 25:	0	gpio_25<>
pin 26:	0	gpio_26<>
pin 27:	0	gpio_27<>
pin 28:	0	gpio_28<>
pin 29:	0	gpio_29<>
pin 30:	0	gpio_30<>
pin 31:	0	gpio_31<>
## gpioc3
pin 00:	0	gpio_0<IN,PD>
pin 01:	0	gpio_1<IN,PD>
pin 02:	0	gpio_2<>
pin 03:	0	gpio_3<>
pin 04:	0	gpio_4<>
pin 05:	0	gpio_5<>
pin 06:	0	gpio_6<>
pin 07:	0	gpio_7<>
pin 08:	0	gpio_8<IN,PU>
pin 09:	0	gpio_9<>
pin 10:	0	gpio_10<>
pin 11:	0	gpio_11<>
pin 12:	0	gpio_12<>
pin 13:	0	gpio_13<>
pin 14:	0	gpio_14<>
pin 15:	0	gpio_15<>
pin 16:	0	gpio_16<>
pin 17:	0	gpio_17<>
pin 18:	0	gpio_18<>
pin 19:	0	gpio_19<IN,PD>
pin 20:	0	gpio_20<IN,PD>
pin 21:	0	gpio_21<IN,PD>
pin 22:	0	gpio_22<>
pin 23:	0	gpio_23<>
pin 24:	0	gpio_24<>
pin 25:	0	gpio_25<>
pin 26:	0	gpio_26<>
pin 27:	0	gpio_27<>
pin 28:	0	gpio_28<>
pin 29:	0	gpio_29<>
pin 30:	0	gpio_30<>
pin 31:	0	gpio_31<>
#=20





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D7462E41-0DE7-44FE-945C-3BB543BCEFBD>