Skip to contentSkip to conversation

Adds Altera Stratix II fpga burn support

PATCH New eran.liberty at gmail.com 1 participant 1 message Jul 5, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Adds Altera Stratix II fpga burn support

Adds generic implementation of Altera Stratix II fpga burn
fast passive parallel, and fast passive parallel with security, and passive serial formats.

minor correction over my last post with the same name (forgot a printf somewhere in the code)

Signed-off-by Eran Liberty <eran.liberty <at> gmail.com>
include/altera.h +17 -4
diff -x .svn -Nuar u-boot.git-98c440bee623ecdd5322852732b883e696fb2140/include/altera.h u-boot-exsw6000/include/altera.h
@@ -27,22 +27,21 @@
 #ifndef _ALTERA_H_
 #define _ALTERA_H_
 
-/*
- * See include/xilinx.h for another working example.
- */
-
 /* Altera Model definitions
  *********************************************************************/
 #define CFG_ACEX1K		CFG_FPGA_DEV( 0x1 )
 #define CFG_CYCLON2		CFG_FPGA_DEV( 0x2 )
+#define CFG_STRATIX_II		CFG_FPGA_DEV( 0x4 )
 
 #define CFG_ALTERA_ACEX1K	(CFG_FPGA_ALTERA | CFG_ACEX1K)
 #define CFG_ALTERA_CYCLON2	(CFG_FPGA_ALTERA | CFG_CYCLON2)
+#define CFG_ALTERA_STRATIX_II	(CFG_FPGA_ALTERA | CFG_STRATIX_II)
 /* Add new models here */
 
 /* Altera Interface definitions
  *********************************************************************/
 #define CFG_ALTERA_IF_PS	CFG_FPGA_IF( 0x1 )	/* passive serial */
+#define CFG_ALTERA_IF_FPP	CFG_FPGA_IF( 0x2 )	/* fast passive parallel */
 /* Add new interfaces here */
 
 typedef enum {				/* typedef Altera_iface */
@@ -52,6 +51,8 @@
 	passive_parallel_asynchronous,	/* parallel data */
 	passive_serial_asynchronous,	/* serial data w/ internal clock (not used)	*/
 	altera_jtag_mode,		/* jtag/tap serial (not used ) */
+	fast_passive_parallel,	/* fast passive parallel (FPP) */
+	fast_passive_parallel_security,	/* fast passive parallel with security (FPPS) */
 	max_altera_iface_type		/* insert all new types before this */
 } Altera_iface;				/* end, typedef Altera_iface */
 
@@ -59,6 +60,7 @@
     min_altera_type,		/* insert all new types after this */
     Altera_ACEX1K,		/* ACEX1K Family */
     Altera_CYC2,		/* CYCLONII Family */
+	Altera_StratixII,	/* StratixII Familiy */
 /* Add new models here */
     max_altera_type		/* insert all new types before this */
 } Altera_Family;		/* end, typedef Altera_Family */
@@ -91,4 +93,15 @@
 typedef int (*Altera_abort_fn)( int cookie );
 typedef int (*Altera_post_fn)( int cookie );
 
+typedef struct {
+	Altera_pre_fn pre;
+	Altera_config_fn config;
+	Altera_status_fn status;
+	Altera_done_fn done;
+	Altera_clk_fn clk;
+	Altera_data_fn data;
+	Altera_abort_fn abort;
+	Altera_post_fn post;
+} altera_board_specific_func;
+
 #endif /* _ALTERA_H_ */
common/altera.c +56 -32

178 lines not on this page · raw message

include/stratixII.h +32 -0
diff -x .svn -Nuar u-boot.git-98c440bee623ecdd5322852732b883e696fb2140/include/stratixII.h u-boot-exsw6000/include/stratixII.h
@@ -0,0 +1,32 @@
+/*
+ * (C) Copyright 2007
+ * Eran Liberty, Extricom, eran.liberty at gmail.com
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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
+ *
+ */
+#ifndef _STRATIXII_H_
+#define _STRATIXII_H_
+
+extern int StratixII_load (Altera_desc * desc, void *image, size_t size);
+extern int StratixII_dump (Altera_desc * desc, void *buf, size_t bsize);
+extern int StratixII_info (Altera_desc * desc);
+extern int StratixII_reloc (Altera_desc * desc, ulong reloc_off);
+
+#endif				/* _STRATIXII_H_ */
common/stratixII.c +234 -0

234 lines not on this page · raw message

common/Makefile +2 -1
diff -x .svn -Nuar u-boot.git-98c440bee623ecdd5322852732b883e696fb2140/common/Makefile u-boot-exsw6000/common/Makefile
@@ -27,7 +27,8 @@
 
 AOBJS	=
 
-COBJS	= main.o ACEX1K.o altera.o bedbug.o circbuf.o cmd_autoscript.o \
+COBJS	= main.o ACEX1K.o altera.o stratixII.o \
+	  bedbug.o circbuf.o cmd_autoscript.o \
 	  cmd_bdinfo.o cmd_bedbug.o cmd_bmp.o cmd_boot.o cmd_bootm.o \
 	  cmd_cache.o cmd_console.o \
 	  cmd_date.o cmd_dcr.o cmd_diag.o cmd_display.o cmd_doc.o cmd_dtt.o \