123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // ktiva.h :
- //
- #if !defined(AGD_KTIVA_H__4F0F73D0_4834_4018_9B16_27F1B78686DB__INCLUDED_)
- #define AGD_KTIVA_H__4F0F73D0_4834_4018_9B16_27F1B78686DB__INCLUDED_
- #include "defines.h"
- #include "kspi.h"
- #ifdef __cplusplus
- extern "C" {
- #endif // __cplusplus
- /////////////////////////////////////////////////////////////////////////////
- // ktiva.h - Declarations:
- #define CMD_ACK 0xCC
- #define CMD_NAK 0x33
- #define COMMAND_PING 0x20
- #define COMMAND_DOWNLOAD 0x21
- #define COMMAND_RUN 0x22
- #define COMMAND_GET_STATUS 0x23
- #define COMMAND_SEND_DATA 0x24
- #define COMMAND_RESET 0x25
- #define COMMAND_IO_TRANSFER 0x50
- #define COMMAND_GET_HWSW_REV 0x51
- #define COMMAND_GET_TIVA_TYPE 0x52
- #define COMMAND_START_BOOTLOADER 0x53
- #define COMMAND_GET_MCP7940 0x54
- #define COMMAND_SET_MCP7940 0x55
- #define COMMAND_GET_I2C 0x56
- #define COMMAND_PUT_I2C 0x57
- #define COMMAND_GET_ADDR 0x58
- #define COMMAND_SET_ADDR 0x59
- #define COMMAND_GET_ADC 0x5A
- #define COMMAND_SET_BACKLIGHT 0x5B
- #define COMMAND_GET_UPTIME 0x5C
- #define COMMAND_SET_MAT_SER 0x5D
- #define COMMAND_GET_MAT_SER 0x5E
- #define COMMAND_RET_SUCCESS 0x40
- #define COMMAND_RET_UNKNOWN_CMD 0x41
- #define COMMAND_RET_INVALID_CMD 0x42
- #define COMMAND_RET_INVALID_ADR 0x43
- #define COMMAND_RET_FLASH_FAIL 0x44
- #define COMMAND_RET_CRC_FAIL 0x45
- #define KTIVA_MAX_BUFFER_SIZE 256
- #define KTIVA_MAX_WAIT_LOOPS 100
- #define KTIVA_UPTIME_ADDRESS 0x200003C0
- #define KTIVA_DCAP_BASE_ADDRESS 0x400FE000
- #define KTIVA_DID0_ADDRESS KTIVA_DCAP_BASE_ADDRESS
- #define KTIVA_DID1_ADDRESS (KTIVA_DCAP_BASE_ADDRESS + 0x4)
- #define KTIVA_DCAP0_ADDRESS (KTIVA_DCAP_BASE_ADDRESS + 0x8)
- #define KTIVA_FLASH_BASE_ADDRESS ((unsigned int)0x00000000)
- #define KTIVA_SRAM_BASE_ADDRESS ((unsigned int)0x20000000)
- #define KTIVA_SRAM_BIT_BAND_BASE_ADDRESS ((unsigned int)0x22000000)
- #define KTIVA_PERIPHERALS_BASE_ADDRESS ((unsigned int)0x40000000)
- #define KTIVA_PERIPHERALS_BIT_BAND_BASE_ADDRESS ((unsigned int)0x42000000)
- #define KTIVA_ROM_BASE_ADDRESS ((unsigned int)0x01000000)
- #define KTIVA_FLASH_SIZE(s) (((unsigned int)(s) + 1) * 2048)
- #define KTIVA_SRAM_SIZE(s) (((unsigned int)(s) + 1) * 256)
- #define KTIVA_PERIPHERALS_SIZE ((unsigned int)0x00100000)
- #define KTIVA_PERIPHERALS_BIT_BAND_SIZE ((unsigned int)0x02000000)
- /////////////////////////////////////////////////////////////////////////////
- int ktiva_wait_ack (struct file *pf);
- int ktiva_send_frame(struct file *pf, unsigned char cmd, const void *pData, size_t nCbData);
- int ktiva_recv_frame(struct file *pf, unsigned char cmd, void *pData, size_t nCbData);
- /////////////////////////////////////////////////////////////////////////////
- int TivaCmdPing (struct file *pf);
- int TivaCmdGetFirmwareVersion (struct file *pf, int *Hw, int *Sw);
- int TivaCmdGetADC (struct file *pf, LPTIVA_ADC padc);
- int TivaCmdGetDeviceCaps (struct file *pf, LPTIVA_DCAP pDid);
- int TivaCmdGetUptime (struct file *pf, unsigned long long *put);
- int TivaCmdGetAddress (struct file *pf, unsigned int addr, unsigned int *val);
- int TivaCmdSetAddress (struct file *pf, unsigned int addr, unsigned int val);
- int TivaCmdGetStatus (struct file *pf, unsigned char *stat);
- int TivaCmdGetBootloaderStatus (struct file *pf, unsigned char *stat);
- int TivaCmdStartBootloader (struct file *pf);
- int TivaCmdStartDownload (struct file *pf, unsigned int addr, size_t size);
- int TivaCmdSendDataBlock (struct file *pf, const void *pBlock, size_t nCbBlock);
- int TivaCmdReset (struct file *pf);
- int TivaRevive (struct file *pf);
- int TivaCmdGetMatSer (struct file *pf, LPTIVA_MAT_SER pms);
- int TivaCmdSetBacklight (struct file *pf, unsigned int nPeriod, unsigned int nDutyCyclePerc);
- int TivaCmdGetI2C (struct file *pf, unsigned char nI2CAddr, unsigned char nI2CStart, size_t nCbI2C, void *pData, size_t nCbData);
- int TivaCmdSetI2C (struct file *pf, unsigned char nI2CAddr, unsigned char nI2CStart, const void *pData, size_t nCbData);
- /////////////////////////////////////////////////////////////////////////////
- #ifdef __cplusplus
- }
- #endif // __cplusplus
- #endif // !defined(AGD_KTIVA_H__4F0F73D0_4834_4018_9B16_27F1B78686DB__INCLUDED_)
|