##// END OF EJS Templates
Added an automated Devices ID and Vendor ID handler
Alexis -
r36:2c9e70f363a1 default
parent child
Show More
1 NO CONTENT: new file 100644
@@ -0,0 +1,9
1
2
3 /*===============================================================================
4
5 THIS FILE IS GENERATED BY A SCRIPT, DON'T TRY TO EDIT
6
7 TAKE A LOOK AT VHD_LIB/APB_DEVICES FOLDER TO ADD A DEVICE ID OR VENDOR ID
8
9 ===============================================================================*/
@@ -0,0 +1,3
1
2
3 end;
@@ -0,0 +1,18
1
2 --=================================================================================
3 --THIS FILE IS GENERATED BY A SCRIPT, DON'T TRY TO EDIT
4 --
5 --TAKE A LOOK AT VHD_LIB/APB_DEVICES FOLDER TO ADD A DEVICE ID OR VENDOR ID
6 --=================================================================================
7
8
9 library ieee;
10 use ieee.std_logic_1164.all;
11 library grlib;
12 use grlib.amba.all;
13 use std.textio.all;
14
15
16 package lpp_apb_devices is
17
18
@@ -0,0 +1,12
1 vendor VENDOR_LPP 19
2
3 device ROCKET_TM 1
4 device otherCore 2
5 device LPP_SIMPLE_DIODE 3
6 device LPP_MULTI_DIODE 4
7 device LPP_LCD_CTRLR 5
8 device LPP_UART 6
9 device LPP_CNA 7
10 device LPP_APB_ADC 8
11 device LPP_CHENILLARD 9
12 device LPP_IIR_CEL_FILTER 10
@@ -0,0 +1,77
1 echo "======================================================================================="
2 echo "---------------------------------------------------------------------------------------"
3 echo " LPP VHDL APB Devices List Updater "
4 echo " Copyright (C) 2010 Laboratory of Plasmas Physic. "
5 echo "======================================================================================="
6 echo '----------------------------------------------------------------------------------------
7 This file is a part of the LPP VHDL IP LIBRARY
8 Copyright (C) 2010, Laboratory of Plasmas Physic - CNRS
9
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3 of the License, or
13 (at your option) any later version.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 ----------------------------------------------------------------------------------------'
24 echo
25 echo
26 echo
27
28 LPP_PATCHPATH=`pwd -L`
29
30 cd $LPP_PATCHPATH/lib/lpp
31
32
33 VHDFileStart=$LPP_PATCHPATH/APB_DEVICES/VHDListSTART
34 VHDFileEnd=$LPP_PATCHPATH/APB_DEVICES/VHDListEND
35
36 CFileStart=$LPP_PATCHPATH/APB_DEVICES/CListSTART
37 CFileEnd=$LPP_PATCHPATH/APB_DEVICES/CListEND
38
39 ListFILE=$LPP_PATCHPATH/APB_DEVICES/apb_devices_list.txt
40
41 VHDListFILE=$LPP_PATCHPATH/lib/lpp/lpp_amba/apb_devices_list.vhd
42 CListFILE=$LPP_PATCHPATH/LPP_drivers/libsrc/AMBA/apb_devices_list.h
43
44
45 cat $VHDFileStart>$VHDListFILE
46 cat $CFileStart>$CListFILE
47
48 grep vendor $ListFILE | sed "s/vendor /constant /" | sed "s/.* /& : amba_vendor_type := 16#/" | sed "s/.*#*/&;/" >> $VHDListFILE
49 grep vendor $ListFILE | sed "s/vendor /#define /" | sed "s/.* /& 0x/" >> $CListFILE
50
51 echo " ">>$VHDListFILE
52 echo " ">>$CListFILE
53
54 grep device $ListFILE | sed "s/device /constant /" | sed "s/.* /& : amba_device_type := 16#/" | sed "s/.*#*/&;/" >> $VHDListFILE
55 grep device $ListFILE | sed "s/device /#define /" | sed "s/.* /& 0x/" >> $CListFILE
56
57 cat $VHDFileEnd>>$VHDListFILE
58 cat $CFileEnd>>$CListFILE
59
60 sh $(SCRIPTSDIR)/GPL_Patcher.sh vhd lib/lpp/lpp_amba/
61 sh $(SCRIPTSDIR)/GPL_Patcher.sh h LPP_drivers/libsrc/AMBA/
62
63 cd $LPP_PATCHPATH
64
65
66
67
68
69
70
71
72
73
74
75
76
77
@@ -23,15 +23,7
23 23 #define APB_BASE_ADDRS 0x80000000
24 24 #define APB_MAX_DEVICES 256
25 25
26 #define VENDOR_LPP 0x19
27
28 #define ROCKET_TM 0x001
29 #define otherCore 0x002
30 #define LPP_SIMPLE_DIODE 0x003
31 #define LPP_MULTI_DIODE 0x004
32 #define LPP_LCD_CTRLR 0x005
33 #define LPP_UART_CTRLR 0x006
34 #define LPP_DAC_CTRLR 0x007
26 #include "apb_devices_list.h"
35 27
36 28 /** @todo implemente a descriptor structure for any APB device */
37 29
@@ -6,7 +6,7
6 6 DAC_Device* DacOpen(int count)
7 7 {
8 8 DAC_Device* dac0;
9 dac0 = (DAC_Device*) apbgetdevice(LPP_DAC_CTRLR,VENDOR_LPP,count);
9 dac0 = (DAC_Device*) apbgetdevice(LPP_CNA,VENDOR_LPP,count);
10 10 dac0->configReg = DAC_enable;
11 11 return dac0;
12 12 }
@@ -15,7 +15,7 DAC_Device* DacOpen(int count)
15 15 DAC_Device* DacClose(int count)
16 16 {
17 17 DAC_Device* dac1;
18 dac1 = (DAC_Device*) apbgetdevice(LPP_DAC_CTRLR,VENDOR_LPP,count);
18 dac1 = (DAC_Device*) apbgetdevice(LPP_CNA,VENDOR_LPP,count);
19 19 dac1->configReg = DAC_disable;
20 20 return dac1;
21 21 }
@@ -35,9 +35,14 init: C-libs
35 35 sh $(SCRIPTSDIR)/vhdlsynPatcher.sh
36 36 sh $(SCRIPTSDIR)/makeDirs.sh lib/lpp
37 37
38 C-libs:
38 C-libs:APB_devs
39 39 make -C LPP_drivers
40 40
41
42 APB_devs:
43 sh $(SCRIPTSDIR)/APB_DEV_UPDATER.sh
44
45
41 46 Patch-GRLIB: init doc
42 47 sh $(SCRIPTSDIR)/patch.sh $(GRLIB)
43 48
@@ -61,7 +61,7 architecture AR_APB_IIR_CEL of APB_IIR_C
61 61 constant REVISION : integer := 1;
62 62
63 63 constant pconfig : apb_config_type := (
64 0 => ahb_device_reg (VENDOR_LPP, ROCKET_TM, 0, REVISION, 0),
64 0 => ahb_device_reg (VENDOR_LPP, LPP_IIR_CEL_FILTER, 0, REVISION, 0),
65 65 1 => apb_iobar(paddr, pmask));
66 66
67 67
@@ -53,7 +53,7 architecture ar_lpp_apb_ad_conv of lpp_a
53 53 constant REVISION : integer := 1;
54 54
55 55 constant pconfig : apb_config_type := (
56 0 => ahb_device_reg (VENDOR_LPP, LPP_ADC_7688, 0, REVISION, 0),
56 0 => ahb_device_reg (VENDOR_LPP, LPP_APB_ADC, 0, REVISION, 0),
57 57 1 => apb_iobar(paddr, pmask));
58 58
59 59 signal Rdata : std_logic_vector(31 downto 0);
@@ -20,28 +20,12 library ieee;
20 20 use ieee.std_logic_1164.all;
21 21 library grlib;
22 22 use grlib.amba.all;
23 -- pragma translate_off
24 23 use std.textio.all;
25 -- pragma translate_on
26 24
27 25
28 26
29 27 package lpp_amba is
30 28
31 constant VENDOR_LPP : amba_vendor_type := 16#19#;
32
33 -- LPP device ids
34
35 constant ROCKET_TM : amba_device_type := 16#001#;
36 constant otherCore : amba_device_type := 16#002#;
37 constant LPP_SIMPLE_DIODE : amba_device_type := 16#003#;
38 constant LPP_MULTI_DIODE : amba_device_type := 16#004#;
39 constant LPP_LCD_CTRLR : amba_device_type := 16#005#;
40 constant LPP_UART : amba_device_type := 16#006#;
41 constant LPP_CNA : amba_device_type := 16#007#;
42 constant LPP_ADC_7688 : amba_device_type := 16#008#;
43 constant LPP_CHENILLARD : amba_device_type := 16#009#;
44
45 29 component APB_CHENILLARD is
46 30 generic (
47 31 pindex : integer := 0;
@@ -60,7 +60,7 constant zeroVect : std_logic_ve
60 60 begin
61 61
62 62
63 RDATA <= RDATA_int(8 downto 1);
63
64 64 WDATA_int <= '1' & WDATA & '0';
65 65
66 66 BaudGenerator : BaudGen
@@ -90,6 +90,7 begin
90 90 end if;
91 91 if NwDat_int_reg = '0' and NwDat_int = '1' then
92 92 NwDat <= '1';
93 RDATA <= RDATA_int(8 downto 1);
93 94 elsif ack = '1' then
94 95 NwDat <= '0';
95 96 end if;
@@ -97,3 +98,6 begin
97 98 end process;
98 99
99 100 end ar_UART;
101
102
103
@@ -26,8 +26,5 echo
26 26 echo
27 27
28 28
29
30
31 cd doc/latex
32 make
33 cp refman.pdf ../../VHD_lib.pdf
29 make -C doc/latex
30 cp doc/latex/refman.pdf ../../VHD_lib.pdf
@@ -34,7 +34,7 cd $LPP_PATCHPATH/lib/lpp
34 34
35 35 #find . -type d|grep ./>$LPP_PATCHPATH/lib/lpp/dirs.txt
36 36
37 rm $LPP_PATCHPATH/lib/lpp/dirs.txt
37 rm -f $LPP_PATCHPATH/lib/lpp/dirs.txt
38 38
39 39 for folders in $(find . -type d|grep ./)
40 40 do
@@ -60,10 +60,10 if [ -d "$GRLIBPATH" ]; then
60 60
61 61 #CLEAN
62 62 echo "CLEANING .."
63 rm -v $1/lib/*.sh
64 rm -v $1/lib/TODO
65 rm -v $1/lib/Makefile
66 rm -v $1/lib/log.txt
63 rm -f -v $1/lib/*.sh
64 rm -f -v $1/lib/TODO
65 rm -f -v $1/lib/Makefile
66 rm -f -v $1/lib/log.txt
67 67 echo
68 68 echo
69 69 echo
@@ -42,7 +42,7 echo
42 42
43 43 #CLEAN
44 44 echo "CLEANING .."
45 rm -v $1/boards/*.sh
45 rm -f -v $1/boards/*.sh
46 46 echo
47 47 echo
48 48 echo
@@ -42,7 +42,7 echo
42 42
43 43 #CLEAN
44 44 echo "CLEANING .."
45 rm -v $1/designs/*.sh
45 rm -f -v $1/designs/*.sh
46 46 echo
47 47 echo
48 48 echo
@@ -34,7 +34,7 echo
34 34
35 35 #COPY
36 36 echo "Remove old lib Files..."
37 rm -R -v $1/lib/lpp
37 rm -f -R -v $1/lib/lpp
38 38 echo "Copy lib Files..."
39 39 cp -R -v $LPP_LIBPATH/lib $1
40 40 echo
@@ -56,8 +56,8 echo
56 56
57 57 #CLEAN
58 58 echo "CLEANING .."
59 rm -v $1/lib/*.sh
60 rm -v $1/lib/GPL_HEADER
59 rm -f -v $1/lib/*.sh
60 rm -f -v $1/lib/GPL_HEADER
61 61 echo
62 62 echo
63 63 echo
@@ -47,7 +47,7 case $1 in
47 47 echo "enter folder : $folders"
48 48 files=$(ls $folders | grep .vhd | grep -i -v "test")
49 49 echo "found $files"
50 rm $folders/vhdlsyn.txt
50 rm -f $folders/vhdlsyn.txt
51 51 for file in $files
52 52 do
53 53 echo "$file">>$folders/vhdlsyn.txt
General Comments 0
You need to be logged in to leave comments. Login now