]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/blob - rpp-test-sw/commands/spi_resp_transl.h
Update lib submodule
[pes-rpp/rpp-test-sw.git] / rpp-test-sw / commands / spi_resp_transl.h
1 /**
2  *
3  * @file spi_resp_transl.h
4  *
5  * @copyright Copyright (C) 2012-2013, 2015 Czech Technical University in Prague
6  *
7  * @author Michal Horn <hornmich@fel.cvut.cz>
8  */
9
10 #ifndef SPI_RESP_TRANSL_H_
11 #define SPI_RESP_TRANSL_H_
12
13 #include "drv/port_def.h"
14
15 /*masked fields macros*/
16 //#define __val2mfld(mask,val) (((mask)&~((mask)<<1))*(val)&(mask))
17 //#define __mfld2val(mask,val) (((val)&(mask))/((mask)&~((mask)<<1)))
18
19
20 typedef struct spitr_field_desc_st {
21         const char *field_name;
22         uint32_t mask;
23 } spitr_field_desc_t;
24
25 typedef struct spitr_cmd_desc_st {
26         uint32_t cmd_msk;
27         uint32_t command;
28         const spitr_field_desc_t *field_desc;
29         uint32_t num_fields;
30 } spitr_cmd_desc_t;
31
32 typedef struct spitr_port_cmds_st {
33         const spitr_cmd_desc_t *cmd_desc;
34         uint32_t num_cmd;
35 } spitr_port_cmds_t;
36
37 extern const spitr_port_cmds_t spitr_port_cmds[_PORT_COUNT];
38
39 const spitr_port_cmds_t *spitr_get_cmds_by_port_name(const char *name);
40 const spitr_cmd_desc_t *get_spi_cmd_desc(const spitr_port_cmds_t *cmds, uint32_t cmd);
41 void spitr_print_resp(const spitr_cmd_desc_t *cmd_desc, uint32_t resp);
42
43 #endif /* SPI_RESP_TRANSL_H_ */