##// 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
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 #define APB_BASE_ADDRS 0x80000000
23 #define APB_BASE_ADDRS 0x80000000
24 #define APB_MAX_DEVICES 256
24 #define APB_MAX_DEVICES 256
25
25
26 #define VENDOR_LPP 0x19
26 #include "apb_devices_list.h"
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
35
27
36 /** @todo implemente a descriptor structure for any APB device */
28 /** @todo implemente a descriptor structure for any APB device */
37
29
@@ -6,7 +6,7
6 DAC_Device* DacOpen(int count)
6 DAC_Device* DacOpen(int count)
7 {
7 {
8 DAC_Device* dac0;
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 dac0->configReg = DAC_enable;
10 dac0->configReg = DAC_enable;
11 return dac0;
11 return dac0;
12 }
12 }
@@ -15,7 +15,7 DAC_Device* DacOpen(int count)
15 DAC_Device* DacClose(int count)
15 DAC_Device* DacClose(int count)
16 {
16 {
17 DAC_Device* dac1;
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 dac1->configReg = DAC_disable;
19 dac1->configReg = DAC_disable;
20 return dac1;
20 return dac1;
21 }
21 }
@@ -35,9 +35,14 init: C-libs
35 sh $(SCRIPTSDIR)/vhdlsynPatcher.sh
35 sh $(SCRIPTSDIR)/vhdlsynPatcher.sh
36 sh $(SCRIPTSDIR)/makeDirs.sh lib/lpp
36 sh $(SCRIPTSDIR)/makeDirs.sh lib/lpp
37
37
38 C-libs:
38 C-libs:APB_devs
39 make -C LPP_drivers
39 make -C LPP_drivers
40
40
41
42 APB_devs:
43 sh $(SCRIPTSDIR)/APB_DEV_UPDATER.sh
44
45
41 Patch-GRLIB: init doc
46 Patch-GRLIB: init doc
42 sh $(SCRIPTSDIR)/patch.sh $(GRLIB)
47 sh $(SCRIPTSDIR)/patch.sh $(GRLIB)
43
48
@@ -61,7 +61,7 architecture AR_APB_IIR_CEL of APB_IIR_C
61 constant REVISION : integer := 1;
61 constant REVISION : integer := 1;
62
62
63 constant pconfig : apb_config_type := (
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 1 => apb_iobar(paddr, pmask));
65 1 => apb_iobar(paddr, pmask));
66
66
67
67
@@ -53,7 +53,7 architecture ar_lpp_apb_ad_conv of lpp_a
53 constant REVISION : integer := 1;
53 constant REVISION : integer := 1;
54
54
55 constant pconfig : apb_config_type := (
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 1 => apb_iobar(paddr, pmask));
57 1 => apb_iobar(paddr, pmask));
58
58
59 signal Rdata : std_logic_vector(31 downto 0);
59 signal Rdata : std_logic_vector(31 downto 0);
@@ -20,28 +20,12 library ieee;
20 use ieee.std_logic_1164.all;
20 use ieee.std_logic_1164.all;
21 library grlib;
21 library grlib;
22 use grlib.amba.all;
22 use grlib.amba.all;
23 -- pragma translate_off
24 use std.textio.all;
23 use std.textio.all;
25 -- pragma translate_on
26
24
27
25
28
26
29 package lpp_amba is
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 component APB_CHENILLARD is
29 component APB_CHENILLARD is
46 generic (
30 generic (
47 pindex : integer := 0;
31 pindex : integer := 0;
@@ -60,7 +60,7 constant zeroVect : std_logic_ve
60 begin
60 begin
61
61
62
62
63 RDATA <= RDATA_int(8 downto 1);
63
64 WDATA_int <= '1' & WDATA & '0';
64 WDATA_int <= '1' & WDATA & '0';
65
65
66 BaudGenerator : BaudGen
66 BaudGenerator : BaudGen
@@ -90,6 +90,7 begin
90 end if;
90 end if;
91 if NwDat_int_reg = '0' and NwDat_int = '1' then
91 if NwDat_int_reg = '0' and NwDat_int = '1' then
92 NwDat <= '1';
92 NwDat <= '1';
93 RDATA <= RDATA_int(8 downto 1);
93 elsif ack = '1' then
94 elsif ack = '1' then
94 NwDat <= '0';
95 NwDat <= '0';
95 end if;
96 end if;
@@ -97,3 +98,6 begin
97 end process;
98 end process;
98
99
99 end ar_UART;
100 end ar_UART;
101
102
103
@@ -26,8 +26,5 echo
26 echo
26 echo
27
27
28
28
29
29 make -C doc/latex
30
30 cp doc/latex/refman.pdf ../../VHD_lib.pdf
31 cd doc/latex
32 make
33 cp refman.pdf ../../VHD_lib.pdf
@@ -34,7 +34,7 cd $LPP_PATCHPATH/lib/lpp
34
34
35 #find . -type d|grep ./>$LPP_PATCHPATH/lib/lpp/dirs.txt
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 for folders in $(find . -type d|grep ./)
39 for folders in $(find . -type d|grep ./)
40 do
40 do
@@ -60,10 +60,10 if [ -d "$GRLIBPATH" ]; then
60
60
61 #CLEAN
61 #CLEAN
62 echo "CLEANING .."
62 echo "CLEANING .."
63 rm -v $1/lib/*.sh
63 rm -f -v $1/lib/*.sh
64 rm -v $1/lib/TODO
64 rm -f -v $1/lib/TODO
65 rm -v $1/lib/Makefile
65 rm -f -v $1/lib/Makefile
66 rm -v $1/lib/log.txt
66 rm -f -v $1/lib/log.txt
67 echo
67 echo
68 echo
68 echo
69 echo
69 echo
@@ -42,7 +42,7 echo
42
42
43 #CLEAN
43 #CLEAN
44 echo "CLEANING .."
44 echo "CLEANING .."
45 rm -v $1/boards/*.sh
45 rm -f -v $1/boards/*.sh
46 echo
46 echo
47 echo
47 echo
48 echo
48 echo
@@ -42,7 +42,7 echo
42
42
43 #CLEAN
43 #CLEAN
44 echo "CLEANING .."
44 echo "CLEANING .."
45 rm -v $1/designs/*.sh
45 rm -f -v $1/designs/*.sh
46 echo
46 echo
47 echo
47 echo
48 echo
48 echo
@@ -34,7 +34,7 echo
34
34
35 #COPY
35 #COPY
36 echo "Remove old lib Files..."
36 echo "Remove old lib Files..."
37 rm -R -v $1/lib/lpp
37 rm -f -R -v $1/lib/lpp
38 echo "Copy lib Files..."
38 echo "Copy lib Files..."
39 cp -R -v $LPP_LIBPATH/lib $1
39 cp -R -v $LPP_LIBPATH/lib $1
40 echo
40 echo
@@ -56,8 +56,8 echo
56
56
57 #CLEAN
57 #CLEAN
58 echo "CLEANING .."
58 echo "CLEANING .."
59 rm -v $1/lib/*.sh
59 rm -f -v $1/lib/*.sh
60 rm -v $1/lib/GPL_HEADER
60 rm -f -v $1/lib/GPL_HEADER
61 echo
61 echo
62 echo
62 echo
63 echo
63 echo
@@ -47,7 +47,7 case $1 in
47 echo "enter folder : $folders"
47 echo "enter folder : $folders"
48 files=$(ls $folders | grep .vhd | grep -i -v "test")
48 files=$(ls $folders | grep .vhd | grep -i -v "test")
49 echo "found $files"
49 echo "found $files"
50 rm $folders/vhdlsyn.txt
50 rm -f $folders/vhdlsyn.txt
51 for file in $files
51 for file in $files
52 do
52 do
53 echo "$file">>$folders/vhdlsyn.txt
53 echo "$file">>$folders/vhdlsyn.txt
General Comments 0
You need to be logged in to leave comments. Login now