evmdm642.h
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:2k
源码类别:

DSP编程

开发平台:

C/C++

  1. /*
  2.  *  Copyright 2003 by Spectrum Digital Incorporated.
  3.  *  All rights reserved. Property of Spectrum Digital Incorporated.
  4.  */
  5. /*
  6.  *  ======== evmdm642.h ========
  7.  *
  8.  *  This file contains EVMDM642 board initialization and FPGA register access
  9.  *  functions.
  10.  *
  11.  *  EVMDM642 BSL Version 0.90 - 06/04/2003
  12.  *
  13.  */
  14. #ifndef EVMDM642_
  15. #define EVMDM642_
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #include <csl.h>
  20. #include <csl_i2c.h>
  21. #include <csl_gpio.h>
  22. /*
  23.  *  Note:  Bit definitions for each register field
  24.  *         needs to be supplied here for the CPLD
  25.  *        and other board periperals.
  26.  */
  27. /* Compatability definitions */
  28. #define NULL                 0
  29. /* CPLD address definitions */
  30. #define EVMDM642_CPLD_BASE       0x90080000
  31. #define EVMDM642_SYNC_BASE       0xb0000000
  32. #define EVMDM642_FPGAFLASH_BASE  0x90040000
  33. #define EVMDM642_FPGASDRAM_BASE  0x80000000
  34. /* CPLD Register Indices */
  35. #define EVMDM642_OSDCTRL      0x10
  36. #define EVMDM642_THRESHLSB    0x11
  37. #define EVMDM642_THRESHMSB    0x12
  38. #define EVMDM642_ISR          0x13
  39. #define EVMDM642_IER          0x14
  40. #define EVMDM642_GPIODIR      0x15
  41. #define EVMDM642_GPIOSTAT     0x16
  42. #define EVMDM642_LED          0x17
  43. #define EVMDM642_FLASHPAGE    0x18
  44. #define EVMDM642_VERSION      0x1F
  45. /* FPGA definitions */
  46. #define EVMDM642_FPGALEN      0x393d8
  47. /* I2C handle */
  48. extern I2C_Handle EVMDM642_I2C_hI2C;
  49. /* GPIO handle */
  50. extern GPIO_Handle EVMDM642_GPIO_hGPIO;
  51. /* Initialize all board APIs */
  52. void EVMDM642_init();
  53. /* Read an 8-bit value from a CPLD register */
  54. Uint8 EVMDM642_rget(Int16 regnum);
  55. /* Write an 8-bit value to a CPLD register */
  56. void EVMDM642_rset(Int16 regnum, Uint8 regval);
  57. /* Spin in a delay loop for delay iterations */
  58. void EVMDM642_wait(Uint32 delay);
  59. /* Spin in a delay loop for delay microseconds */
  60. void EVMDM642_waitusec(Uint32 delay);
  61. /* Send a configuration file to the FPGA */
  62. void EVMDM642_loadFpga(Uint32 fpgaaddr);
  63. #ifdef __cplusplus
  64. }
  65. #endif
  66. #endif