]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/blob - rpp/lib/rpp/include/hal/port_def.h
e6ed67176ec3c35e5b3c5e16d250e2bedc1803d7
[pes-rpp/rpp-test-sw.git] / rpp / lib / rpp / include / hal / port_def.h
1 /*
2  * port_def.h
3  *
4  *  Created on: 26.11.2012
5  *      Author: Michal Horn
6  */
7
8 #ifndef PORT_DEF_H_
9 #define PORT_DEF_H_
10
11 //#include "hal_gpio_tms570_def.h"
12 #include "hal/hal.h"
13
14 typedef struct port_desc_st {
15     uint32_t*   config;
16     uint32_t    numValues;
17     uint32_t(*port_getfnc_ptr)(uint32_t* config, uint32_t num_val, uint32_t* values);
18     uint32_t(*port_setfnc_ptr)(uint32_t* config, uint32_t num_val, const uint32_t* values);
19 } port_desc_t;
20
21 typedef struct port_def_st {
22     char*           name;
23     port_desc_t*    desc;
24 } port_def_t;
25
26 #define PORT_CNT    15
27
28 #define PORT_NAME_DINMCU        "DINMCU"
29 #define PORT_CFG_DINMCU         { PIN_DSC_DIN8, PIN_DSC_DIN9, PIN_DSC_DIN10, PIN_DSC_DIN11, PIN_DSC_DIN12, PIN_DSC_DIN13, PIN_DSC_DIN14, PIN_DSC_DIN15 }
30 #define PORT_NV_DINMCU          8
31 #define PORT_GFC_DINMCU         &hal_gio_port_get_val
32 #define PORT_SFC_DINMCU         NULL
33
34 #define PORT_NAME_DINSPI        "DINSPI"
35 #define PORT_CFG_DINSPI         { 1, 0 }
36 #define PORT_NV_DINSPI          3
37 #define PORT_GFC_DINSPI         NULL
38 #define PORT_SFC_DINSPI         &hal_spi_port_transfer_command
39
40 #define PORT_NAME_HOUTDIAG      "HOUTDIAG"
41 #define PORT_CFG_HOUTDIAG       { PIN_DSC_HOUT1DIAG, PIN_DSC_HOUT2DIAG, PIN_DSC_HOUT3DIAG, PIN_DSC_HOUT4DIAG, PIN_DSC_HOUT5DIAG, PIN_DSC_HOUT6DIAG }
42 #define PORT_NV_HOUTDIAG        6
43 #define PORT_GFC_HOUTDIAG       &hal_gio_port_get_val
44 #define PORT_SFC_HOUTDIAG       NULL
45
46 #define PORT_NAME_HOUTIN        "HOUTIN"
47 #define PORT_CFG_HOUTIN         { PIN_DSC_HOUT1IN, PIN_DSC_HOUT2IN, PIN_DSC_HOUT3IN, PIN_DSC_HOUT4IN, PIN_DSC_HOUT5IN, PIN_DSC_HOUT6IN }
48 #define PORT_NV_HOUTIN          6
49 #define PORT_GFC_HOUTIN         &hal_gio_port_get_val
50 #define PORT_SFC_HOUTIN         &hal_gio_port_set_val
51
52 // FIXME Upper layer dependency/coupling
53 // Declared in drv/adc.h
54 extern uint32_t adc_get_port_val(uint32_t* config, uint32_t num_channels, uint32_t* values);
55
56 #define PORT_HOUTIFBK_CHANNEL_NUM 6
57 #define PORT_NAME_HOUTIFBK      "HOUTIFBK"
58 #define PORT_CFG_HOUTIFBK       { (uint32_t) adcREG2, adcGROUP1 }
59 #define PORT_NV_HOUTIFBK        PORT_HOUTIFBK_CHANNEL_NUM
60 #define PORT_GFC_HOUTIFBK       &adc_get_port_val
61 #define PORT_SFC_HOUTIFBK       NULL
62
63 #define PORT_ADC_CHANNEL_NUM    12
64 #define PORT_NAME_ADC           "ADC"
65 #define PORT_CFG_ADC            { (uint32_t) adcREG1, adcGROUP1 }
66 #define PORT_NV_ADC             PORT_ADC_CHANNEL_NUM
67 #define PORT_GFC_ADC            &adc_get_port_val
68 #define PORT_SFC_ADC            NULL
69
70 #define PORT_NAME_LOUT          "LOUT"
71 #define PORT_CFG_LOUT           { 1, 1 }
72 #define PORT_NV_LOUT            4
73 #define PORT_GFC_LOUT           NULL
74 #define PORT_SFC_LOUT           &hal_spi_port_transfer_command
75
76 #define PORT_NAME_DAC1_2        "DAC12"
77 #define PORT_CFG_DAC1_2         { 3, 0 }
78 #define PORT_NV_DAC1_2          2
79 #define PORT_GFC_DAC1_2         NULL
80 #define PORT_SFC_DAC1_2         &hal_spi_port_transfer_command
81
82 #define PORT_NAME_DAC3_4        "DAC34"
83 #define PORT_CFG_DAC3_4         { 3, 1 }
84 #define PORT_NV_DAC3_4          2
85 #define PORT_GFC_DAC3_4         NULL
86 #define PORT_SFC_DAC3_4         &hal_spi_port_transfer_command
87
88 #define PORT_NAME_DACDREF       "DACDREF"
89 #define PORT_CFG_DACDREF        { 3, 2 }
90 #define PORT_NV_DACDREF         2
91 #define PORT_GFC_DACDREF        NULL
92 #define PORT_SFC_DACDREF        &hal_spi_port_transfer_command
93
94 #define PORT_NAME_HBR           "HBR"
95 #define PORT_CFG_HBR            { 4, 0 }
96 #define PORT_NV_HBR             2
97 #define PORT_GFC_HBR            NULL
98 #define PORT_SFC_HBR            &hal_spi_port_transfer_command
99
100 #define PORT_NAME_FRAY1         "FRAY1"
101 #define PORT_CFG_FRAY1          { 4, 1 }
102 #define PORT_NV_FRAY1           2
103 #define PORT_GFC_FRAY1          NULL
104 #define PORT_SFC_FRAY1          &hal_spi_port_transfer_command
105
106 #define PORT_NAME_FRAY2         "FRAY2"
107 #define PORT_CFG_FRAY2          { 4, 2 }
108 #define PORT_NV_FRAY2           2
109 #define PORT_GFC_FRAY2          NULL
110 #define PORT_SFC_FRAY2          &hal_spi_port_transfer_command
111
112 #define PORT_NAME_MOUTEN        "MOUTEN"
113 #define PORT_CFG_MOUTEN         { PIN_DSC_MOUT1EN, PIN_DSC_MOUT2EN, PIN_DSC_MOUT3EN, PIN_DSC_MOUT4EN, PIN_DSC_MOUT5EN, PIN_DSC_MOUT6EN }
114 #define PORT_NV_MOUTEN          6
115 #define PORT_GFC_MOUTEN         &hal_gio_port_get_val
116 #define PORT_SFC_MOUTEN         &hal_gio_port_set_val
117
118 port_desc_t* hal_port_get_dsc(const char* port_name, int len);
119 const port_def_t* hal_port_get_definitions();
120
121
122 #endif /* PORT_DEF_H_ */