From 9e424252a35879f121e7ea4531a9ab3dda56d595 Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Mon, 18 Jul 2011 16:42:51 +0200 Subject: IRQ acknowledgement support in the engine API --- NOTES | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'NOTES') diff --git a/NOTES b/NOTES index 47b2d51..eacf43c 100644 --- a/NOTES +++ b/NOTES @@ -187,3 +187,55 @@ Register/DMA Configuration a) Writting/Reading register values b) Wait until = on = report error c) ... ? + +IRQ Handling +============ + IRQ types: DMA IRQ, Event IRQ, other types + IRQ hardware source: To allow purely user-space implementation, as general + rule, only a single (standard) source should be used. + IRQ source: The dma/event engines, however, may detail this hardware source + and produce real IRQ source basing on the values of registers. For example, + for DMA IRQs the source may present engine number and for Event IRQs the + source may present event type. + + Only types can be enabled or disabled. The sources are enabled/disabled + by enabling/disabling correspondent DMA engines or Event types. The expected + workflow is following: + * We enabling IRQs in user-space (normally setting some registers). Normally, + just an Event IRQs, the DMA if necessary will be managed by DMA engine itself. + * We waiting for standard IRQ from hardware (driver) + * In the user space, we are checking registers to find out the real source + of IRQ (driver reports us just hardware source), generating appropriate + events, and acknowledge IRQ. This is dependent on implementation and should + be managed inside event API. + + I.e. the driver implements just two methods pcilib_wait_irq(hw_source), + pcilib_clear_irq(hw_source). Only a few hardware IRQ sources are defined. + In most cirstumances, the IRQ_SOURCE_DEFAULT is used. + + The DMA engine may provide 3 additional methods, to enable, disable, + and acknowledge IRQ. + + ... To be decided in details upon the need... + +Updating Firmware +================= + - JTag should be connected to left USB connector on the board + - The computer should be tourned off and on before programming + - The application is called 'impact' + Cancel initial proposals + Left click on USB connection + Select "Boundary Scan" and double click + Click "Initiate Chain" on right element (left click) + Say yes, Select bit file, Cancel + Click "Assign new CF file" on right element (left click + Select the bit file + Select xv6vlx240t + Program + - Firmwares are in + v.2: /home/uros/Repo/UFO2_last_good_version_UFO2.bit + v.3: /home/uros/Repo/UFO3 + Step5 - best working revision + Step6 - last revision + + \ No newline at end of file -- cgit v1.2.3