ktiva.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. // ktiva.h :
  2. //
  3. #if !defined(AGD_KTIVA_H__4F0F73D0_4834_4018_9B16_27F1B78686DB__INCLUDED_)
  4. #define AGD_KTIVA_H__4F0F73D0_4834_4018_9B16_27F1B78686DB__INCLUDED_
  5. #include "defines.h"
  6. #include "kspi.h"
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif // __cplusplus
  10. /////////////////////////////////////////////////////////////////////////////
  11. // ktiva.h - Declarations:
  12. #define CMD_ACK 0xCC
  13. #define CMD_NAK 0x33
  14. #define COMMAND_PING 0x20
  15. #define COMMAND_DOWNLOAD 0x21
  16. #define COMMAND_RUN 0x22
  17. #define COMMAND_GET_STATUS 0x23
  18. #define COMMAND_SEND_DATA 0x24
  19. #define COMMAND_RESET 0x25
  20. #define COMMAND_IO_TRANSFER 0x50
  21. #define COMMAND_GET_HWSW_REV 0x51
  22. #define COMMAND_GET_TIVA_TYPE 0x52
  23. #define COMMAND_START_BOOTLOADER 0x53
  24. #define COMMAND_GET_MCP7940 0x54
  25. #define COMMAND_SET_MCP7940 0x55
  26. #define COMMAND_GET_I2C 0x56
  27. #define COMMAND_PUT_I2C 0x57
  28. #define COMMAND_GET_ADDR 0x58
  29. #define COMMAND_SET_ADDR 0x59
  30. #define COMMAND_GET_ADC 0x5A
  31. #define COMMAND_SET_BACKLIGHT 0x5B
  32. #define COMMAND_GET_UPTIME 0x5C
  33. #define COMMAND_SET_MAT_SER 0x5D
  34. #define COMMAND_GET_MAT_SER 0x5E
  35. #define COMMAND_RET_SUCCESS 0x40
  36. #define COMMAND_RET_UNKNOWN_CMD 0x41
  37. #define COMMAND_RET_INVALID_CMD 0x42
  38. #define COMMAND_RET_INVALID_ADR 0x43
  39. #define COMMAND_RET_FLASH_FAIL 0x44
  40. #define COMMAND_RET_CRC_FAIL 0x45
  41. #define KTIVA_MAX_BUFFER_SIZE 256
  42. #define KTIVA_MAX_WAIT_LOOPS 100
  43. #define KTIVA_UPTIME_ADDRESS 0x200003C0
  44. #define KTIVA_DCAP_BASE_ADDRESS 0x400FE000
  45. #define KTIVA_DID0_ADDRESS KTIVA_DCAP_BASE_ADDRESS
  46. #define KTIVA_DID1_ADDRESS (KTIVA_DCAP_BASE_ADDRESS + 0x4)
  47. #define KTIVA_DCAP0_ADDRESS (KTIVA_DCAP_BASE_ADDRESS + 0x8)
  48. #define KTIVA_FLASH_BASE_ADDRESS ((unsigned int)0x00000000)
  49. #define KTIVA_SRAM_BASE_ADDRESS ((unsigned int)0x20000000)
  50. #define KTIVA_SRAM_BIT_BAND_BASE_ADDRESS ((unsigned int)0x22000000)
  51. #define KTIVA_PERIPHERALS_BASE_ADDRESS ((unsigned int)0x40000000)
  52. #define KTIVA_PERIPHERALS_BIT_BAND_BASE_ADDRESS ((unsigned int)0x42000000)
  53. #define KTIVA_ROM_BASE_ADDRESS ((unsigned int)0x01000000)
  54. #define KTIVA_FLASH_SIZE(s) (((unsigned int)(s) + 1) * 2048)
  55. #define KTIVA_SRAM_SIZE(s) (((unsigned int)(s) + 1) * 256)
  56. #define KTIVA_PERIPHERALS_SIZE ((unsigned int)0x00100000)
  57. #define KTIVA_PERIPHERALS_BIT_BAND_SIZE ((unsigned int)0x02000000)
  58. /////////////////////////////////////////////////////////////////////////////
  59. int ktiva_wait_ack (struct file *pf);
  60. int ktiva_send_frame(struct file *pf, unsigned char cmd, const void *pData, size_t nCbData);
  61. int ktiva_recv_frame(struct file *pf, unsigned char cmd, void *pData, size_t nCbData);
  62. /////////////////////////////////////////////////////////////////////////////
  63. int TivaCmdPing (struct file *pf);
  64. int TivaCmdGetFirmwareVersion (struct file *pf, int *Hw, int *Sw);
  65. int TivaCmdGetADC (struct file *pf, LPTIVA_ADC padc);
  66. int TivaCmdGetDeviceCaps (struct file *pf, LPTIVA_DCAP pDid);
  67. int TivaCmdGetUptime (struct file *pf, unsigned long long *put);
  68. int TivaCmdGetAddress (struct file *pf, unsigned int addr, unsigned int *val);
  69. int TivaCmdSetAddress (struct file *pf, unsigned int addr, unsigned int val);
  70. int TivaCmdGetStatus (struct file *pf, unsigned char *stat);
  71. int TivaCmdGetBootloaderStatus (struct file *pf, unsigned char *stat);
  72. int TivaCmdStartBootloader (struct file *pf);
  73. int TivaCmdStartDownload (struct file *pf, unsigned int addr, size_t size);
  74. int TivaCmdSendDataBlock (struct file *pf, const void *pBlock, size_t nCbBlock);
  75. int TivaCmdReset (struct file *pf);
  76. int TivaRevive (struct file *pf);
  77. int TivaCmdGetMatSer (struct file *pf, LPTIVA_MAT_SER pms);
  78. int TivaCmdSetBacklight (struct file *pf, unsigned int nPeriod, unsigned int nDutyCyclePerc);
  79. int TivaCmdGetI2C (struct file *pf, unsigned char nI2CAddr, unsigned char nI2CStart, size_t nCbI2C, void *pData, size_t nCbData);
  80. int TivaCmdSetI2C (struct file *pf, unsigned char nI2CAddr, unsigned char nI2CStart, const void *pData, size_t nCbData);
  81. /////////////////////////////////////////////////////////////////////////////
  82. #ifdef __cplusplus
  83. }
  84. #endif // __cplusplus
  85. #endif // !defined(AGD_KTIVA_H__4F0F73D0_4834_4018_9B16_27F1B78686DB__INCLUDED_)