summaryrefslogtreecommitdiffstats
path: root/api/cmd.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/cmd.h')
-rw-r--r--api/cmd.h209
1 files changed, 209 insertions, 0 deletions
diff --git a/api/cmd.h b/api/cmd.h
new file mode 100644
index 0000000..4fb6bc7
--- /dev/null
+++ b/api/cmd.h
@@ -0,0 +1,209 @@
+#ifndef __CMD_H__
+#define __CMD_H__
+
+
+#include "type.h"
+#include "user.h"
+#include "error.h"
+
+/**
+ * Bus types
+ */
+#define Bus_I2C 1
+#define Bus_USB 2
+#define Bus_SPI 3
+#define Bus_SDIO 4
+#define Bus_USB11 5
+#define Bus_I2M 6 /** I2C bus for Mercury */
+#define Bus_I2U 7 /** I2C bus for Mercury USB */
+#define Bus_I2U2 8 /** I2C bus for Mercury USB (new, buffer size is 55) */
+#define Bus_9035U2I 9 /** I2C bus for Ganymede USB */
+
+
+/**
+ * Define commands
+ */
+#define Command_REG_DEMOD_READ 0x0000
+#define Command_REG_DEMOD_WRITE 0x0001
+#define Command_REG_TUNER_READ 0x0002
+#define Command_REG_TUNER_WRITE 0x0003
+#define Command_REG_EEPROM_READ 0x0004
+#define Command_REG_EEPROM_WRITE 0x0005
+#define Command_VAR_READ 0x0008
+#define Command_VAR_WRITE 0x0009
+
+#define Command_DATA_READ 0x0006
+
+#define Command_PLATFORM_GET 0x000A
+#define Command_PLATFORM_SET 0x000B
+#define Command_IP_CACHE 0x000D
+#define Command_IP_ADD 0x000E
+#define Command_IP_REMOVE 0x000F
+#define Command_PID_ADD 0x0010
+#define Command_PID_REMOVE 0x0011
+#define Command_SIPSI_GET 0x0012 /** Get SI/PSI table for specific PID "once". */
+#define Command_SIPSI_MPE_RESET 0x0013
+#define Command_H_PID_ADD 0x0015
+#define Command_H_PID_REMOVE 0x0016
+#define Command_ABORT 0x0017
+#define Command_IR_GET 0x0018
+#define Command_IR_SET 0x0019
+#define Command_FW_DOWNLOAD_BEGIN 0x0024
+#define Command_FW_DOWNLOAD 0x0021
+#define Command_FW_DOWNLOAD_END 0x0025
+#define Command_QUERYINFO 0x0022
+#define Command_BOOT 0x0023
+#define Command_REBOOT 0x0023
+#define Command_RUN_CODE 0x0026
+#define Command_SCATTER_READ 0x0028
+#define Command_SCATTER_WRITE 0x0029
+#define Command_GENERIC_READ 0x002A
+#define Command_GENERIC_WRITE 0x002B
+#define Command_SHORT_REG_DEMOD_READ 0x02
+#define Command_SHORT_REG_DEMOD_WRITE 0X03
+#define Command_SHORT_REG_TUNER_READ 0x04
+#define Command_SHORT_REG_TUNER_WRITE 0X05
+
+#define Command_SERVICES_GET 0x0083
+#define Command_COMPONENT_ADD 0x0086
+#define Command_COMPONENT_REMOVE 0x0087
+#define Command_FIG_ADD 0x0088
+#define Command_FIG_REMOVE 0x0089
+
+
+#define Bus_MAX_WRITE_SIZE 254
+#define Bus_MAX_READ_SIZE 254
+
+
+#define Cmd_buildCommand(command, processor, chip) (command + (Word) (processor << 12) + (Word) (chip << 12))
+
+
+/**
+ *
+ */
+Dword Cmd_writeRegisters (
+ IN Demodulator* demodulator,
+ IN Byte chip,
+ IN Processor processor,
+ IN Dword registerAddress,
+ IN Byte registerAddressLength,
+ IN Dword writeBufferLength,
+ IN Byte* writeBuffer
+);
+
+
+/**
+ *
+ */
+Dword Cmd_writeTunerRegisters (
+ IN Demodulator* demodulator,
+ IN Byte chip,
+ IN Byte tunerAddress,
+ IN Word registerAddress,
+ IN Byte registerAddressLength,
+ IN Byte writeBufferLength,
+ IN Byte* writeBuffer
+);
+
+
+/**
+ *
+ */
+Dword Cmd_writeEepromValues (
+ IN Demodulator* demodulator,
+ IN Byte chip,
+ IN Byte eepromAddress,
+ IN Word registerAddress,
+ IN Byte registerAddressLength,
+ IN Byte writeBufferLength,
+ IN Byte* writeBuffer
+);
+
+
+/**
+ *
+ */
+Dword Cmd_readRegisters (
+ IN Demodulator* demodulator,
+ IN Byte chip,
+ IN Processor processor,
+ IN Dword registerAddress,
+ IN Byte registerAddressLength,
+ IN Dword readBufferLength,
+ OUT Byte* readBuffer
+);
+
+
+/**
+ *
+ */
+Dword Cmd_readTunerRegisters (
+ IN Demodulator* demodulator,
+ IN Byte chip,
+ IN Byte tunerAddress,
+ IN Word registerAddress,
+ IN Byte registerAddressLength,
+ IN Byte readBufferLength,
+ IN Byte* readBuffer
+);
+
+
+/**
+ *
+ */
+Dword Cmd_readEepromValues (
+ IN Demodulator* demodulator,
+ IN Byte chip,
+ IN Byte eepromAddress,
+ IN Word registerAddress,
+ IN Byte registerAddressLength,
+ IN Byte readBufferLength,
+ OUT Byte* readBuffer
+);
+
+
+/**
+ *
+ */
+Dword Cmd_loadFirmware (
+ IN Demodulator* demodulator,
+ IN Dword length,
+ IN Byte* firmware
+);
+
+
+/**
+ *
+ */
+Dword Cmd_reboot (
+ IN Demodulator* demodulator,
+ IN Byte chip
+);
+
+
+/**
+ *
+ */
+Dword Cmd_sendCommand (
+ IN Demodulator* demodulator,
+ IN Word command,
+ IN Byte chip,
+ IN Processor processor,
+ IN Dword writeBufferLength,
+ IN Byte* writeBuffer,
+ IN Dword readBufferLength,
+ OUT Byte* readBuffer
+);
+
+
+Dword Cmd_receiveData (
+ IN Demodulator* demodulator,
+ IN Dword registerAddress,
+ IN Dword readBufferLength,
+ OUT Byte* readBuffer
+);
+
+extern CmdDescription Cmd_busDescription;
+
+
+#endif \ No newline at end of file