I've been walking through the GPIO pins for expansion header P8 on a Beaglebone Black, checking actual pin output with the hardware [1] [2] information. Pins 3 through 46 on P8 are listed in the hardware information as available for GPIO. Indeed, I can set any of them but I notice that on pins 25 (gpio1_0), 21 (gpio1_30), and 20 (gpio1_31) seem to be reserved by OpenBSD and great trouble is caused if I try to set them with gpioctl(8) like I would for any other pin, e.g. like pin 46 here:
/usr/sbin/gpioctl gpio2 7 set out p8pin46; Trial and error shows that setting pins 25, 21, and 20 causes trouble right away. I've looked in INSTALL.armv7 and the GPIO-related manual pages. Are there other pins in use by the system which are less immediate in making their effects known? I don't want to let the magic blue smoke out of any hardware components. How can I find all pins are reserved by OpenBSD and should not be changed or used? Of the pins reserved, what are their purposes? Regards, Lars [1] Figure: "65 Possible Digital I/Os" http://beagleboard.org/Support/bone101 [2] Table 10. "P8 Mux Options Modes 4-7" BONE_SRM.pdf ----- OpenBSD 6.0-current (GENERIC) #11: Mon Aug 8 21:05:56 MDT 2016 dera...@armv7.openbsd.org:/usr/src/sys/arch/armv7/compile/GENERIC real mem = 536870912 (512MB) avail mem = 517963776 (493MB) mainbus0 at root: TI AM335x BeagleBone Black cpu0 at mainbus0: ARM Cortex A8 R3 rev 2 (ARMv7 core) cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled cpu0: 32KB(64b/l,4way) I-cache, 32KB(64b/l,4way) wr-back D-cache omap0 at mainbus0 prcm0 at omap0 rev 0.2 sitaracm0 at omap0: control module, rev 1.0 omap0: device edma unit 0 not configured dmtimer0 at omap0 rev 3.1 dmtimer1 at omap0 rev 3.1 omgpio0 at omap0: rev 0.1 gpio0 at omgpio0: 32 pins omgpio1 at omap0: rev 0.1 gpio1 at omgpio1: 32 pins omgpio2 at omap0: rev 0.1 gpio2 at omgpio2: 32 pins omgpio3 at omap0: rev 0.1 gpio3 at omgpio3: 32 pins simplebus0 at mainbus0: "ocp" simplebus1 at simplebus0: "l4_wkup" simplebus2 at simplebus1: "scm" intc0 at simplebus0 rev 5.0 com0 at simplebus0: ti16750, 64 byte fifo com0: console tiiic0 at simplebus0 rev 0.11 iic0 at tiiic0 "ti,tps65217" at iic0 addr 0x24 not configured "at,24c256" at iic0 addr 0x50 not configured "nxp,tda998x" at iic0 addr 0x70 not configured tiiic1 at simplebus0 rev 0.11 iic1 at tiiic1 "at,24c256" at iic1 addr 0x54 not configured "at,24c256" at iic1 addr 0x55 not configured "at,24c256" at iic1 addr 0x56 not configured "at,24c256" at iic1 addr 0x57 not configured ommmc0 at simplebus0 sdmmc0 at ommmc0: 1-bit, mmc high-speed ommmc1 at simplebus0 sdmmc1 at ommmc1: 1-bit, mmc high-speed omdog0 at simplebus0 rev 0.1 cpsw0 at simplebus0: version 1.12 (0), address 68:9e:19:8f:85:fa ukphy0 at cpsw0 phy 0: Generic IEEE 802.3u media interface, rev. 1: OUI 0x0001f0 , model 0x000f sdmmc0: can't enable card scsibus0 at sdmmc1: 2 targets, initiator 0 sd0 at scsibus0 targ 1 lun 0: <Kingston, S10004, 0000> SCSI2 0/direct fixed sd0: 3648MB, 512 bytes/sector, 7471104 sectors vscsi0 at root scsibus1 at vscsi0: 256 targets softraid0 at root scsibus2 at softraid0: 256 targets boot device: sd0 root on sd0a (d499bd6a7c8df27c.a) swap on sd0b dump on sd0b WARNING: CHECK AND RESET THE DATE!