]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/blob - include/hal_gpio_tms570_def.h
Source and Header files modified
[pes-rpp/rpp-test-sw.git] / include / hal_gpio_tms570_def.h
1 /*
2  * hal_gpio_tms570_def.h
3  *
4  *  Created on: 12.11.2012
5  *      Author: Michal Horn
6  */
7
8 #ifndef HAL_GPIO_TMS570_DEF_H_
9 #define HAL_GPIO_TMS570_DEF_H_
10
11 #include "ti_drv_dmm.h"
12 #include "ti_drv_gio.h"
13 #include "ti_drv_het.h"
14
15
16 #ifndef PORT_SHIFT
17 #define PORT_SHIFT          5
18 #endif
19 #ifndef PORT_PIN
20 #define PORT_PIN(p,n,conf)  (((p)<<PORT_SHIFT) | (n) | (conf))
21 #define PORT_CONF_MASK      0xff000000
22 #endif
23
24 #define PORT_CONF_DIR_MASK  0x01000000
25 #define PORT_CONF_DIR_IN    (0x00000000 | PORT_CONF_SET_DIR)
26 #define PORT_CONF_DIR_OUT   (0x01000000 | PORT_CONF_SET_DIR)
27
28 #define PORT_CONF_INIT_MASK 0x02000000
29 #define PORT_CONF_INIT_LOW  0x00000000
30 #define PORT_CONF_INIT_HIGH 0x02000000
31
32 #define PORT_CONF_OD_MASK   0x04000000
33 #define PORT_CONF_OD_OFF    0x00000000
34 #define PORT_CONF_OD_ON     0x04000000
35
36 #define PORT_CONF_SET_DIR   0x08000000
37
38 #define PORT_CONF_MODE_MASK 0x30000000
39 #define PORT_CONF_MODE_PTYPE_MASK       0x10000000
40 #define PORT_CONF_MODE_PEN_MASK         0x20000000
41 #define PORT_CONF_MODE_PU   0x00000000
42 #define PORT_CONF_MODE_PD   0x10000000
43 #define PORT_CONF_MODE_PEN  0x20000000          // Pull resistor enable
44 #define PORT_CONF_MODE_PDIS 0x00000000          // Pull resistor disable
45
46 #define PORT_CONF_FNC_MASK  0xc0000000
47 #define PORT_CONF_FNC_GPIO  0x00000000
48 #define PORT_CONF_FNC_0     0x00000000
49 #define PORT_CONF_FNC_1     0x40000000
50 #define PORT_CONF_FNC_2     0x80000000
51 #define PORT_CONF_FNC_3     0xc0000000
52
53 #define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF              PORT_CONF_FNC_GPIO|PORT_CONF_INIT_LOW|PORT_CONF_DIR_OUT|PORT_CONF_MODE_PD|PORT_CONF_MODE_PEN|PORT_CONF_OD_OFF
54 #define PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF              PORT_CONF_FNC_GPIO|PORT_CONF_INIT_HIGH|PORT_CONF_DIR_OUT|PORT_CONF_MODE_PD|PORT_CONF_MODE_PEN|PORT_CONF_OD_OFF
55 #define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODON              PORT_CONF_FNC_GPIO|PORT_CONF_INIT_LOW|PORT_CONF_DIR_OUT|PORT_CONF_MODE_PD|PORT_CONF_MODE_PDIS|PORT_CONF_OD_ON
56 #define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF             PORT_CONF_FNC_GPIO|PORT_CONF_INIT_LOW|PORT_CONF_DIR_OUT|PORT_CONF_MODE_PD|PORT_CONF_MODE_PDIS|PORT_CONF_OD_OFF
57 #define PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF              PORT_CONF_FNC_GPIO|PORT_CONF_INIT_LOW|PORT_CONF_DIR_IN|PORT_CONF_MODE_PD|PORT_CONF_MODE_PDIS|PORT_CONF_OD_OFF
58 #define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON               PORT_CONF_FNC_GPIO|PORT_CONF_INIT_LOW|PORT_CONF_DIR_OUT|PORT_CONF_MODE_PD|PORT_CONF_MODE_PEN|PORT_CONF_OD_ON
59 #define PORT_CONF_GPIO_IN_LO_PU_PDIS_ODOFF              PORT_CONF_FNC_GPIO|PORT_CONF_INIT_LOW|PORT_CONF_DIR_IN|PORT_CONF_MODE_PD|PORT_CONF_MODE_PDIS|PORT_CONF_OD_OFF
60 #define PORT_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF             PORT_CONF_FNC_GPIO|PORT_CONF_INIT_LOW|PORT_CONF_DIR_OUT|PORT_CONF_MODE_PU|PORT_CONF_MODE_PDIS|PORT_CONF_OD_OFF
61
62 typedef struct pin_map_element {
63         const char*     pin_name;               // Pin name
64         uint32_t                pin_desc;               // Pin descriptor assigned to the pin name
65 } pin_map_element_t;
66
67 #define MAX_PIN_CNT             103
68 #define MAX_PORT_CNT    5
69 /* Begin and end indexes of each port group to pin map */
70 #define PIN_MAP_DMM_BEGIN       0
71 #define PIN_MAP_DMM_END         18
72 #define PIN_MAP_GIOA_BEGIN      19
73 #define PIN_MAP_GIOA_END        27
74 #define PIN_MAP_GIOB_BEGIN      28
75 #define PIN_MAP_GIOB_END        36
76 #define PIN_MAP_HET1_BEGIN      37
77 #define PIN_MAP_HET1_END        69
78 #define PIN_MAP_HET2_BEGIN      70
79 #define PIN_MAP_HET2_END        102
80 /* Port indexes to portmap */
81 #define PORT_ID_DMM             0x0
82 #define PORT_ID_GIOA    0x1
83 #define PORT_ID_GIOB    0x2
84 #define PORT_ID_HET1    0x3
85 #define PORT_ID_HET2    0x4
86 /* Pin names */
87 #define PIN_NAME_DIN8           "DIN8"
88 #define PIN_NAME_DIN9           "DIN9"
89 #define PIN_NAME_DIN10          "DIN10"
90 #define PIN_NAME_DIN11          "DIN11"
91 #define PIN_NAME_DIN12          "DIN12"
92 #define PIN_NAME_DIN13          "DIN13"
93 #define PIN_NAME_DIN14          "DIN14"
94 #define PIN_NAME_DIN15          "DIN15"
95 #define PIN_NAME_DININT         "DININT"
96 #define PIN_NAME_HOUT1IN        "HOUT1IN"
97 #define PIN_NAME_HOUT2IN        "HOUT2IN"
98 #define PIN_NAME_HOUT3IN        "HOUT3IN"
99 #define PIN_NAME_HOUT4IN        "HOUT4IN"
100 #define PIN_NAME_HOUT5IN        "HOUT5IN"
101 #define PIN_NAME_HOUT6IN        "HOUT6IN"
102 #define PIN_NAME_HOUT1DIAG      "HOUT1DIAG"
103 #define PIN_NAME_HOUT2DIAG      "HOUT2DIAG"
104 #define PIN_NAME_HOUT3DIAG      "HOUT3DIAG"
105 #define PIN_NAME_HOUT4DIAG      "HOUT4DIAG"
106 #define PIN_NAME_HOUT5DIAG      "HOUT5DIAG"
107 #define PIN_NAME_HOUT6DIAG      "HOUT6DIAG"
108 #define PIN_NAME_MOUT1IN        "MOUT1IN"
109 #define PIN_NAME_MOUT2IN        "MOUT2IN"
110 #define PIN_NAME_MOUT3IN        "MOUT3IN"
111 #define PIN_NAME_MOUT4IN        "MOUT4IN"
112 #define PIN_NAME_MOUT5IN        "MOUT5IN"
113 #define PIN_NAME_MOUT6IN        "MOUT6IN"
114 #define PIN_NAME_MOUT1EN        "MOUT1EN"
115 #define PIN_NAME_MOUT2EN        "MOUT2EN"
116 #define PIN_NAME_MOUT3EN        "MOUT3EN"
117 #define PIN_NAME_MOUT4EN        "MOUT4EN"
118 #define PIN_NAME_MOUT5EN        "MOUT5EN"
119 #define PIN_NAME_MOUT6EN        "MOUT6EN"
120 #define PIN_NAME_VBAT1EN        "VBAT1EN"
121 #define PIN_NAME_VBAT2EN        "VBAT2EN"
122 #define PIN_NAME_VBAT3EN        "VBAT3EN"
123 #define PIN_NAME_VBATEN         "VBATEN"
124 #define PIN_NAME_FANCTRL        "FANCTRL"
125 #define PIN_NAME_ETHRST         "ETHRST"
126 #define PIN_NAME_SPICSA         "SPICSA"
127 #define PIN_NAME_SPICSB         "SPICSB"
128 #define PIN_NAME_CANNSTB        "CANNSTB"
129 #define PIN_NAME_CANEN          "CANEN"
130 #define PIN_NAME_LIN2NSLP       "LIN2NSLP"
131 #define PIN_NAME_LIN1NSLP       "LIN1NSLP"
132 #define PIN_NAME_HBREN          "HBREN"
133 #define PIN_NAME_HBRDIR         "HBRDIR"
134 #define PIN_NAME_HBRPWM         "HBRPWM"
135 #define PIN_NAME_UNUSED         NULL
136 /* Pins descriptors */
137 #define PIN_DSC_FANCTRL         PORT_PIN(PORT_ID_DMM, 0, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
138 #define PIN_DSC_ETHRST          PORT_PIN(PORT_ID_DMM, 1, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
139 #define PIN_DSC_VBAT1EN         PORT_PIN(PORT_ID_DMM, 2, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
140 #define PIN_DSC_VBAT2EN         PORT_PIN(PORT_ID_DMM, 3, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
141 #define PIN_DSC_VBAT3EN         PORT_PIN(PORT_ID_DMM, 4, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
142 #define PIN_DSC_VBATEN          PORT_PIN(PORT_ID_DMM, 5, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
143 #define PIN_DSC_SPICSA          PORT_PIN(PORT_ID_DMM, 7, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
144 #define PIN_DSC_SPICSB          PORT_PIN(PORT_ID_DMM, 8, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
145 #define PIN_DSC_MOUT1EN         PORT_PIN(PORT_ID_DMM, 11, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODON)
146 #define PIN_DSC_MOUT2EN         PORT_PIN(PORT_ID_DMM, 12, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODON)
147 #define PIN_DSC_CANNSTB         PORT_PIN(PORT_ID_DMM, 13, PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF)
148 #define PIN_DSC_CANEN           PORT_PIN(PORT_ID_DMM, 15, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
149 #define PIN_DSC_LIN2NSLP        PORT_PIN(PORT_ID_DMM, 16, PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF)
150 #define PIN_DSC_LIN1NSLP        PORT_PIN(PORT_ID_DMM, 17, PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF)
151 #define PIN_DSC_DININT          PORT_PIN(PORT_ID_DMM, 18, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
152 #define PIN_DSC_DIN8            PORT_PIN(PORT_ID_GIOA, 0, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
153 #define PIN_DSC_DIN9            PORT_PIN(PORT_ID_GIOA, 1, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
154 #define PIN_DSC_DIN10           PORT_PIN(PORT_ID_GIOA, 2, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
155 #define PIN_DSC_DIN11           PORT_PIN(PORT_ID_GIOA, 3, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
156 #define PIN_DSC_DIN12           PORT_PIN(PORT_ID_GIOA, 4, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
157 #define PIN_DSC_DIN13           PORT_PIN(PORT_ID_GIOA, 5, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
158 #define PIN_DSC_DIN14           PORT_PIN(PORT_ID_GIOA, 6, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
159 #define PIN_DSC_DIN15           PORT_PIN(PORT_ID_GIOA, 7, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
160 #define PIN_DSC_MOUT6EN         PORT_PIN(PORT_ID_GIOB, 0, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
161 #define PIN_DSC_MOUT5EN         PORT_PIN(PORT_ID_GIOB, 1, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
162 #define PIN_DSC_MOUT6IN         PORT_PIN(PORT_ID_GIOB, 2, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
163 #define PIN_DSC_MOUT5IN         PORT_PIN(PORT_ID_GIOB, 3, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
164 #define PIN_DSC_MOUT4EN         PORT_PIN(PORT_ID_GIOB, 4, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
165 #define PIN_DSC_MOUT3EN         PORT_PIN(PORT_ID_GIOB, 5, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
166 #define PIN_DSC_MOUT4IN         PORT_PIN(PORT_ID_GIOB, 6, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
167 #define PIN_DSC_MOUT3IN         PORT_PIN(PORT_ID_GIOB, 7, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
168 #define PIN_DSC_HBREN           PORT_PIN(PORT_ID_HET1, 1, PORT_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF)
169 #define PIN_DSC_HBRDIR          PORT_PIN(PORT_ID_HET1, 4, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
170 #define PIN_DSC_HBRPWM          PORT_PIN(PORT_ID_HET1, 7, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
171 #define PIN_DSC_MOUT1IN         PORT_PIN(PORT_ID_HET1, 9, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
172 #define PIN_DSC_MOUT2IN         PORT_PIN(PORT_ID_HET1, 14, PORT_CONF_GPIO_IN_LO_PU_PDIS_ODOFF)
173 #define PIN_DSC_HOUT1IN         PORT_PIN(PORT_ID_HET1, 16, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
174 #define PIN_DSC_HOUT1DIAG       PORT_PIN(PORT_ID_HET1, 17, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
175 #define PIN_DSC_HOUT2IN         PORT_PIN(PORT_ID_HET1, 18, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
176 #define PIN_DSC_HOUT2DIAG       PORT_PIN(PORT_ID_HET1, 19, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
177 #define PIN_DSC_HOUT3IN         PORT_PIN(PORT_ID_HET1, 20, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
178 #define PIN_DSC_HOUT3DIAG       PORT_PIN(PORT_ID_HET1, 21, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
179 #define PIN_DSC_HOUT4IN         PORT_PIN(PORT_ID_HET1, 22, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
180 #define PIN_DSC_HOUT4DIAG       PORT_PIN(PORT_ID_HET1, 23, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
181 #define PIN_DSC_HOUT5IN         PORT_PIN(PORT_ID_HET1, 25, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
182 #define PIN_DSC_HOUT5DIAG       PORT_PIN(PORT_ID_HET1, 27, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
183 #define PIN_DSC_HOUT6IN         PORT_PIN(PORT_ID_HET1, 29, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
184 #define PIN_DSC_HOUT6DIAG       PORT_PIN(PORT_ID_HET1, 31, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
185 #define PIN_DSC_DMM_UNUSED(b)   PORT_PIN(PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
186 #define PIN_DSC_GIOA_UNUSED(b)   PORT_PIN(PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
187 #define PIN_DSC_GIOB_UNUSED(b) PORT_PIN(PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
188 #define PIN_DSC_HET1_UNUSED(b) PORT_PIN(PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
189 #define PIN_DSC_HET2_UNUSED(b) PORT_PIN(PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
190
191 #endif /* HAL_GPIO_TMS570_DEF_H_ */