Page 1 of 1

GPIO drive strength and *_driver_install

Posted: Sat Mar 02, 2024 3:44 pm
by cziter15
Hello,

I prefer to use lowest possible (working) GPIO drive strength. That's not a problem when directly using the pin, just calling gpio_set_drive_capability after setting pin mode. Some time ago a question came in my mind:

Does gpio_set_drive_capability have any effect if the pin is used by peripheral driver, like I2C or UART?


Does this setting persist forever? I saw there's also gpio_reset_pin but there's no info it will reset driver strength.

Regards,
Chris

Re: GPIO drive strength and *_driver_install

Posted: Sat Mar 02, 2024 7:44 pm
by MicroController
The drive strength of an output is configured via the IO mux ("FUN_DRV"). As every signal must pass through the IO mux, whether it's GPIO, peripheral-direct, or peripheral via GPIO matrix, it seems that drive strength (as well as pull-up/down) can be set independent of the signal that is being routed to a pin.