2 * Copyright (C) 2015 Czech Technical University in Prague
5 * - Michal Horn <hornmich@fel.cvut.cz>
6 * - Michal Sojka <sojkam1@fel.cvut.cz>
8 * This document contains proprietary information belonging to Czech
9 * Technical University in Prague. Passing on and copying of this
10 * document, and communication of its contents is not permitted
11 * without prior written authorization.
16 #include "drv/gio_names.h"
17 #include "drv/gio_tab.h"
19 #include "drv/spi_tms570.h"
22 // Lists of pins assigned to the gio ports
23 static enum pin_name pins_dinmcu[] = {
24 PIN_DIN8, PIN_DIN9, PIN_DIN10, PIN_DIN11,
25 PIN_DIN12, PIN_DIN13, PIN_DIN14, PIN_DIN15
27 static enum pin_name pins_houtin[] = {
28 PIN_HOUT1IN, PIN_HOUT2IN, PIN_HOUT3IN,
29 PIN_HOUT4IN, PIN_HOUT5IN, PIN_HOUT6IN
31 static enum pin_name pins_houtdiag[] = {
32 PIN_HOUT1DIAG, PIN_HOUT2DIAG, PIN_HOUT3DIAG,
33 PIN_HOUT4DIAG, PIN_HOUT5DIAG, PIN_HOUT6DIAG
35 static enum pin_name pins_mouten[] = {
36 PIN_MOUT1EN, PIN_MOUT2EN, PIN_MOUT3EN,
37 PIN_MOUT4EN, PIN_MOUT5EN, PIN_MOUT6EN
39 static enum pin_name pins_moutin[] = {
40 PIN_MOUT1IN, PIN_MOUT2IN, PIN_MOUT3IN,
41 PIN_MOUT4IN, PIN_MOUT5IN, PIN_MOUT6IN
44 const struct port_desc port_desc[] = {
47 .numchn = ARRAY_SIZE(pins_dinmcu),
49 .get = port_gioset_get,
51 .cfg = { .gioset = { .pins = pins_dinmcu } },
58 .cfg = { .spi = { .ifc = 1, .cs = 0 } },
60 [PORT_ID_HOUTDIAG] = {
62 .numchn = ARRAY_SIZE(pins_houtdiag),
64 .get = port_gioset_get,
66 .cfg = { .gioset = { .pins = pins_houtdiag } },
70 .numchn = ARRAY_SIZE(pins_houtin),
72 .get = port_gioset_get,
73 .set = port_gioset_set,
74 .cfg = { .gioset = { .pins = pins_houtin } },
76 [PORT_ID_HOUTIFBK] = {
82 .cfg = { .adc = { .reg = adcREG2, .group = adcGROUP1, .sem = 0 } },
90 .cfg = { .adc = { .reg = adcREG1, .group = adcGROUP1, .sem = 1 } },
98 .cfg = { .spi = { .ifc = 1, .cs = 1 }, },
106 .cfg = { .spi = { .ifc = 3, .cs = 0 }, },
114 .cfg = { .spi = { .ifc = 3, .cs = 1 }, },
116 [PORT_ID_DACDREF] = {
117 .name = "DACDREF", /* Reference voltage for DIN */
122 .cfg = { .spi = { .ifc = 3, .cs = 2 }, },
130 .cfg = { .spi = { .ifc = 4, .cs = 0 }, },
138 .cfg = { .spi = { .ifc = 4, .cs = 1 }, },
146 .cfg = { .spi = { .ifc = 4, .cs = 2 }, },
150 .numchn = ARRAY_SIZE(pins_mouten),
152 .get = port_gioset_get,
154 .cfg = { .gioset = { .pins = pins_mouten } },
158 .numchn = ARRAY_SIZE(pins_moutin),
160 .get = port_gioset_get,
161 .set = port_gioset_set,
162 .cfg = { .gioset = { .pins = pins_moutin } },