To follow-up on this, while the pinctrl mechanism to update the drive strength was elusive, reviewing the existing pin output seemed to indicate GPIOC_7 is a good candidate, in fact out of all the GPIO pins, it seems to be the only one that’s set to pull up while at max output current:
grep GPIO /sys/kernel/debug/pinctrl/ff634400.bus:pinctrl@40-pinctrl-meson/pinconf-pins | grep 4000
pin 16 (GPIOH_0): input bias disabled, output drive strength (4000 uA)
pin 17 (GPIOH_1): input bias disabled, output drive strength (4000 uA)
pin 41 (GPIOC_0): input bias pull up, output drive strength (4000 uA)
pin 42 (GPIOC_1): input bias pull up, output drive strength (4000 uA)
pin 43 (GPIOC_2): input bias pull up, output drive strength (4000 uA)
pin 44 (GPIOC_3): input bias pull up, output drive strength (4000 uA)
pin 45 (GPIOC_4): input bias pull down, output drive strength (4000 uA)
pin 46 (GPIOC_5): input bias pull up, output drive strength (4000 uA)
pin 47 (GPIOC_6): input bias pull up, output drive strength (4000 uA)
pin 48 (GPIOC_7): input bias pull up, output drive strength (4000 uA)
pin 65 (GPIOX_0): input bias disabled, output drive strength (4000 uA)
pin 66 (GPIOX_1): input bias disabled, output drive strength (4000 uA)
pin 67 (GPIOX_2): input bias disabled, output drive strength (4000 uA)
pin 68 (GPIOX_3): input bias disabled, output drive strength (4000 uA)
pin 69 (GPIOX_4): input bias disabled, output drive strength (4000 uA)
pin 70 (GPIOX_5): input bias disabled, output drive strength (4000 uA)
Note: pin numbers are specific to each GPIO chip NOT the physical pin numbers. The device map does indicate the GPIO Names are accurate though.
When looking at the GPIO Wiki, GPIOC_7 is the only pin from this list that’s directly accessible. As it is an open drain, it requires Vcc or GND to be accessible. Could this mean connecting both Vcc via a pull up 4.7k ohm resistor and GPIOC_7 would allow parasitic power use?
After wrestling a build env into shape and doing my best to understand the reqs to turn device tree source (dts) into device tree blob objects (dtbo) with the device tree compiler (dtc), I made two new data objects (both source and blobs are enclosed):
meson-g12a-w1-gpioc-7-high_AND_low.zip (1.7 KB)
[zip file sha256sum: 7fecb43f902d21f446536e9c97b8339374613b6ae0949fd5234099bf2adaa7c2]
Testing both the high and low dtbo overlays with power + GPIOC_7 + 4.7k resistor + sensor signal wire on the same breadboard circuit did not expose the sensor via /sys/bus/w1/devices/
So it’s back to finding how to increase the drive-strength-microamp
for GPIOAO-3.