Re: GPIO pullups not working -- SOLVED (or at least understood)

Elwood Downey <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <CAL98DL4SWGA+b+vtfDhLna2TEmwfKnLZ2-E7-CgC+PvL08MvXw@mail.gmail.com>
A little followup to my own post....

I have done some bare metal programming on the broadcom devices in the past
so I thought I'd try to find the relevant freebsd driver. The closest one I
could find in /usr/src is for the bcm2835.

This chip was used on the Pi3. The Pi4 uses the bcm2711 which, in their
infinite wisdom, uses a different register set and protocol for controlling
the gpio pullups. Code for the 2835 executing on a 2711 is harmless but
does nothing, in agreement with my observations.

Then I found bcm2835_gpio.c which I must say is beautifully written. I'm
tempted to tweak a few lines in bcm_gpio_set_pud() but I'd have to figure
out how to rebuild the kernel which I will leave for another day.

Not a big deal, until the 2711 is supported I'll just use an external
pullup.

All the best,

On Tue, May 4, 2021 at 11:24 AM Elwood Downey <[email protected]>
wrote:

> Hello all;
>
> Using RELEASE-13 on Raspberry Pi 4 I can not seem to engage GPIO input
> pullups. Doing so should cause an input not connected to anything to read
> high but it always reads low. Connecting the pin to 3.3V does read hi so I
> know the pin is working correctly as an input, just that the pullup is not
> connecting.
>
> I configure the pin as follows:
>
> freebsdpi# gpioctl -c 21 PU IN
> freebsdpi# gpioctl -l | grep 21
> pin 21: 0 pin 21<IN,PU>
> freebsdpi# sysctl dev.gpio.0.pin.21.function
> dev.gpio.0.pin.21.function: input
>
> # test with pin disconnected
> freebsdpi# gpioctl 21
> 0
>
> Now connecting to 3.3V:
> freebsdpi# gpioctl 21
> 1
>
> Installing a microSD with Raspbian Buster in the same Pi, I can repeat the
> above using their tools and the pullup works as expected, so I know the
> hardware is fine.
>
> Any help appreciated, advTHANKSance
>
> Elwood Downey
> Tucson AZ
>
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.