> >> I have a Wandboard (yeah, I know, OLD Hardware) currently running a > > > > As in the imx6 based Wandboard? Which model/rev? What release of > > Fedora, what kernel etc? > > Yes, an imx6 Wandboard. I'll have to go upstairs and open the case to see > the EXACT model/rev printed on the PCB. Running "cat /proc/cpuinfo" only > shows a single core. And it's running Fedora 36, currently running > 5.18.9-200.fc36.armv7hl and libgpiod-1.6.3-7.fc36.armv7hl > > >> project, and I'm trying to add some GPIO inputs to it. In previous GPIO > >> handling (on a different platform) I used the /sys/class/gpio interfaces > >> to set up the GPIO, but I've discovered this is now deprecated and > >> removed > >> from Fedora. So I installed libgpiod and am trying to use it. > > > > Yes, we stopped supporting that because it was deprecated and upstream > > asked us to. > > > >> I'm using > >> https://download.technexion.com/development_resources/wandboard/wbquad-revb1-userguide.pdf > >> as a reference for the board layout. Specifically, on page 27, it shows > >> me that the JP4 header connects to GPIO3_12, GPIO3_27, GPIO6_31, > >> CPIO1_24, > >> GPIO7_8, GPIO3_26, GPIO_18, and GPIO_19. > >> > >> I figure that GPIO_18 is going to be gpiochip0 line 18, and GPIO3_12 > >> will > >> be gpiochip3 line 12.. Except that gpiodetect only tells me I have > >> gpiochip0 through gpiochip6, so I'm not sure where GPIO7_8 would get > >> mapped. That's the first issue I have. > > > > You'd likely need to look at the device tree and pinmappings to see > > how they're mapped out. > > I was trying to follow the device tree, and found a dts in the > wandboard-org tree that seemed to match the settings from that PDF I > pointed to. Of course, that may or may not be correct to the actual > hardware I have running upstairs. Best ones are probably the upstream ones: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/nxp/imx > >> The second issue is that the kernel does not have any named mappings, so > >> running gpioinfo just displays generic data, like: > >> > >> gpiochip6 - 32 lines: > >> line 0: unnamed unused input active-high > >> line 1: unnamed unused input active-high > >> > >> Except, of course, looking at gpiochip3 line 12 shows me: > >> > >> gpiochip3 - 32 lines: > >> ... > >> line 12: unnamed "scl" output active-high [used > >> open-drain] > >> > >> Which seems to imply that that GPIO3_12 is actually used for something > >> else -- or my mapping strategy is off. > > > > Probably a kernel device, often GPIOs are used for other things. > > Being only ancillarily associated with Arm/Embedded HW -- what does it > mean for a GPIO to be "used for other things"? And more importantly, why > would it be wired to a header if it's being used for something else? So in the case I mention below the GPIO pin is used for i2c and it's on that header so you could add say a i2c based temp sensor or other i2c device. Also board designers may use a GPIO to hook up a mSD card detect pin, or a WiFi interface reset pin, or something else on the board layout. You can see the default pin allocation here from line 152-195: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/nxp/imx/imx6qdl-wandboard.dtsi#n152 And the GPIOs mapped to i2c here on lines 103-104 and again 113-114, and then as a camera enable/reset at 139-140: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/nxp/imx/imx6qdl-wandboard.dtsi#n103 > > A quick look at the dtsi for the wandboards some of the GPIOs re used > > for SCL/SDA pins on two of the i2c buses. The i2c1 seems to not have > > anything attached so I guess in on a pin header for end user use, and > > i2c12 has a audio codec and for the camera connector. > > How exactly is this done? Is the pin wired to two places on the PCB? It depends, for example on a RPi header you can use a DT overlay to change the default use of a PIN, by default is might be a standard GPIO but you apply an overlay that remaps it so it routes a i2s audio interface so you can use a DAC to output sound. So it's generally more about being able to use the reduced amounts of external pins for different usecases, someone might want it in a robot, someone else might want it to output audio. > >> I'd appreciate any guidance anyone might have on this subject. > > > > If it's a iMX6 based Wandboard the guidance will be limted as the > > support for ARMv7 went EOL when F-36 did so I have no recollection of > > what kernel, libgpiod version etc was shipped there. > > Understood. I just happen to have bought into the Wandboard platform a > long time ago, so this is what I've been using for the project. It uses a > USB Relay, leveraging CRelay, so theoretically I could swap the system out > for a different board in order to get 4 GPIOs for external switch > detction, but honestly I'd rather not spend the money... :) > > > Peter > > -derek > > -- > Derek Atkins 617-623-3745 > derek@xxxxxxxxx www.ihtfp.com > Computer and Internet Security Consultant > -- _______________________________________________ arm mailing list -- arm@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to arm-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/arm@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue