Re: [libgpiod] bug: pull-up does not work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 28, 2022 at 10:58:20AM +0200, Jiří Prchal wrote:
> 
> 
> On 28. 03. 22 10:08, Kent Gibson wrote:
> > On Mon, Mar 28, 2022 at 09:12:16AM +0200, Jiří Prchal wrote:
> > > 
> > > 
> > > On 25. 03. 22 17:01, Kent Gibson wrote:
> > > > On Fri, Mar 25, 2022 at 04:13:11PM +0100, Jiří Prchal wrote:
> > > > > 
> > > > > 
> > > > > On 25. 03. 22 15:57, Kent Gibson wrote:
> > > > > > On Fri, Mar 25, 2022 at 11:02:07AM +0100, Jiří Prchal wrote:
> > > > > > > Hi,
> > > > > > > since in debian is 1.6.2 and pull-up doesn't work so I cloned git, branch
> > > > > > > next/libgpiod-2.0 and compiled libgpiod and tools, but no luck, same result.
> > > > > > > 
> > > > > > 
> > > > > > You mean it doesn't work for you on your platform.
> > > > > > 
> > > > > > The libgpiod-2.0 branch is a work in progress and should not be considered
> > > > > > the place to go to find solutions to problems with v1.6.
> > > > > > Not that I'm saying that the v2 branch doesn't work, I'm actually pretty
> > > > > > sure it does, but its purpose is to switch to the latest kernel uAPI, not
> > > > > > to provide fixes, should they be needed, for v1.6.
> > > > > Just thought api v1 doesn't support pull-ups so tried v2.
> > > > 
> > > > v1 does support bias since Linux v5.5, and libgpiod added support in v1.5.
> > > > 
> > > > > > 
> > > > > > > ~# uname -r
> > > > > > > 5.17.0-rc7_cpm9g25
> > > > > > > 
> > > > > > > floating pins should go with pull-up/down
> > > > > > > ~# gpioget -B pull-up 3 6 8 10 12 14 16 18 20
> > > > > > > 0 0 0 0 0 0 0 0
> > > > > > > ~# gpioget -B pull-up 3 6 8 10 12 14 16 18 20
> > > > > > > 1 1 0 0 0 0 0 0
> > > > > > > ~# gpioget -B pull-up 3 6 8 10 12 14 16 18 20
> > > > > > > 0 1 0 1 0 0 0 0
> > > > > > > 
> > > > > > > ~# gpioget -v
> > > > > > > gpioget (libgpiod) v2.0-devel
> > > > > > > 
> > > > > > > Whats wrong with it?
> > > > > > 
> > > > > > You forgot to mention which of those pins are floating.
> > > > > All of them.
> > > > > > Or what gpiochip3 is and whether it supports biasing.
> > > > > AT91SAM9G25, hw supports pull-ups.
> > > > > > 
> > > > > > So does your chip support pull-up/down?
> > > > > > The kernel can only enable it if the hardware and pinctrl driver supports it.
> > > > > Is there possibility that pinctrl doesn't support it? I think other gpios
> > > > > used in kernel are with pull-up.
> > > > > Example:
> > > > > pinctrl@fffff400 {
> > > > > 	1wire {
> > > > > 		pinctrl_1wire: 1wire-0 {
> > > > > 			atmel,pins = <AT91_PIOC 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PC0
> > > > > PIO, pull-up */
> > > > > 		};
> > > > > 	};
> > > > > };
> > > > > 
> > > > 
> > > > Pinctrl and device tree are outside my area, but my understanding is
> > > > that setting via DT is a separate interface, so while it may be
> > > > supported by DT it may not be via the gpiolib interface.
> > > > But I will defer to anyone else on that.
> > > > (CCing in Andy since I'm pretty sure he would know)
> > > > 
> > > > Not sure which pinctrl is relevant for your case.
> > > > pinctrl-at91 doesn't appear to support setting the pull-up via the gpiolib
> > > > interface, but pinctrl-at91-pio4 does, so my guess would be you are using
> > > > the pinctrl-at91.
> > > pinctrl-at91-pio4 didn't help, syminfo says "for Atmel PIO4 controller
> > > available on sama5d2 SoC" but my is sam9g25.
> > > How can I find out if it supports gpiolib?
> > > > 
> > 
> > What does gpiodetect report?
> > That should given an indication which driver is being used.
> # gpiodetect
> gpiochip0 [fffff400.gpio] (32 lines)
> gpiochip1 [fffff600.gpio] (19 lines)
> gpiochip2 [fffff800.gpio] (32 lines)
> gpiochip3 [fffffa00.gpio] (22 lines)
> 
> Compiled and linked both pinctrl.

Ok, that isn't helpful, for me anyway, and I'm not sure where to go from
there. Hopefully someone else can chip in.

Cheers,
Kent.



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux