[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Deciphering GPIO on Raspberry Pi B+
> The driver does group individual pin values together into 32-bit registers,
> but these arenâ??t in separate controller units in the hardware, as far as I
> can tell.
I'd be surprised if the silicon guys didn't start with 2 copies of the basic
block of 32 GPIO pins.
> Well, sure, but there doesnâ??t seem to be any good way of discovering which
> pins are left-overs and thus available for application use; this is the crux
> of the problem. I need 3 for a chain of 4 shift registers, and a handful
> more for some inputs (with interrupt capability, preferably, but I can poll
> if I have to). And these all need to be available on the 40-pin header,
Are you trying to solve a one-off problem so you can go back to working on
your problem or the general problem so the next guy doesn't have to work so
I think the right answer to the general problem is that the pre-boot software
that sets up the IO devices should provide a bit-mask of bits that are
available for use as GPIO with the control block for that GPIO device. I
don't know if it does that yet.
You maybe able to write a user-land version of the dtb code that would do
everything but actually configure the hardware and add the leftover pins
feature to it. That assumes you can figure out what was input to the real
dtb code back at boot time.
It might be possible to write some code to try them all and see which ones
work. The idea is to write 0s and 1s and see if they read back correctly.
The builtin pullups may work too well. I don't know if there is a way to
turn them off and back on.
> -> https://elinux.org/RPi_BCM2835_GPIOs
That has a pointer to the hardware documentation.
I have an Adafruit GPS board handy. It's got a prototyping area, and labels
next to a bunch of holes next to the connector. Some of the labels are
things like SDA, SCL, TXD, and RXD. Some are things like #4, #17, #18, #27,
#22, #23, #24, #25 #5, #6, #12, #13, #16, #19, #20, and #21. I assume those
are GPIO numbers, but I can't make a match with that list and the URL above.
gpio pins 4 and 18 are used for PPS inputs.
I poked around a bit in Google and didn't find a wonderful answer.
This looks good. It matches the #list above except it has gpio26 that didn't
fit on the board.
It came from:
These are my opinions. I hate spam.
Main Index |
Thread Index |