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>