Hi John, Thanks! This is great info.
I was able to apply that patch but I gather something changed with the gpiochip struct since this patch was valid: drivers/gpio/gpio-mt7621.c: In function 'mediatek_gpio_bank_probe': drivers/gpio/gpio-mt7621.c:244:11: error: 'struct gpio_chip' has no member named 'offset'; did you mean 'set'? rg->chip.offset = bank * MTK_BANK_WIDTH; ^~~~~~ set make[7]: *** [scripts/Makefile.build:262: drivers/gpio/gpio-mt7621.o] Error 1 I haven't had as much time as I'd like to work on this, I'm not sure it matters much for my purpose since the following is working: gpioset -m wait gpiochip0 1=1 So it sounds like I do have working gpio, and maybe I will be able to make flashing the arduino dock work. Mike > On 2021/08/31, at 07:22:08 CDT (-05:00), John Thomson > <li...@johnthomson.fastmail.com.au> wrote: > > Hi Mike, > > On Mon, 30 Aug 2021, at 21:05, Mike Bernardo wrote: > >> root@onion1:~# echo 15 > /sys/class/gpio/export >> ash: write error: Invalid argument >> >> I guess the number I specify to export would need to be at least 416? > > Yes, that's it. > You need to add the Linux gpiochip base to the (SoC) GPIO number you want to > use. > You may need to try each bank to get the correct one. > See https://openwrt.org/docs/techref/hardware/port.gpio#software > >> All of the GPIOs are unlableled, am I missing some type of ACPI mapping >> table? Or some kind of mapping in U-boot? > > If you want these names populated, > you can add the details to your dts file. > The Linux binding documentation shows how (gpio-line-names): > https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/gpio/gpio.txt > > https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/ramips/dts/mt7628an_onion_omega2.dtsi > shows that GPIO 38 is a reset button, and 44 is the system LED, > so you could have 38 blank names: "", and the 39th as "reset" > >> I can create all of the GPIOs from 416-511 and they show in >> /sys/kernel/debug/gpio but most are labeled with "sysfs", I guess I was >> looking for one to be labeled like "GPIO15"? > > sysfs here is the driver that has claimed this GPIO number, > because you (or something else) has exported that gpio number in > /sys/class/gpio/ > >> It seems crazy it would have 3 GPIO chips with 32 lines each, so >> something seems wrong. > > Expected: This is the way this system on a chip is built. > >> Is it possible this might help? >> >> http://patchwork.ozlabs.org/project/linux-gpio/patch/20210727152026.31019-3-sergio.paracuel...@gmail.com/ > > That patch is part of a series which fixes lazy labelling: > An incomplete gpio-line-names array (where the number of passed > named are less than ngpios) > > > Hope that helps. > > -- > John Thomson _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel