patch #10030: linuxspi: Support inverted GPIO pin

Submitted by Alex Sverdlin:
* linuxspi.c (linuxspi_open): Clear the inversion mask on request
and set default state to avoid short glitches on the GPIO line.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1494 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Joerg Wunsch 2021-11-27 15:48:30 +00:00
parent 6f183d427c
commit bd4f46b1ff
3 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2021-11-27 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
Submitted by Alex Sverdlin:
patch #10030: linuxspi: Support inverted GPIO pin
* linuxspi.c (linuxspi_open): Clear the inversion mask on request
and set default state to avoid short glitches on the GPIO line.
2021-11-27 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
Submitted by Alex Sverdlin:

1
NEWS
View File

@ -120,6 +120,7 @@ Current:
patch #10027: linuxspi: Add reset pulse, according to AVR programming algorithm
patch #10028: linuxspi: close() only when necessary
patch #10029: linuxspi: Report GPIO_GET_LINEHANDLE_IOCTL errors
patch #10030: linuxspi: Support inverted GPIO pin
* Internals:
- New avrdude.conf keyword "family_id", used to verify SIB attributes

View File

@ -164,7 +164,8 @@ static int linuxspi_open(PROGRAMMER *pgm, char *port)
strcpy(req.consumer_label, progname);
req.lines = 1;
req.lineoffsets[0] = pgm->pinno[PIN_AVR_RESET];
req.lineoffsets[0] = pgm->pinno[PIN_AVR_RESET] & ~PIN_INVERSE;
req.default_values[0] = !!(pgm->pinno[PIN_AVR_RESET] & PIN_INVERSE);
req.flags = GPIOHANDLE_REQUEST_OUTPUT;
ret = ioctl(fd_gpiochip, GPIO_GET_LINEHANDLE_IOCTL, &req);