Summary: Implement new programmer type: linuxspi
Project: AVR Downloader/UploaDEr
Submitted by: rralf
Submitted on: Fri 14 Jun 2019 06:30:19 PM UTC
Priority: 5 - Normal
Assigned to: None
Discussion Lock: Any
This adds a new linuxspi programmer type. Analogously to linuxgpio, this
programmer uses the Linux-specific spidev device.
For accessing the reset pin, this programmer uses an additional GPIO pin
the linux/gpio.h API. In contrast to the stateless and deprecated sysfs
interface, linux/gpio.h uses proper file descriptors for every pin, and
performs housekeeping when the device is closed. That saves some lines of
The programmer can be used as follows:
avrdude -c linuxspi -P /dev/spidev:/dev/gpiochip[:resetpin] [...]
Separated by colons, the first part of the port (-P) argument denotes the
spidev device, the second one is the gpiochip that contains the reset pin, and
the optional third argument contains the pin number of the reset pin.
If not specified, the pin number defaults to the reset pin number defined in
avrdude.conf. Currently, this defaults to 25, which is connected to Pin 22 on
Additionally, add some documentation.
Credits go to Kevin Cuzner, who started this fork ~5 years ago. I picked it
rebased it to the current mainline, massaged some parts of the code here and
there, fixed some minor bugs and switched to the linux/gpio.h GPIO accessors.
thank you very much for your comment and for testing my/our patch. I'd really
wish that it would be integrated, but, to be honest, there was almost no
reaction at all and avrdude seems to unfortunately be dead from a maintainer