]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lib.git/blob - rpp/src/drv/_tms570_hydctr/port_def.c
a146817af7e27e73a0ff315f38cbfd338d2f10d1
[pes-rpp/rpp-lib.git] / rpp / src / drv / _tms570_hydctr / port_def.c
1 /*
2  * Copyright (C) 2015 Czech Technical University in Prague
3  *
4  * Authors:
5  *     - Michal Sojka <sojkam1@fel.cvut.cz>
6  *
7  * This document contains proprietary information belonging to Czech
8  * Technical University in Prague. Passing on and copying of this
9  * document, and communication of its contents is not permitted
10  * without prior written authorization.
11  *
12  */
13
14 #include "drv/port.h"
15 #include "drv/gio_names.h"
16 #include "drv/gio_tab.h"
17 #include "drv/spi.h"
18 #include "drv/spi_tms570.h"
19 #include "drv/adc.h"
20
21 // Lists of pins assigned to the ports
22 static enum pin_name pins_gioa[] = {
23         PIN_GIOA0, PIN_GIOA1, PIN_GIOA2, PIN_GIOA3,
24         PIN_GIOA4
25 };
26 static enum pin_name pins_giob[] = {
27         PIN_GIOB0, PIN_GIOB1, PIN_GIOB2, PIN_GIOB3,
28         PIN_GIOB4, PIN_GIOB5, PIN_GIOB6
29 };
30 static enum pin_name pins_nhet1[] = {
31         PIN_NHET11,
32         PIN_NHET13,
33         PIN_NHET18,
34         PIN_NHET112,
35         PIN_NHET114, PIN_NHET116,
36         PIN_NHET117, PIN_NHET119,
37         PIN_NHET122,
38         PIN_NHET123, PIN_NHET124, PIN_NHET125,
39         PIN_NHET126, PIN_NHET127, PIN_NHET128,
40         PIN_NHET129, PIN_NHET130, PIN_NHET131
41 };
42
43 // Port descriptors
44 const struct port_desc port_desc[] = {
45         [PORT_ID_GIOA] = {
46                 .name = "GIOA",
47                 .cfg = { .gioset = { .pins = pins_gioa } },
48                 .numchn = ARRAY_SIZE(pins_gioa),
49                 .bpch = 1,
50                 .get = port_gioset_get,
51                 .set = port_gioset_set,
52         },
53         [PORT_ID_GIOB] = {
54                 .name = "GIOB",
55                 .cfg = { .gioset = { .pins = pins_giob } },
56                 .numchn = ARRAY_SIZE(pins_giob),
57                 .bpch = 1,
58                 .get = port_gioset_get,
59                 .set = port_gioset_set,
60         },
61         [PORT_ID_NHET1] = {
62                 .name = "NHET1",
63                 .cfg = { .gioset = { .pins = pins_nhet1 } },
64                 .numchn = ARRAY_SIZE(pins_nhet1),
65                 .bpch = 1,
66                 .get = port_gioset_get,
67                 .set = port_gioset_set,
68         },
69         [PORT_ID_ADC] = {
70                 .name = "ADC",
71                 .cfg = { .adc = { .reg = adcREG1, .group = adcGROUP1 } },
72                 .numchn = PORT_ADC_CHANNELS,
73                 .bpch = 16,
74                 .get = port_adc_get,
75                 .set = NULL,
76         },
77         [PORT_ID_THERMISTOR1] = {
78                 .name = "THERM1",
79                 .numchn = 1,
80                 .bpch = 16,
81                 .get = NULL,
82                 .set = port_spi_set,
83                 .cfg = { .spi = { .dev = SPIDEV_MCP6S93_TH1 }, },
84         },
85         [PORT_ID_THERMISTOR2] = {
86                 .name = "THERM2",
87                 .numchn = 1,
88                 .bpch = 16,
89                 .get = NULL,
90                 .set = port_spi_set,
91                 .cfg = { .spi = { .dev = SPIDEV_MCP6S93_TH2 }, },
92         },
93         [PORT_ID_ADC_COND] = {
94                 .name = "ADCCND",
95                 .numchn = 6,
96                 .bpch = 16, /* 6 ICs in daisy chain */
97                 .get = NULL,
98                 .set = port_spi_set,
99                 .cfg = { .spi = { .dev = SPIDEV_MCP6S93_6ADC }, },
100         },
101         [PORT_ID_POWER_SUPPLY] = {
102                 .name = "PWR",
103                 .numchn = 1,
104                 .bpch = 16,
105                 .get = NULL,
106                 .set = port_spi_set,
107                 .cfg = { .spi = { .dev = SPIDEV_TPS65381_PWR }, },
108         },
109         [PORT_ID_SENSOR_SUPPLY] = {
110                 .name = "SENSUP",
111                 .numchn = 1,
112                 .bpch = 16,
113                 .get = NULL,
114                 .set = port_spi_set,
115                 .cfg = { .spi = { .dev = SPIDEV_MCP6S93_SENSUP }, },
116         },
117         [PORT_ID_DAC_ADC_LOOPBACK] = {
118                 .name = "DACLBK",
119                 .numchn = 1,
120                 .bpch = 16,
121                 .get = NULL,
122                 .set = port_spi_set,
123                 .cfg = { .spi = { .dev = SPIDEV_MCP6S93_DAC }, },
124         },
125 };