GPIO pin set as OUTPUT + LOW but not shortcut to GND

I need to toggle pins from floating to short-circuit to GND, so I thought that switching GPIO pins from INPUT to OUTPUT,LOW would do, but instead I’m finding a resistance of 100 ohm between GND and one of those pins in such situation which is too much for my test case.

I’m using for example:

VIOLA = PIN_10 (X9)

Is there a way to reconfigure to have a real shortcut to GND for OUTPUT,LOW without the use of other external components? If yes is there a solution without customising kernel and device tree?

Many thanks,

Could you please define a “real shortcut”? Even a mechanical switches has a some residual resistance (micro Ohms) in closed state. For iMX7 I/O output buffer impedance depends from Drive Strength settings (DSE). Minimum resistance for higher possible drive strength is around 20 Ohms.

What is your use case?

My case is no more than 5 ohm but I still would like to try and reconfigure as you suggested. I found the Table 4-3 Pad Control Registor in the colibri data sheet but have no idea if I can drive those bit values from sysfs, do you have any tip on that?

Could you provide more details about your application? Maybe we can suggest another solution?

I’m testing a touchscreen controller connected to the Toradex board via I2C. Via grounding some wires I can simulate some static touches which should then be detected on the capacitive touch screen. I wanted to avoid the use of additional HW but I see probably that is not possible.

I would guess for that use case driving a pin to low should be good enough.

Lots of pins on Colibri iMX7 use pull-ups/downs by default. This can be influenced via pinmuxing.

In the device tree imx7-colibri.dtsi pinmux for GPIO2_IO26 is currently set to 0x14 which is according to the Device Tree Customization article chapter Pinmux (iMX7) a 100kOhm pull-down.

You can disable pulls generally by removing bit 4, so using 0x4 in the device tree really should make it High-Z.