##// END OF EJS Templates
Cleaned some files.
Alexis -
r46:27f499ea014f default
parent child
Show More
@@ -1,29 +1,30
1 # use glob syntax.
1 # use glob syntax.
2 syntax: glob
2 syntax: glob
3
3
4 *.tex
4 *.tex
5 *.html
5 *.html
6 *log*
6 *log*
7 *.png
7 *.png
8 *.dot
8 *.dot
9 *.css
9 *.css
10 *.md5
10 *.md5
11 *.eps
11 *.eps
12 *.pdf
12 *.pdf
13 *.toc
13 *.toc
14 *.map
14 *.map
15 *.sty
15 *.sty
16 *.3
16 *.3
17 *.js
17 *.js
18 *.aux
18 *.aux
19 *.idx
19 *.idx
20 *doc*
20 *doc*
21 *Doc*
21 *Doc*
22 *vhdlsyn.txt
22 *vhdlsyn.txt
23 *dirs.txt
23 *dirs.txt
24 *.orig
24 *.orig
25 *.o
25 *.o
26 *.a
26 *.a
27 *.bin
27 *.bin
28 *~
28 *~
29
29 LPP_drivers/libsrc/AMBA/apb_devices_list.h
30 lib/lpp/lpp_amba/apb_devices_list.vhd
@@ -1,95 +1,99
1 /*------------------------------------------------------------------------------
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the LPP VHDL IP LIBRARY
2 -- This file is a part of the LPP VHDL IP LIBRARY
3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
4 --
4 --
5 -- This program is free software; you can redistribute it and/or modify
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
8 -- (at your option) any later version.
9 --
9 --
10 -- This program is distributed in the hope that it will be useful,
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
13 -- GNU General Public License for more details.
14 --
14 --
15 -- You should have received a copy of the GNU General Public License
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------*/
18 -------------------------------------------------------------------------------*/
19 /*-- Author : Alexis Jeandet
20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 ----------------------------------------------------------------------------*/
19 #ifndef APB_LCD_DRIVER_H
22 #ifndef APB_LCD_DRIVER_H
20 #define APB_LCD_DRIVER_H
23 #define APB_LCD_DRIVER_H
21
24
22 #define readyFlag 1024
25 #define readyFlag 1024
23 #define lcdCharCnt 80
26 #define lcdCharCnt 80
24
27
25
28
26 /** @todo implemente some shift functions */
29 /** @todo implemente some shift functions */
27
30
28
31
29 /*===================================================
32 /*===================================================
30 T Y P E S D E F
33 T Y P E S D E F
31 ====================================================*/
34 ====================================================*/
32
35
33
36
34
37
35 /** error type used for most of lcd functions */
38 /** error type used for most of lcd functions */
36 typedef int lcd_err;
39 typedef int lcd_err;
37
40
38 /** lcd error ennum for higher abstraction level when error decoding */
41 /** lcd error ennum for higher abstraction level when error decoding */
39 enum lcd_error
42 enum lcd_error
40 {
43 {
41 lcd_error_no_error, /**< no error append while function execution */
44 lcd_error_no_error, /**< no error append while function execution */
42 lcd_error_not_ready, /**< the lcd isn't available*/
45 lcd_error_not_ready, /**< the lcd isn't available*/
43 lcd_error_not_openned, /**< the device guiven to the function isn't opened*/
46 lcd_error_not_openned, /**< the device guiven to the function isn't opened*/
44 lcd_error_too_long /**< the string guiven to the lcd is bigger than the lcd frame buffer memory */
47 lcd_error_too_long /**< the string guiven to the lcd is bigger than the lcd frame buffer memory */
45 };
48 };
46
49
47
50
48 /** for each command sended to the lcd driver a time should be guiven according to the lcd datasheet */
51 /** for each command sended to the lcd driver a time should be guiven according to the lcd datasheet */
49 enum lcd_CMD_time
52 enum lcd_CMD_time
50 {
53 {
51 lcd_4us = 0x0FF,
54 lcd_4us = 0x0FF,
52 lcd_100us = 0x1FF,
55 lcd_100us = 0x1FF,
53 lcd_4ms = 0x2FF,
56 lcd_4ms = 0x2FF,
54 lcd_20ms = 0x3FF
57 lcd_20ms = 0x3FF
55 };
58 };
56
59
57 /** list of availiable lcd commands use whith an AND mask whith cmd time */
60 /** list of availiable lcd commands use whith an AND mask whith cmd time */
58 enum lcd_CMD
61 enum lcd_CMD
59 {
62 {
60 CursorON = 0xF0E,
63 CursorON = 0xF0E,
61 CursorOFF = 0xF0C
64 CursorOFF = 0xF0C
62 };
65 };
63
66
64 /** structure representing the lcd registers */
67 /** structure representing the lcd registers */
65 struct lcd_driver
68 struct lcd_driver
66 {
69 {
67 int cfg_reg; /**< Configuration register composed of Ready flag [10], CMD time Value [9:8], CMD to send [7:0]*/
70 int cfg_reg; /**< Configuration register composed of Ready flag [10], CMD time Value [9:8],
71 CMD to send [7:0]*/
68 int Frame_buff[lcdCharCnt]; /**< Frame Buffer space each address corresponds to a char on the lcd screen */
72 int Frame_buff[lcdCharCnt]; /**< Frame Buffer space each address corresponds to a char on the lcd screen */
69 };
73 };
70
74
71 typedef struct lcd_driver lcd_device;
75 typedef struct lcd_driver lcd_device;
72
76
73 /*===================================================
77 /*===================================================
74 F U N C T I O N S
78 F U N C T I O N S
75 ====================================================*/
79 ====================================================*/
76
80
77 /** says if the lcd is busy */
81 /** says if the lcd is busy */
78 int lcdbusy(lcd_device * lcd);
82 int lcdbusy(lcd_device * lcd);
79
83
80 /** Opens and returns the counth lcd found on APB bus else NULL */
84 /** Opens and returns the counth lcd found on APB bus else NULL */
81 lcd_device* lcdopen(int count);
85 lcd_device* lcdopen(int count);
82
86
83 /** Sends a command to the given device, don't forget to guive the time of the cmd */
87 /** Sends a command to the given device, don't forget to guive the time of the cmd */
84 lcd_err lcdsendcmd(lcd_device* lcd,int cmd);
88 lcd_err lcdsendcmd(lcd_device* lcd,int cmd);
85
89
86 /** Sets a char on the given device at given position */
90 /** Sets a char on the given device at given position */
87 lcd_err lcdsetchar(lcd_device* lcd,int position,const char value);
91 lcd_err lcdsetchar(lcd_device* lcd,int position,const char value);
88
92
89 /** Prints a message on the given device at given position, "\n" is understood but for others use sprintf before */
93 /** Prints a message on the given device at given position, "\n" is understood but for others use sprintf before */
90 lcd_err lcdprint(lcd_device* lcd,int position,const char* value);
94 lcd_err lcdprint(lcd_device* lcd,int position,const char* value);
91
95
92 /** Writes space character on each adress of the lcd screen */
96 /** Writes space character on each adress of the lcd screen */
93 lcd_err lcdclear(lcd_device* lcd);
97 lcd_err lcdclear(lcd_device* lcd);
94
98
95 #endif
99 #endif
@@ -1,59 +1,62
1 /*------------------------------------------------------------------------------
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the LPP VHDL IP LIBRARY
2 -- This file is a part of the LPP VHDL IP LIBRARY
3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
4 --
4 --
5 -- This program is free software; you can redistribute it and/or modify
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
8 -- (at your option) any later version.
9 --
9 --
10 -- This program is distributed in the hope that it will be useful,
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
13 -- GNU General Public License for more details.
14 --
14 --
15 -- You should have received a copy of the GNU General Public License
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------*/
18 -------------------------------------------------------------------------------*/
19 /*-- Author : Alexis Jeandet
20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 ----------------------------------------------------------------------------*/
19 #ifndef LPP_APB_FUNCTIONS_H
22 #ifndef LPP_APB_FUNCTIONS_H
20 #define LPP_APB_FUNCTIONS_H
23 #define LPP_APB_FUNCTIONS_H
21
24
22 #define APB_TBL_HEAD 0x800FF000
25 #define APB_TBL_HEAD 0x800FF000
23 #define APB_BASE_ADDRS 0x80000000
26 #define APB_BASE_ADDRS 0x80000000
24 #define APB_MAX_DEVICES 256
27 #define APB_MAX_DEVICES 256
25
28
26 #include "apb_devices_list.h"
29 #include "apb_devices_list.h"
27
30
28 /** @todo implemente a descriptor structure for any APB device */
31 /** @todo implemente a descriptor structure for any APB device */
29
32
30
33
31 /** Structure representing a device descriptor register on Grlib's AHB2APB brige with plug and play feature */
34 /** Structure representing a device descriptor register on Grlib's AHB2APB brige with plug and play feature */
32 struct apbPnPreg
35 struct apbPnPreg
33 {
36 {
34 int idReg; /**< id register composed of Vendor ID [31:24], Device ID [23:12], CT [11:10], Version [9:5], IRQ [4:0] */
37 int idReg; /**< id register composed of Vendor ID [31:24], Device ID [23:12], CT [11:10], Version [9:5], IRQ [4:0] */
35 int bar; /**< Bank Address Register composed of Device's ADDRESS [31:20], MASK [14:4], TYPE [3:0] */
38 int bar; /**< Bank Address Register composed of Device's ADDRESS [31:20], MASK [14:4], TYPE [3:0] */
36 };
39 };
37
40
38 struct apbdevinfo
41 struct apbdevinfo
39 {
42 {
40 int vendorID;
43 int vendorID;
41 int productID;
44 int productID;
42 int version;
45 int version;
43 int irq;
46 int irq;
44 int address;
47 int address;
45 int mask;
48 int mask;
46 };
49 };
47
50
48 /** This Function scans APB devices table and returns counth device according to VID and PID */
51 /** This Function scans APB devices table and returns counth device according to VID and PID */
49 int* apbgetdevice(int PID,int VID,int count);
52 int* apbgetdevice(int PID,int VID,int count);
50 /** This Function scans APB devices table and returns counth device informations according VID and PID */
53 /** This Function scans APB devices table and returns counth device informations according VID and PID */
51 void apbgetdeviceinfofromid(int PID,int VID,int count,struct apbdevinfo* devinfo);
54 void apbgetdeviceinfofromid(int PID,int VID,int count,struct apbdevinfo* devinfo);
52
55
53 void apbgetdeviceinfofromdevptr(const struct apbPnPreg* dev,struct apbdevinfo* devinfo);
56 void apbgetdeviceinfofromdevptr(const struct apbPnPreg* dev,struct apbdevinfo* devinfo);
54
57
55
58
56 void apbprintdeviceinfo(struct apbdevinfo devinfo);
59 void apbprintdeviceinfo(struct apbdevinfo devinfo);
57
60
58 void apbprintdeviceslist();
61 void apbprintdeviceslist();
59 #endif // LPP_APB_FUNCTIONS_H
62 #endif // LPP_APB_FUNCTIONS_H
@@ -1,98 +1,99
1 /*------------------------------------------------------------------------------
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the LPP VHDL IP LIBRARY
2 -- This file is a part of the LPP VHDL IP LIBRARY
3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
4 --
4 --
5 -- This program is free software; you can redistribute it and/or modify
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
8 -- (at your option) any later version.
9 --
9 --
10 -- This program is distributed in the hope that it will be useful,
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
13 -- GNU General Public License for more details.
14 --
14 --
15 -- You should have received a copy of the GNU General Public License
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------*/
18 -------------------------------------------------------------------------------*/
19 /*-- Author : Alexis Jeandet
19 /*-- Author : Alexis Jeandet
20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 ----------------------------------------------------------------------------*/
21 ----------------------------------------------------------------------------*/
22 #ifndef APB_LCD_DRIVER_H
22 #ifndef APB_LCD_DRIVER_H
23 #define APB_LCD_DRIVER_H
23 #define APB_LCD_DRIVER_H
24
24
25 #define readyFlag 1024
25 #define readyFlag 1024
26 #define lcdCharCnt 80
26 #define lcdCharCnt 80
27
27
28
28
29 /** @todo implemente some shift functions */
29 /** @todo implemente some shift functions */
30
30
31
31
32 /*===================================================
32 /*===================================================
33 T Y P E S D E F
33 T Y P E S D E F
34 ====================================================*/
34 ====================================================*/
35
35
36
36
37
37
38 /** error type used for most of lcd functions */
38 /** error type used for most of lcd functions */
39 typedef int lcd_err;
39 typedef int lcd_err;
40
40
41 /** lcd error ennum for higher abstraction level when error decoding */
41 /** lcd error ennum for higher abstraction level when error decoding */
42 enum lcd_error
42 enum lcd_error
43 {
43 {
44 lcd_error_no_error, /**< no error append while function execution */
44 lcd_error_no_error, /**< no error append while function execution */
45 lcd_error_not_ready, /**< the lcd isn't available*/
45 lcd_error_not_ready, /**< the lcd isn't available*/
46 lcd_error_not_openned, /**< the device guiven to the function isn't opened*/
46 lcd_error_not_openned, /**< the device guiven to the function isn't opened*/
47 lcd_error_too_long /**< the string guiven to the lcd is bigger than the lcd frame buffer memory */
47 lcd_error_too_long /**< the string guiven to the lcd is bigger than the lcd frame buffer memory */
48 };
48 };
49
49
50
50
51 /** for each command sended to the lcd driver a time should be guiven according to the lcd datasheet */
51 /** for each command sended to the lcd driver a time should be guiven according to the lcd datasheet */
52 enum lcd_CMD_time
52 enum lcd_CMD_time
53 {
53 {
54 lcd_4us = 0x0FF,
54 lcd_4us = 0x0FF,
55 lcd_100us = 0x1FF,
55 lcd_100us = 0x1FF,
56 lcd_4ms = 0x2FF,
56 lcd_4ms = 0x2FF,
57 lcd_20ms = 0x3FF
57 lcd_20ms = 0x3FF
58 };
58 };
59
59
60 /** list of availiable lcd commands use whith an AND mask whith cmd time */
60 /** list of availiable lcd commands use whith an AND mask whith cmd time */
61 enum lcd_CMD
61 enum lcd_CMD
62 {
62 {
63 CursorON = 0xF0E,
63 CursorON = 0xF0E,
64 CursorOFF = 0xF0C
64 CursorOFF = 0xF0C
65 };
65 };
66
66
67 /** structure representing the lcd registers */
67 /** structure representing the lcd registers */
68 struct lcd_driver
68 struct lcd_driver
69 {
69 {
70 int cfg_reg; /**< Configuration register composed of Ready flag [10], CMD time Value [9:8], CMD to send [7:0]*/
70 int cfg_reg; /**< Configuration register composed of Ready flag [10], CMD time Value [9:8],
71 CMD to send [7:0]*/
71 int Frame_buff[lcdCharCnt]; /**< Frame Buffer space each address corresponds to a char on the lcd screen */
72 int Frame_buff[lcdCharCnt]; /**< Frame Buffer space each address corresponds to a char on the lcd screen */
72 };
73 };
73
74
74 typedef struct lcd_driver lcd_device;
75 typedef struct lcd_driver lcd_device;
75
76
76 /*===================================================
77 /*===================================================
77 F U N C T I O N S
78 F U N C T I O N S
78 ====================================================*/
79 ====================================================*/
79
80
80 /** says if the lcd is busy */
81 /** says if the lcd is busy */
81 int lcdbusy(lcd_device * lcd);
82 int lcdbusy(lcd_device * lcd);
82
83
83 /** Opens and returns the counth lcd found on APB bus else NULL */
84 /** Opens and returns the counth lcd found on APB bus else NULL */
84 lcd_device* lcdopen(int count);
85 lcd_device* lcdopen(int count);
85
86
86 /** Sends a command to the given device, don't forget to guive the time of the cmd */
87 /** Sends a command to the given device, don't forget to guive the time of the cmd */
87 lcd_err lcdsendcmd(lcd_device* lcd,int cmd);
88 lcd_err lcdsendcmd(lcd_device* lcd,int cmd);
88
89
89 /** Sets a char on the given device at given position */
90 /** Sets a char on the given device at given position */
90 lcd_err lcdsetchar(lcd_device* lcd,int position,const char value);
91 lcd_err lcdsetchar(lcd_device* lcd,int position,const char value);
91
92
92 /** Prints a message on the given device at given position, "\n" is understood but for others use sprintf before */
93 /** Prints a message on the given device at given position, "\n" is understood but for others use sprintf before */
93 lcd_err lcdprint(lcd_device* lcd,int position,const char* value);
94 lcd_err lcdprint(lcd_device* lcd,int position,const char* value);
94
95
95 /** Writes space character on each adress of the lcd screen */
96 /** Writes space character on each adress of the lcd screen */
96 lcd_err lcdclear(lcd_device* lcd);
97 lcd_err lcdclear(lcd_device* lcd);
97
98
98 #endif
99 #endif
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now