ACEX1K.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*
  2. * (C) Copyright 2003
  3. * Steven Scholz, imc Measurement & Control, steven.scholz@imc-berlin.de
  4. *
  5. * (C) Copyright 2002
  6. * Rich Ireland, Enterasys Networks, rireland@enterasys.com.
  7. *
  8. * See file CREDITS for list of people who contributed to this
  9. * project.
  10. *
  11. * This program is free software; you can redistribute it and/or
  12. * modify it under the terms of the GNU General Public License as
  13. * published by the Free Software Foundation; either version 2 of
  14. * the License, or (at your option) any later version.
  15. *
  16. * This program is distributed in the hope that it will be useful,
  17. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. * GNU General Public License for more details.
  20. *
  21. * You should have received a copy of the GNU General Public License
  22. * along with this program; if not, write to the Free Software
  23. * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  24. * MA 02111-1307 USA
  25. *
  26. */
  27. #ifndef _ACEX1K_H_
  28. #define _ACEX1K_H_
  29. #include <altera.h>
  30. extern int ACEX1K_load( Altera_desc *desc, void *image, size_t size );
  31. extern int ACEX1K_dump( Altera_desc *desc, void *buf, size_t bsize );
  32. extern int ACEX1K_info( Altera_desc *desc );
  33. extern int ACEX1K_reloc( Altera_desc *desc, ulong reloc_off );
  34. extern int CYC2_load( Altera_desc *desc, void *image, size_t size );
  35. extern int CYC2_dump( Altera_desc *desc, void *buf, size_t bsize );
  36. extern int CYC2_info( Altera_desc *desc );
  37. extern int CYC2_reloc( Altera_desc *desc, ulong reloc_off );
  38. /* Slave Serial Implementation function table */
  39. typedef struct {
  40. Altera_pre_fn pre;
  41. Altera_config_fn config;
  42. Altera_clk_fn clk;
  43. Altera_status_fn status;
  44. Altera_done_fn done;
  45. Altera_data_fn data;
  46. Altera_abort_fn abort;
  47. Altera_post_fn post;
  48. int relocated;
  49. } Altera_ACEX1K_Passive_Serial_fns;
  50. /* Slave Serial Implementation function table */
  51. typedef struct {
  52. Altera_pre_fn pre;
  53. Altera_config_fn config;
  54. Altera_status_fn status;
  55. Altera_done_fn done;
  56. Altera_write_fn write;
  57. Altera_abort_fn abort;
  58. Altera_post_fn post;
  59. int relocated;
  60. } Altera_CYC2_Passive_Serial_fns;
  61. /* Device Image Sizes
  62. *********************************************************************/
  63. /* ACEX1K */
  64. /* FIXME: Which size do we mean?
  65. * Datasheet says 1337000/8=167125Bytes,
  66. * Filesize of an *.rbf file is 166965 Bytes
  67. */
  68. #if 0
  69. #define Altera_EP1K100_SIZE 1337000/8 /* 167125 Bytes */
  70. #endif
  71. #define Altera_EP1K100_SIZE (166965*8)
  72. #define Altera_EP2C35_SIZE 883905
  73. /* Descriptor Macros
  74. *********************************************************************/
  75. /* ACEX1K devices */
  76. #define Altera_EP1K100_DESC(iface, fn_table, cookie) \
  77. { Altera_ACEX1K, iface, Altera_EP1K100_SIZE, fn_table, cookie }
  78. #endif /* _ACEX1K_H_ */