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"
21 // Lists of pins assigned to the gio ports
22 static enum pin_name pins_dinmcu[] = {
23 PIN_DIN8, PIN_DIN9, PIN_DIN10, PIN_DIN11,
24 PIN_DIN12, PIN_DIN13, PIN_DIN14, PIN_DIN15
26 static enum pin_name pins_houtin[] = {
27 PIN_HOUT1IN, PIN_HOUT2IN, PIN_HOUT3IN,
28 PIN_HOUT4IN, PIN_HOUT5IN, PIN_HOUT6IN
30 static enum pin_name pins_houtdiag[] = {
31 PIN_HOUT1DIAG, PIN_HOUT2DIAG, PIN_HOUT3DIAG,
32 PIN_HOUT4DIAG, PIN_HOUT5DIAG, PIN_HOUT6DIAG
34 static enum pin_name pins_mouten[] = {
35 PIN_MOUT1EN, PIN_MOUT2EN, PIN_MOUT3EN,
36 PIN_MOUT4EN, PIN_MOUT5EN, PIN_MOUT6EN
38 static enum pin_name pins_moutin[] = {
39 PIN_MOUT1IN, PIN_MOUT2IN, PIN_MOUT3IN,
40 PIN_MOUT4IN, PIN_MOUT5IN, PIN_MOUT6IN
43 const struct port_desc port_desc[] = {
46 .numchn = ARRAY_SIZE(pins_dinmcu),
48 .get = port_gioset_get,
50 .cfg = { .gioset = { .pins = pins_dinmcu } },
57 .cfg = { .spi = { .dev = SPIDEV_MC33972, .chip = "MC33972" } },
59 [PORT_ID_HOUTDIAG] = {
61 .numchn = ARRAY_SIZE(pins_houtdiag),
63 .get = port_gioset_get,
65 .cfg = { .gioset = { .pins = pins_houtdiag } },
69 .numchn = ARRAY_SIZE(pins_houtin),
71 .get = port_gioset_get,
72 .set = port_gioset_set,
73 .cfg = { .gioset = { .pins = pins_houtin } },
75 [PORT_ID_HOUTIFBK] = {
81 .cfg = { .adc = { .reg = adcREG2, .group = adcGROUP1 } },
85 .numchn = PORT_ADC_CHANNELS,
89 .cfg = { .adc = { .reg = adcREG1, .group = adcGROUP1 } },
97 .cfg = { .spi = { .dev = SPIDEV_NCV7608_2x, .chip = "NCV7608" }, },
105 .cfg = { .spi = { .dev = SPIDEV_MCP4922_1, .chip = "MCP4922" }, },
113 .cfg = { .spi = { .dev = SPIDEV_MCP4922_2, .chip = "MCP4922" }, },
115 [PORT_ID_DACDREF] = {
116 .name = "DACDREF", /* Reference voltage for DIN */
121 .cfg = { .spi = { .dev = SPIDEV_MCP4922_3, .chip = "MCP4922" }, },
129 .cfg = { .spi = { .dev = SPIDEV_L99H01, .chip = "L99H01" }, },
137 .cfg = { .spi = { .dev = SPIDEV_TJA1082_1, .chip = "TJA1082" }, },
145 .cfg = { .spi = { .dev = SPIDEV_TJA1082_2, .chip = "TJA1082" }, },
149 .numchn = ARRAY_SIZE(pins_mouten),
151 .get = port_gioset_get,
153 .cfg = { .gioset = { .pins = pins_mouten } },
157 .numchn = ARRAY_SIZE(pins_moutin),
159 .get = port_gioset_get,
160 .set = port_gioset_set,
161 .cfg = { .gioset = { .pins = pins_moutin } },