But from an application user’s perspective, the documentation doesn’t really treat them at 2 GPIO systems. It refers to GPIO20 and GPIO33, not “GPIO block 0 pin 20” and “GPIO block 1 pin 1"
But that doesn’t really answer my question, because there’s really no indication as to how *NetBSD* has configured the GPIO at start-up time. For example, which of the GPIO pins have alternate functions enabled (and, if so, which one)? And how does that change depending on what drivers are present in the kernel at start-up time? For example, “vcaudio” uses a couple if GPIO pins, but are those pins put into that alternate function when the “vcaudio” driver is attached, or when the device is opened for use? There’s also the question of the on-board LEDs — which GPIO pins are consumed by those? Obviously, the only ones I really need to care about are the ones actually brought out to the 40-pin header, but knowing which ones of those I can actually use based on how NetBSD has configured the system and the proper way to refer to them (“gpio0 + BCM pin number” or “gpio1 + BCM pin number - 32”) would be useful information. (This bifurcation of the GPIO pin space is annoying because it’s going to potentially make some intended-to-be-portable-to-other-GPIO-having-hardware code more complicated for the NetBSD case.)
Well, this is certainly a handy reference. Someone with access to do so should link to it on the NetBSD RPI wiki page.
|