/alps/pcitool

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/pcitool

« back to all changes in this revision

Viewing changes to NOTES

  • Committer: Suren A. Chilingaryan
  • Date: 2011-07-18 14:42:51 UTC
  • Revision ID: csa@dside.dyndns.org-20110718144251-nmbl7xhcq00mfx1p
IRQ acknowledgement support in the engine API

Show diffs side-by-side

added added

removed removed

Lines of Context:
187
187
   a) Writting/Reading register values
188
188
   b) Wait until <register1>=<value> on <register2>=<value> report error
189
189
   c) ... ?
 
190
 
 
191
IRQ Handling
 
192
============
 
193
 IRQ types: DMA IRQ, Event IRQ, other types
 
194
 IRQ hardware source: To allow purely user-space implementation, as general
 
195
 rule, only a  single (standard) source should be used.
 
196
 IRQ source: The dma/event engines, however, may detail this hardware source
 
197
 and produce real IRQ source basing on the values of registers. For example, 
 
198
 for DMA IRQs the source may present engine number and for Event IRQs the 
 
199
 source may present event type.
 
200
 
 
201
 Only types can be enabled or disabled. The sources are enabled/disabled
 
202
 by enabling/disabling correspondent DMA engines or Event types. The expected
 
203
 workflow is following:
 
204
 * We enabling IRQs in user-space (normally setting some registers). Normally,
 
205
 just an Event IRQs, the DMA if necessary will be managed by DMA engine itself.
 
206
 * We waiting for standard IRQ from hardware (driver)
 
207
 * In the user space, we are checking registers to find out the real source
 
208
 of IRQ (driver reports us just hardware source), generating appropriate 
 
209
 events, and acknowledge IRQ. This is dependent on implementation and should 
 
210
 be managed inside event API.
 
211
 
 
212
 I.e. the driver implements just two methods pcilib_wait_irq(hw_source), 
 
213
 pcilib_clear_irq(hw_source). Only a few hardware IRQ sources are defined.
 
214
 In most cirstumances, the IRQ_SOURCE_DEFAULT is used. 
 
215
 
 
216
 The DMA engine may provide 3 additional methods, to enable, disable,
 
217
 and acknowledge IRQ.
 
218
 
 
219
 ... To be decided in details upon the need...
 
220
 
 
221
Updating Firmware
 
222
=================
 
223
 - JTag should be connected to left USB connector on the board
 
224
 - The computer should be tourned off and on before programming
 
225
 - The application is called 'impact'
 
226
    Cancel initial proposals
 
227
    Left click on USB connection 
 
228
    Select "Boundary Scan" and double click
 
229
    Click "Initiate Chain" on right element (left click)
 
230
        Say yes, Select bit file, Cancel
 
231
    Click "Assign new CF file" on right element (left click
 
232
        Select the bit file
 
233
        Select xv6vlx240t
 
234
        Program
 
235
 - Firmwares are in 
 
236
    v.2: /home/uros/Repo/UFO2_last_good_version_UFO2.bit
 
237
    v.3: /home/uros/Repo/UFO3 
 
238
        Step5 - best working revision
 
239
        Step6 - last revision
 
240
 
 
241
    
 
 
b'\\ No newline at end of file'