summaryrefslogtreecommitdiff
path: root/usbdux
AgeCommit message (Collapse)AuthorFilesLines
2015-07-22usbdux: usbduxsigma: fixed timing issues between ADC and DACBernd Porr1-53/+68
When sync ADC and the DAC was running at the same time the ADC showed spikes in the signal. This happened when just before the DRDY from the ADC was triggered a DAC interrupt was dealt with. ADC and DAC share the same SPI bus and priority is now given the ADC. The DAC values are now first stored in a buffer and are only send to the DAC once the ADC has finished converting all channels (start = 0) so that the SPI bus is definitely quiet for about 100us. Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Kyle McMartin <kyle@kernel.org>
2015-07-22usbdux: usbduxsigma: added digital IO readBernd Porr1-5/+47
for future driver versions I've added a digtial I/O read via endpoint in1. This is not yet used but might be used in the future for low latency IO reads if all ports are input ports and thus the write could be omitted. Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Kyle McMartin <kyle@kernel.org>
2015-07-22usbdux: usbduxsigma: added soft interval mode in the firmwareBernd Porr1-0/+27
urb->interval is ignored in xhci drivers. Instead, the firmware has an interval counter and transmits data at this interval. The uframes in-between are zero length packets. In order to be backward compatible with older kernels which support only USB 2.0 and 1.1 there are two ADC modes in the firmware. The old one which assumes that the interval is established by the host (urb->interval) and the new one where the interval value is transmitted to the firmware. Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Kyle McMartin <kyle@kernel.org>
2015-07-22usbdux: usbduxsigma: contact info updatedBernd Porr1-2/+2
There was still the old f2s address in the header. Updated to my new address. Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Kyle McMartin <kyle@kernel.org>
2015-07-22usbdux: usbduxsigma: changed firmware from ADC polling to IRQ processingBernd Porr1-35/+125
In order to prepare the firmware to work with the EHCI driver the ADC data acquisition is now done by triggering the acquisition with a start of frame interrupt (SOF) and then the collection of the data is done via "data ready" interrupts until all data has been received. Once this has happend then the whole packet is dispatched and at the next SOF the next packet is dispatched. If there are SOF interrupts happening during the data acquisiton it is no longer interupted and only send out the next ISO packet once it has comleted its job. Also now the USBDUXSIGMA has now plenty of time to deal with other interrupts between ADC data readouts so that for example the DIO can now be handled much quicker. Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Kyle McMartin <kyle@kernel.org>
2015-07-22usbdux: Makefile_dux: as31 compile no longer neededBernd Porr2-26/+7
Removed the as31 download instructions. My patches have been integrated into the official as31 release which now also allows including files. So the standard as31 is fine. Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Kyle McMartin <kyle@kernel.org>
2015-07-22usbdux: usbduxsigma: Changed address and updated dateBernd Porr1-3/+3
Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Kyle McMartin <kyle@kernel.org>
2012-02-19usbdux: Add usbduxsigma firmwareBernd Porr4-20/+1243
This adds the missing firmware for usbduxsigma. The driver is already part of the kernel 3.2. The firware was submitted with the initial driver submission but probably got lost when the kernel.org was attacked. Added usbduxsigma to the list of files in WHENCE Signed-off-by: Bernd Porr <berndporr@f2s.com> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
2009-04-22Add the source code for the usbdux firmwareBernd Porr5-0/+1929
From: Bernd Porr <BerndPorr@f2s.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>