From a7eef74cdd94476fb3065b386e4d142ce0ce84c0 Mon Sep 17 00:00:00 2001 From: Jie Zhang Date: Thu, 10 Apr 2008 03:18:42 +0000 Subject: [PATCH] [ 1938324 ] Add support for Atmel atf1504asv From Stefan Pledl * src/bsdl2jtag.c (endline): Set mode to 0 for INSTRUCTION_LENGTH and BOUNDARY_LENGTH attributes. * data/atmel/atf15xx/STEPPINGS: New file. * data/atmel/atf15xx/atf1504asv: New file. * data/atmel/PARTS: Add atf15xx. * data/Makefile.am (nobase_dist_pkgdata_DATA): Add atmel/atf15xx/STEPPINGS and atmel/atf15xx/atf1504asv. git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@1163 b68d4a1b-bc3d-0410-92ed-d4ac073336b7 --- jtag/ChangeLog | 11 ++ jtag/data/Makefile.am | 2 + jtag/data/atmel/PARTS | 6 + jtag/data/atmel/atf15xx/STEPPINGS | 30 ++++ jtag/data/atmel/atf15xx/atf1504asv | 275 +++++++++++++++++++++++++++++ jtag/src/bsdl2jtag.c | 2 + 6 files changed, 326 insertions(+) create mode 100644 jtag/data/atmel/atf15xx/STEPPINGS create mode 100644 jtag/data/atmel/atf15xx/atf1504asv diff --git a/jtag/ChangeLog b/jtag/ChangeLog index c985aeb6..e9a7a5b6 100644 --- a/jtag/ChangeLog +++ b/jtag/ChangeLog @@ -1,3 +1,14 @@ +2008-04-10 Jie Zhang + + From Stefan Pledl + * src/bsdl2jtag.c (endline): Set mode to 0 for INSTRUCTION_LENGTH + and BOUNDARY_LENGTH attributes. + * data/atmel/atf15xx/STEPPINGS: New file. + * data/atmel/atf15xx/atf1504asv: New file. + * data/atmel/PARTS: Add atf15xx. + * data/Makefile.am (nobase_dist_pkgdata_DATA): Add + atmel/atf15xx/STEPPINGS and atmel/atf15xx/atf1504asv. + 2008-04-09 Jie Zhang * src/bus/bf537_stamp.c (bf537_stamp_bus_new_1): Renamed diff --git a/jtag/data/Makefile.am b/jtag/data/Makefile.am index 6bd717f3..bd262ef1 100644 --- a/jtag/data/Makefile.am +++ b/jtag/data/Makefile.am @@ -54,6 +54,8 @@ nobase_dist_pkgdata_DATA = \ atmel/at91sam7s256/STEPPINGS \ atmel/at91sam7s256/at91sam7s_tq64v0 \ atmel/at91sam7s256/at91sam7s_tq48v0 \ + atmel/atf15xx/STEPPINGS \ + atmel/atf15xx/atf1504asv \ analog/PARTS \ analog/bf527c/STEPPINGS \ analog/bf527c/bf527c \ diff --git a/jtag/data/atmel/PARTS b/jtag/data/atmel/PARTS index 9df77e86..abd4a3cd 100644 --- a/jtag/data/atmel/PARTS +++ b/jtag/data/atmel/PARTS @@ -19,11 +19,15 @@ # 02111-1307, USA. # # Written by Marcel Telka , 2002. +# Modified by Stefan Pledl , 2007. # # Documentation: # [1] Atmel Corporation, "ATmega128(L) - 8-bit AVR Microcontroller with # 128K Bytes In-System Programmable Flash", 2002, Rev. 2467E-AVR-05/02 # +# [2] Atmel Corporation, 1504BSDL.ZIP - BSDL files for ATF1504AS/ASL and +# ATF1504ASV/ASVL +# # bits 27-12 of the Device Identification Register 1001011100000010 atmega128 ATmega128 # see Table 100 in [1] @@ -32,4 +36,6 @@ 0101101100001001 at91sam7s256 AT91SAM7S256 0101101100001010 at91sam7s128 AT91SAM7S128 0101101100001100 at91sam7s321 AT91SAM7S321 +0001010100010100 atf15xx ATF1504ASV # see 1504ASV_J44.bsd + # in [2] diff --git a/jtag/data/atmel/atf15xx/STEPPINGS b/jtag/data/atmel/atf15xx/STEPPINGS new file mode 100644 index 00000000..5e9859a5 --- /dev/null +++ b/jtag/data/atmel/atf15xx/STEPPINGS @@ -0,0 +1,30 @@ +# +# $Id: STEPPINGS 20 2005-05-24 02:39:42Z philwil $ +# +# Copyright (C) 2002 ETC s.r.o. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. +# +# Written by Marcel Telka , 2002. +# Modified by Stefan Pledl , 2007 +# +# Documentation: +# [1] Atmel Corporation, 1504BSDL.ZIP - BSDL files for ATF1504AS/ASL and +# ATF1504ASV/ASVL +# + +# bits 31-28 of the Device Identification Register +0000 atf1504asv A diff --git a/jtag/data/atmel/atf15xx/atf1504asv b/jtag/data/atmel/atf15xx/atf1504asv new file mode 100644 index 00000000..50bfb739 --- /dev/null +++ b/jtag/data/atmel/atf15xx/atf1504asv @@ -0,0 +1,275 @@ +# +# $Id: STEPPINGS 20 2005-05-24 02:39:42Z philwil $ +# +# Copyright (C) 2002 ETC s.r.o. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. +# +# Generated by Stefan Pledl , 2007 +# with bsdl2jtag +# +# Documentation: +# [1] Atmel Corporation, 1504BSDL.ZIP - BSDL files for ATF1504AS/ASL and +# ATF1504ASV/ASVL +# + +signal IO4 +signal IO5 +signal IO6 +signal IO8 +signal IO9 +signal IO11 +signal IO12 +signal IO14 +signal IO16 +signal IO17 +signal IO18 +signal IO19 +signal IO20 +signal IO21 +signal IO24 +signal IO25 +signal IO26 +signal IO27 +signal IO28 +signal IO29 +signal IO31 +signal IO33 +signal IO34 +signal IO36 +signal IO37 +signal IO39 +signal IO40 +signal IO41 +signal TCK +signal TDI +signal TDO +signal TMS +signal DIN1 +signal DIN2 +signal DIN3 +signal DIN4 +signal VCC1 +signal VCC2 +signal VCC3 +signal VCC4 +signal GND1 +signal GND2 +signal GND3 + +register BSR 192 +register BR 1 +register DIR 32 + +instruction length 10 + +instruction EXTEST 0000000000 BSR +instruction BYPASS 1111111111 BR +instruction SAMPLE/PRELOAD 0001010101 BSR +instruction IDCODE 0001011001 DIR + +bit 191 O 1 IO4 190 0 Z +bit 190 C 0 * +bit 189 O 1 * +bit 188 O 0 * +bit 187 O 1 IO5 186 0 Z +bit 186 C 0 * +bit 185 O 1 * +bit 184 O 0 * +bit 183 O 1 * +bit 182 O 0 * +bit 181 O 1 IO6 180 0 Z +bit 180 C 0 * +bit 179 O 1 * +bit 178 O 0 * +bit 177 O 1 * +bit 176 O 0 * +bit 175 O 1 * +bit 174 O 0 * +bit 173 O 1 * +bit 172 O 0 * +bit 171 O 1 * +bit 170 O 0 * +bit 169 O 1 IO8 168 0 Z +bit 168 C 0 * +bit 167 O 1 IO9 166 0 Z +bit 166 C 0 * +bit 165 O 1 IO11 164 0 Z +bit 164 C 0 * +bit 163 O 1 * +bit 162 O 0 * +bit 161 O 1 IO12 160 0 Z +bit 160 C 0 * +bit 159 O 1 * +bit 158 O 0 * +bit 157 O 1 * +bit 156 O 0 * +bit 155 O 1 IO14 154 0 Z +bit 154 C 0 * +bit 153 O 1 * +bit 152 O 0 * +bit 151 O 1 * +bit 150 O 0 * +bit 149 O 1 * +bit 148 O 0 * +bit 147 O 1 * +bit 146 O 0 * +bit 145 O 1 IO16 144 0 Z +bit 144 C 0 * +bit 143 O 1 IO17 142 0 Z +bit 142 C 0 * +bit 141 O 1 * +bit 140 O 0 * +bit 139 O 1 * +bit 138 O 0 * +bit 137 O 1 IO18 136 0 Z +bit 136 C 0 * +bit 135 O 1 IO19 134 0 Z +bit 134 C 0 * +bit 133 O 1 IO20 132 0 Z +bit 132 C 0 * +bit 131 O 1 * +bit 130 O 0 * +bit 129 O 1 IO21 128 0 Z +bit 128 C 0 * +bit 127 O 1 IO24 126 0 Z +bit 126 C 0 * +bit 125 O 1 * +bit 124 O 0 * +bit 123 O 1 IO25 122 0 Z +bit 122 C 0 * +bit 121 O 1 IO26 120 0 Z +bit 120 C 0 * +bit 119 O 1 IO27 118 0 Z +bit 118 C 0 * +bit 117 O 1 * +bit 116 O 0 * +bit 115 O 1 * +bit 114 O 0 * +bit 113 O 1 IO28 112 0 Z +bit 112 C 0 * +bit 111 O 1 IO29 110 0 Z +bit 110 C 0 * +bit 109 O 1 * +bit 108 O 0 * +bit 107 O 1 * +bit 106 O 0 * +bit 105 O 1 * +bit 104 O 0 * +bit 103 O 1 * +bit 102 O 0 * +bit 101 O 1 IO31 100 0 Z +bit 100 C 0 * +bit 99 O 1 * +bit 98 O 0 * +bit 97 O 1 * +bit 96 O 0 * +bit 95 O 1 IO33 94 0 Z +bit 94 C 0 * +bit 93 O 1 * +bit 92 O 0 * +bit 91 O 1 IO34 90 0 Z +bit 90 C 0 * +bit 89 O 1 IO36 88 0 Z +bit 88 C 0 * +bit 87 O 1 IO37 86 0 Z +bit 86 C 0 * +bit 85 O 1 * +bit 84 O 0 * +bit 83 O 1 * +bit 82 O 0 * +bit 81 O 1 * +bit 80 O 0 * +bit 79 O 1 IO39 78 0 Z +bit 78 C 0 * +bit 77 O 1 * +bit 76 O 0 * +bit 75 O 1 * +bit 74 O 0 * +bit 73 O 1 * +bit 72 O 0 * +bit 71 O 1 * +bit 70 O 0 * +bit 69 O 1 IO40 68 0 Z +bit 68 C 0 * +bit 67 O 1 * +bit 66 O 0 * +bit 65 O 1 IO41 64 0 Z +bit 64 C 0 * +bit 63 I 1 DIN1 +bit 62 I 1 DIN2 +bit 61 I 1 IO4 +bit 60 O 1 * +bit 59 I 1 IO5 +bit 58 O 1 * +bit 57 O 1 * +bit 56 I 1 IO6 +bit 55 O 1 * +bit 54 O 1 * +bit 53 O 1 * +bit 52 O 1 * +bit 51 I 1 IO8 +bit 50 I 1 IO9 +bit 49 I 1 IO11 +bit 48 O 1 * +bit 47 I 1 IO12 +bit 46 O 1 * +bit 45 I 1 IO14 +bit 44 O 1 * +bit 43 O 1 * +bit 42 O 1 * +bit 41 O 1 * +bit 40 I 1 IO16 +bit 39 I 1 IO17 +bit 38 O 1 * +bit 37 O 1 * +bit 36 I 1 IO18 +bit 35 I 1 IO19 +bit 34 I 1 IO20 +bit 33 O 1 * +bit 32 I 1 IO21 +bit 31 I 1 IO24 +bit 30 O 1 * +bit 29 I 1 IO25 +bit 28 I 1 IO26 +bit 27 I 1 IO27 +bit 26 O 1 * +bit 25 O 1 * +bit 24 I 1 IO28 +bit 23 I 1 IO29 +bit 22 O 1 * +bit 21 O 1 * +bit 20 O 1 * +bit 19 O 1 * +bit 18 I 1 IO31 +bit 17 O 1 * +bit 16 I 1 IO33 +bit 15 O 1 * +bit 14 I 1 IO34 +bit 13 I 1 IO36 +bit 12 I 1 IO37 +bit 11 O 1 * +bit 10 O 1 * +bit 9 I 1 IO39 +bit 8 O 1 * +bit 7 O 1 * +bit 6 O 1 * +bit 5 O 1 * +bit 4 I 1 IO40 +bit 3 O 1 * +bit 2 I 1 IO41 +bit 1 I 1 DIN3 +bit 0 I 1 DIN4 diff --git a/jtag/src/bsdl2jtag.c b/jtag/src/bsdl2jtag.c index 519a7b32..3873ac8c 100644 --- a/jtag/src/bsdl2jtag.c +++ b/jtag/src/bsdl2jtag.c @@ -73,6 +73,7 @@ int endline(void) { i=sscanf(pline, "attribute INSTRUCTION_LENGTH of %s : entity is %i ;", tmp, &j); if(i!=2) return -2; IR_l=j; + mode=0; } else if(!strncmp(att, "BOUNDARY_LENGTH", 15)){ i=sscanf(pline, "attribute BOUNDARY_LENGTH of %s : entity is %i ;", tmp, &j); @@ -81,6 +82,7 @@ int endline(void) { bs_bits=malloc(BR_l * sizeof(struct bsbit)); if(bs_bits==NULL)return -80; /* djf */ for(i=0;i