source: soft/giet_vm/giet_drivers/cma_driver.h @ 416

Last change on this file since 416 was 295, checked in by alain, 11 years ago

Introducing a major release, to suppoort the tsar_generic_leti platform
and the various (external or internal) peripherals configurations.
The map.xml format has been modified, in order to support the new
vci_iopic componentand a new policy for peripherals initialisation.
The IRQs are nom described in the XICU and IOPIC components
(and not anymore in the processors).
To enforce this major change, the map.xml file signature changed:
The signature value must be: 0xDACE2014

This new release has been tested on the tsar_generic_leti platform
for the following mappings:

  • 4c_4p_sort_leti
  • 4c_4p_sort_leti_ext
  • 4c_4p_transpose_leti
  • 4c_4p_transpose_leti_ext
  • 4c_1p_four_leti_ext
File size: 2.3 KB
RevLine 
[258]1///////////////////////////////////////////////////////////////////////////////////
2// File     : cma_driver.h
3// Date     : 01/11/2013
4// Author   : alain greiner
5// Copyright (c) UPMC-LIP6
6///////////////////////////////////////////////////////////////////////////////////
7
8#ifndef _GIET_CMA_DRIVERS_H_
9#define _GIET_CMA_DRIVERS_H_
10
11///////////////////////////////////////////////////////////////////////////////////
12// CMA (vci_chbuf_dma) registers offsets
13///////////////////////////////////////////////////////////////////////////////////
14
15enum CMA_registers
16{
17    CHBUF_RUN           = 0,    // write-only : channel activated
18    CHBUF_STATUS        = 1,    // read-only  : channel fsm state
19    CHBUF_SRC_DESC      = 2,    // read/write : source chbuf : descriptor base address
20    CHBUF_DST_DESC      = 3,    // read/write : destination chbuf : descriptor base address,
21    CHBUF_SRC_NBUFS     = 4,    // read/write : source chbuf : number of buffers,
22    CHBUF_DST_NBUFS     = 5,    // read/write : destination chbuf : number of buffers,
23    CHBUF_BUF_SIZE      = 6,    // read/write : buffer size for both source & destination 
24    CHBUF_PERIOD        = 7,    // read/write : period for status polling
25    CHBUF_SRC_EXT       = 8,    // read/write : source chbuf : descriptor base address
26    CHBUF_DST_EXT       = 9,    // read/write : destination chbuf : descriptor base address,
27    /****/
28    CHBUF_CHANNEL_SPAN  = 1024,
29};
30
[295]31///////////////////////////////////////////////////////////////////////////////////
32// CMA (vci_chbuf_dma) low-level access functions
33///////////////////////////////////////////////////////////////////////////////////
34
35extern unsigned int _cma_get_register( unsigned int channel,
36                                       unsigned int index );
37
38extern void _cma_set_register( unsigned int channel,
39                               unsigned int index,
40                               unsigned int value );
41
42extern void _cma_isr( unsigned int irq_type,
43                      unsigned int irq_id,
44                      unsigned int channel );
45
46///////////////////////////////////////////////////////////////////////////////////
47
[258]48#endif
49
50// Local Variables:
51// tab-width: 4
52// c-basic-offset: 4
53// c-file-offsets:((innamespace . 0)(inline-open . 0))
54// indent-tabs-mode: nil
55// End:
56// vim: filetype=c:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
57
Note: See TracBrowser for help on using the repository browser.