Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 May 2021 21:04:10 -0700
From:      Elwood Downey <elwood.downey@gmail.com>
To:        freebsd-arm@freebsd.org
Subject:   Re: GPIO pullups not working -- SOLVED (or at least understood)
Message-ID:  <CAL98DL4SWGA%2Bb%2BvtfDhLna2TEmwfKnLZ2-E7-CgC%2BPvL08MvXw@mail.gmail.com>
In-Reply-To: <CAL98DL70Zt7oV57MwNrOKakXPieu5smjR%2BNJdkUUHcBjiwdvTg@mail.gmail.com>
References:  <CAL98DL70Zt7oV57MwNrOKakXPieu5smjR%2BNJdkUUHcBjiwdvTg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <elwood.downey@gmail.com>
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
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAL98DL4SWGA%2Bb%2BvtfDhLna2TEmwfKnLZ2-E7-CgC%2BPvL08MvXw>