*
* @file spi_resp_transl.h
*
- * @copyright Copyright (C) 2012-2013 Czech Technical University in Prague
+ * @copyright Copyright (C) 2012-2013, 2015 Czech Technical University in Prague
*
* @author Michal Horn <hornmich@fel.cvut.cz>
*/
#ifndef SPI_RESP_TRANSL_H_
#define SPI_RESP_TRANSL_H_
-#define NUM_SPI_DEVICES 7
-#define DIN_NUM_GLOB_FD 24
-#define LOUT_NUM_GLOB_FD 28
-#define DAC_NUM_GLOB_FD 1
-#define FRAY_NUM_GLOB_FD 12
-#define HBR_NUM_STATREG_FD 14
-#define HBR_NUM_APPLREG1_FD 15
-#define HBR_NUM_APPLREG2_FD 13
-#define HBR_NUM_APPLREG3_FD 16
-#define HBR_NUM_DIADDR0_FD 10
-#define HBR_NUM_DIADDR1_FD 9
-#define HBR_NUM_DIADDR2_FD 9
-#define HBR_NUM_DIADDR3_FD 16
-
-#define DIN_NUM_CMD_D 1
-#define LOUT_NUM_CMD_D 1
-#define DAC_NUM_CMD_D 1
-#define FRAY_NUM_CMD_D 1
-#define HBR_NUM_CMD_D 12
-
-#define MAX_NUM_ROWS 32
+#include "drv/port_def.h"
/*masked fields macros*/
//#define __val2mfld(mask,val) (((mask)&~((mask)<<1))*(val)&(mask))
uint32_t mask;
} spitr_field_desc_t;
-typedef struct spitr_cmd_map_st {
+typedef struct spitr_cmd_desc_st {
uint32_t cmd_msk;
uint32_t command;
const spitr_field_desc_t *field_desc;
uint32_t num_fields;
-} spitr_cmd_map_t;
+} spitr_cmd_desc_t;
-typedef struct spitr_name_map_st {
- const char *spi_name;
- const spitr_cmd_map_t *cmd_map;
+typedef struct spitr_port_cmds_st {
+ const spitr_cmd_desc_t *cmd_desc;
uint32_t num_cmd;
-} spitr_name_map_t;
-
-typedef struct spitr_reg_translate_table_row_st {
- const char *field_name;
- uint32_t value;
-} spitr_reg_translate_table_row_t;
-
-typedef struct spitr_reg_translate_table_st {
- spitr_reg_translate_table_row_t row[MAX_NUM_ROWS];
- uint32_t num_rows;
-} spitr_reg_translate_table_t;
+} spitr_port_cmds_t;
+extern const spitr_port_cmds_t spitr_port_cmds[_PORT_COUNT];
-const spitr_cmd_map_t *get_spi_cmd_map(const char *spi_port_name, int len, uint32_t *num_cmdDesc);
-const spitr_field_desc_t *get_spi_field_desc(const spitr_cmd_map_t *cmd_map, uint32_t num_cmd, uint32_t cmd, uint32_t *num_fdDesc);
-int spitr_fill_tr_table(const spitr_field_desc_t *fd, uint32_t num_fields, uint32_t value, spitr_reg_translate_table_t *table);
+const spitr_port_cmds_t *spitr_get_cmds_by_port_name(const char *name);
+const spitr_cmd_desc_t *get_spi_cmd_desc(const spitr_port_cmds_t *cmds, uint32_t cmd);
+void spitr_print_resp(const spitr_cmd_desc_t *cmd_desc, uint32_t resp);
#endif /* SPI_RESP_TRANSL_H_ */