driver/linuxgpiod: add support for opendrain srst
authorAlex Crawford <openocd@code.acrawford.com>
Thu, 16 Sep 2021 17:00:25 +0000 (10:00 -0700)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 25 Sep 2021 13:15:05 +0000 (13:15 +0000)
commit2f424b7eb776b3d32f2b58a3ffd91ff1d5657404
treeed3e258647f1fd9f298d2eaddd20b0514d34169b
parent5765a0ce14485aadc6b74c6e2b4f15b73df14603
driver/linuxgpiod: add support for opendrain srst

Some MCUs (e.g. the STM32F3) directly expose the internal reset line to
an external pin. When this signal is driven by a push/pull line, it can
actually be inhibited by the external driver. This results in a setup
where the MCU cannot reset itself, for example, by a watchdog timeout or
a sysreset request. To fix this condition, support for open drain output
on the SRST line is required.

Note that because `reset_config srst_open_drain` is the default, all
users of this adapter will switch over to an open drain output unless
explicitly configured otherwise.

Signed-off-by: Alex Crawford <openocd@code.acrawford.com>
Change-Id: I89b39b03aa03f826ed3c45793412780448940bcc
Reviewed-on: https://review.openocd.org/c/openocd/+/6559
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/jtag/drivers/linuxgpiod.c