]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lib.git/commitdiff
Change target-specific pin and port definitions to match the new interface
authorMichal Sojka <sojkam1@fel.cvut.cz>
Sat, 1 Aug 2015 14:50:44 +0000 (16:50 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Fri, 7 Aug 2015 13:19:20 +0000 (15:19 +0200)
21 files changed:
Makefile.var
rpp/include/drv/_rm48_hdk/digital_io_def.h [deleted file]
rpp/include/drv/_rm48_hdk/gio_def.h [new file with mode: 0644]
rpp/include/drv/_rm48_hdk/port_def.h [new file with mode: 0644]
rpp/include/drv/_tms570_hdk/digital_io_def.h [deleted file]
rpp/include/drv/_tms570_hdk/gio_def.h [new file with mode: 0644]
rpp/include/drv/_tms570_hdk/port_def.h [new file with mode: 0644]
rpp/include/drv/_tms570_hydctr/digital_io_def.h [deleted file]
rpp/include/drv/_tms570_hydctr/gio_def.h [new file with mode: 0644]
rpp/include/drv/_tms570_hydctr/port_def.h [new file with mode: 0644]
rpp/include/drv/_tms570_rpp/digital_io_def.h [deleted file]
rpp/include/drv/_tms570_rpp/gio_def.h [new file with mode: 0644]
rpp/include/drv/_tms570_rpp/port_def.h [new file with mode: 0644]
rpp/src/drv/_rm48_hdk/digital_io_def.c [deleted file]
rpp/src/drv/_rm48_hdk/port_def.c [new file with mode: 0644]
rpp/src/drv/_tms570_hdk/digital_io_def.c [deleted file]
rpp/src/drv/_tms570_hdk/port_def.c [new file with mode: 0644]
rpp/src/drv/_tms570_hydctr/digital_io_def.c [deleted file]
rpp/src/drv/_tms570_hydctr/port_def.c [new file with mode: 0644]
rpp/src/drv/_tms570_rpp/digital_io_def.c [deleted file]
rpp/src/drv/_tms570_rpp/port_def.c [new file with mode: 0644]

index 181edbecc59cdf9708f56791cbd3af81dd3576cc..d279cef61e90a30bd9e25626c4997339c09fd5cc 100644 (file)
@@ -38,6 +38,7 @@ rpp_lib_SOURCES +=                                                            \
        rpp/src/rpp/gio.c                                               \
        rpp/src/rpp/sci.c                                               \
        rpp/src/drv/_$(TARGET)/adc.c                            \
+       rpp/src/drv/_$(TARGET)/port_def.c               \
        rpp/src/drv/gio.c                                               \
        rpp/src/drv/gio_tab.c                                   \
        rpp/src/drv/sci.c                                               \
diff --git a/rpp/include/drv/_rm48_hdk/digital_io_def.h b/rpp/include/drv/_rm48_hdk/digital_io_def.h
deleted file mode 100644 (file)
index 5409fbc..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- *
- * @file digital_io_def.h
- *
- * @copyright Copyright (C) 2012-2013 Czech Technical University in Prague
- *
- * @author Michal Horn <hornmich@fel.cvut.cz>
- */
-
-#ifndef TG_DIGITAL_IO_DEF_H_
-#define TG_DIGITAL_IO_DEF_H_
-
-#define DIO_MAX_PIN_CNT     46
-#define DIO_MAX_PORT_CNT    5
-
-/* Pin names */
-#define DIO_PIN_NAME_GIOA0      "GIOA0"
-#define DIO_PIN_NAME_GIOA1      "GIOA1"
-#define DIO_PIN_NAME_GIOA2      "GIOA2"
-#define DIO_PIN_NAME_GIOA3      "GIOA3"
-#define DIO_PIN_NAME_GIOA4      "GIOA4"
-#define DIO_PIN_NAME_GIOA5      "GIOA5"
-#define DIO_PIN_NAME_GIOA6      "GIOA6"
-#define DIO_PIN_NAME_GIOA7      "GIOA7"
-
-#define DIO_PIN_NAME_GIOB0      "GIOB0"
-#define DIO_PIN_NAME_GIOB1      "GIOB1"
-#define DIO_PIN_NAME_GIOB2      "GIOB2"
-#define DIO_PIN_NAME_GIOB3      "GIOB3"
-#define DIO_PIN_NAME_GIOB4      "GIOB4"
-#define DIO_PIN_NAME_GIOB5      "GIOB5"
-#define DIO_PIN_NAME_GIOB6      "GIOB6"
-#define DIO_PIN_NAME_GIOB7      "GIOB7"
-
-#define DIO_PIN_NAME_NHET1_0      "NHET10"
-#define DIO_PIN_NAME_NHET1_1      "NHET11"
-#define DIO_PIN_NAME_NHET1_2      "NHET12"
-#define DIO_PIN_NAME_NHET1_3      "NHET13"
-#define DIO_PIN_NAME_NHET1_4      "NHET14"
-#define DIO_PIN_NAME_NHET1_5      "NHET15"
-#define DIO_PIN_NAME_NHET1_6      "NHET16"
-#define DIO_PIN_NAME_NHET1_7      "NHET17"
-#define DIO_PIN_NAME_NHET1_8      "NHET18"
-#define DIO_PIN_NAME_NHET1_9      "NHET19"
-#define DIO_PIN_NAME_NHET1_10     "NHET110"
-#define DIO_PIN_NAME_NHET1_11     "NHET111"
-#define DIO_PIN_NAME_NHET1_12     "NHET112"
-#define DIO_PIN_NAME_NHET1_13     "NHET113"
-#define DIO_PIN_NAME_NHET1_14     "NHET114"
-#define DIO_PIN_NAME_NHET1_15     "NHET115"
-#define DIO_PIN_NAME_NHET1_16     "NHET116"
-#define DIO_PIN_NAME_NHET1_17     "NHET117"
-#define DIO_PIN_NAME_NHET1_18     "NHET118"
-#define DIO_PIN_NAME_NHET1_19     "NHET119"
-#define DIO_PIN_NAME_NHET1_20     "NHET120"
-#define DIO_PIN_NAME_NHET1_21     "NHET121"
-#define DIO_PIN_NAME_NHET1_22     "NHET122"
-#define DIO_PIN_NAME_NHET1_23     "NHET123"
-#define DIO_PIN_NAME_NHET1_24     "NHET124"
-#define DIO_PIN_NAME_NHET1_25     "NHET125"
-#define DIO_PIN_NAME_NHET1_26     "NHET126"
-#define DIO_PIN_NAME_NHET1_27     "NHET127"
-#define DIO_PIN_NAME_NHET1_28     "NHET128"
-#define DIO_PIN_NAME_NHET1_29     "NHET129"
-#define DIO_PIN_NAME_NHET1_30     "NHET130"
-#define DIO_PIN_NAME_NHET1_31     "NHET131"
-#define DIO_PIN_NAME_UNUSED       "unused"
-
-#define DIO_PORT_CNT    4
-#define DIO_PORT_SHIFT          5
-/* Port names */
-#define DIO_PORT_NAME_GIOA          "GIOA"
-#define DIO_PORT_NAME_GIOB          "GIOB"
-#define DIO_PORT_NAME_NHET1         "NHET1"
-#define DIO_PORT_NAME_ADC           "ADC"
-#endif /* TG_DIGITAL_IO_DEF_H_ */
diff --git a/rpp/include/drv/_rm48_hdk/gio_def.h b/rpp/include/drv/_rm48_hdk/gio_def.h
new file mode 100644 (file)
index 0000000..33c000c
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#define GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODON      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF     GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF     GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_HI_PU_PEN_ODON        GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_IN_LO_PD_PDIS_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_LO_PU_PDIS_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+
+
+/* Pin definition generators */
+
+/*              Name       Port Pin Configuration */
+GIO_PIN_DEF_GEN(GIOA0,    GIOA, 0, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA1,    GIOA, 1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA2,    GIOA, 2, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA3,    GIOA, 3, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA4,    GIOA, 4, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA5,    GIOA, 5, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA6,    GIOA, 6, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA7,    GIOA, 7, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+
+GIO_PIN_DEF_GEN(GIOB0,    GIOB, 0, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB1,    GIOB, 1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB2,    GIOB, 2, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB3,    GIOB, 3, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB4,    GIOB, 4, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB5,    GIOB, 5, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB6,    GIOB, 6, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB7,    GIOB, 7, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+
+GIO_PIN_DEF_GEN(NHET10,           HET1,  0, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET11,           HET1,  1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET12,           HET1,  2, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET13,           HET1,  3, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET14,           HET1,  4, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET15,           HET1,  5, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET16,           HET1,  6, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET17,           HET1,  7, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET18,           HET1,  8, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET19,           HET1,  9, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET110,          HET1, 10, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET111,          HET1, 11, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET112,          HET1, 12, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET113,          HET1, 13, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET114,          HET1, 14, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET115,          HET1, 15, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET116,          HET1, 16, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET117,          HET1, 17, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET118,          HET1, 18, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET119,          HET1, 19, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET120,          HET1, 20, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET121,          HET1, 21, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET122,          HET1, 22, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET123,          HET1, 23, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET124,          HET1, 24, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET125,          HET1, 25, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET126,          HET1, 26, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET127,          HET1, 27, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET128,          HET1, 28, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET129,          HET1, 29, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET130,          HET1, 30, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET131,          HET1, 31, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+
+#undef GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODON
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_HI_PU_PEN_ODON
+#undef GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON
+#undef GIO_PIN_CONF_GPIO_IN_LO_PD_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_LO_PU_PDIS_ODOFF
+
diff --git a/rpp/include/drv/_rm48_hdk/port_def.h b/rpp/include/drv/_rm48_hdk/port_def.h
new file mode 100644 (file)
index 0000000..9e68879
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#ifndef DRV_TGT_PORT_DEF_H
+#define DRV_TGT_PORT_DEF_H
+
+/* Port names */
+enum port_id {
+       PORT_ID_GIOA,
+       PORT_ID_GIOB,
+       PORT_ID_NHET1,
+       PORT_ID_ADC,
+
+       _PORT_COUNT,
+};
+
+#endif
diff --git a/rpp/include/drv/_tms570_hdk/digital_io_def.h b/rpp/include/drv/_tms570_hdk/digital_io_def.h
deleted file mode 100644 (file)
index 5b1a3e3..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- *
- * @file digital_io_def.h
- *
- * @copyright Copyright (C) 2012-2013 Czech Technical University in Prague
- *
- * @author Michal Horn <hornmich@fel.cvut.cz>
- */
-
-#ifndef TG_DIGITAL_IO_DEF_H_
-#define TG_DIGITAL_IO_DEF_H_
-
-#define DIO_MAX_PIN_CNT     46
-#define DIO_MAX_PORT_CNT    5
-
-/* Pin names */
-#define DIO_PIN_NAME_GIOA0      "GIOA0"
-#define DIO_PIN_NAME_GIOA1      "GIOA1"
-#define DIO_PIN_NAME_GIOA2      "GIOA2"
-#define DIO_PIN_NAME_GIOA3      "GIOA3"
-#define DIO_PIN_NAME_GIOA4      "GIOA4"
-#define DIO_PIN_NAME_GIOA5      "GIOA5"
-#define DIO_PIN_NAME_GIOA6      "GIOA6"
-#define DIO_PIN_NAME_GIOA7      "GIOA7"
-
-#define DIO_PIN_NAME_GIOB0      "GIOB0"
-#define DIO_PIN_NAME_GIOB1      "GIOB1"
-#define DIO_PIN_NAME_GIOB2      "GIOB2"
-#define DIO_PIN_NAME_GIOB3      "GIOB3"
-#define DIO_PIN_NAME_GIOB4      "GIOB4"
-#define DIO_PIN_NAME_GIOB5      "GIOB5"
-#define DIO_PIN_NAME_GIOB6      "GIOB6"
-#define DIO_PIN_NAME_GIOB7      "GIOB7"
-
-#define DIO_PIN_NAME_NHET1_0      "NHET10"
-#define DIO_PIN_NAME_NHET1_1      "NHET11"
-#define DIO_PIN_NAME_NHET1_2      "NHET12"
-#define DIO_PIN_NAME_NHET1_3      "NHET13"
-#define DIO_PIN_NAME_NHET1_4      "NHET14"
-#define DIO_PIN_NAME_NHET1_5      "NHET15"
-#define DIO_PIN_NAME_NHET1_6      "NHET16"
-#define DIO_PIN_NAME_NHET1_7      "NHET17"
-#define DIO_PIN_NAME_NHET1_8      "NHET18"
-#define DIO_PIN_NAME_NHET1_9      "NHET19"
-#define DIO_PIN_NAME_NHET1_10     "NHET110"
-#define DIO_PIN_NAME_NHET1_11     "NHET111"
-#define DIO_PIN_NAME_NHET1_12     "NHET112"
-#define DIO_PIN_NAME_NHET1_13     "NHET113"
-#define DIO_PIN_NAME_NHET1_14     "NHET114"
-#define DIO_PIN_NAME_NHET1_15     "NHET115"
-#define DIO_PIN_NAME_NHET1_16     "NHET116"
-#define DIO_PIN_NAME_NHET1_17     "NHET117"
-#define DIO_PIN_NAME_NHET1_18     "NHET118"
-#define DIO_PIN_NAME_NHET1_19     "NHET119"
-#define DIO_PIN_NAME_NHET1_20     "NHET120"
-#define DIO_PIN_NAME_NHET1_21     "NHET121"
-#define DIO_PIN_NAME_NHET1_22     "NHET122"
-#define DIO_PIN_NAME_NHET1_23     "NHET123"
-#define DIO_PIN_NAME_NHET1_24     "NHET124"
-#define DIO_PIN_NAME_NHET1_25     "NHET125"
-#define DIO_PIN_NAME_NHET1_26     "NHET126"
-#define DIO_PIN_NAME_NHET1_27     "NHET127"
-#define DIO_PIN_NAME_NHET1_28     "NHET128"
-#define DIO_PIN_NAME_NHET1_29     "NHET129"
-#define DIO_PIN_NAME_NHET1_30     "NHET130"
-#define DIO_PIN_NAME_NHET1_31     "NHET131"
-#define DIO_PIN_NAME_UNUSED       "unused"
-
-#define DIO_PORT_CNT    4
-#define DIO_PORT_SHIFT          5
-/* Port names */
-#define DIO_PORT_NAME_GIOA          "GIOA"
-#define DIO_PORT_NAME_GIOB          "GIOB"
-#define DIO_PORT_NAME_NHET1         "NHET1"
-#define DIO_PORT_NAME_ADC           "ADC"
-
-#endif /* TG_DIGITAL_IO_DEF_H_ */
diff --git a/rpp/include/drv/_tms570_hdk/gio_def.h b/rpp/include/drv/_tms570_hdk/gio_def.h
new file mode 100644 (file)
index 0000000..33c000c
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#define GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODON      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF     GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF     GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_HI_PU_PEN_ODON        GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_IN_LO_PD_PDIS_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_LO_PU_PDIS_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+
+
+/* Pin definition generators */
+
+/*              Name       Port Pin Configuration */
+GIO_PIN_DEF_GEN(GIOA0,    GIOA, 0, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA1,    GIOA, 1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA2,    GIOA, 2, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA3,    GIOA, 3, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA4,    GIOA, 4, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA5,    GIOA, 5, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA6,    GIOA, 6, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA7,    GIOA, 7, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+
+GIO_PIN_DEF_GEN(GIOB0,    GIOB, 0, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB1,    GIOB, 1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB2,    GIOB, 2, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB3,    GIOB, 3, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB4,    GIOB, 4, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB5,    GIOB, 5, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB6,    GIOB, 6, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB7,    GIOB, 7, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+
+GIO_PIN_DEF_GEN(NHET10,           HET1,  0, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET11,           HET1,  1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET12,           HET1,  2, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET13,           HET1,  3, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET14,           HET1,  4, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET15,           HET1,  5, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET16,           HET1,  6, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET17,           HET1,  7, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET18,           HET1,  8, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET19,           HET1,  9, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET110,          HET1, 10, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET111,          HET1, 11, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET112,          HET1, 12, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET113,          HET1, 13, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET114,          HET1, 14, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET115,          HET1, 15, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET116,          HET1, 16, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET117,          HET1, 17, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET118,          HET1, 18, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET119,          HET1, 19, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET120,          HET1, 20, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET121,          HET1, 21, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET122,          HET1, 22, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET123,          HET1, 23, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET124,          HET1, 24, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET125,          HET1, 25, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET126,          HET1, 26, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET127,          HET1, 27, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET128,          HET1, 28, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET129,          HET1, 29, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET130,          HET1, 30, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET131,          HET1, 31, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+
+#undef GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODON
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_HI_PU_PEN_ODON
+#undef GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON
+#undef GIO_PIN_CONF_GPIO_IN_LO_PD_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_LO_PU_PDIS_ODOFF
+
diff --git a/rpp/include/drv/_tms570_hdk/port_def.h b/rpp/include/drv/_tms570_hdk/port_def.h
new file mode 100644 (file)
index 0000000..9e68879
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#ifndef DRV_TGT_PORT_DEF_H
+#define DRV_TGT_PORT_DEF_H
+
+/* Port names */
+enum port_id {
+       PORT_ID_GIOA,
+       PORT_ID_GIOB,
+       PORT_ID_NHET1,
+       PORT_ID_ADC,
+
+       _PORT_COUNT,
+};
+
+#endif
diff --git a/rpp/include/drv/_tms570_hydctr/digital_io_def.h b/rpp/include/drv/_tms570_hydctr/digital_io_def.h
deleted file mode 100644 (file)
index 5b1a3e3..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- *
- * @file digital_io_def.h
- *
- * @copyright Copyright (C) 2012-2013 Czech Technical University in Prague
- *
- * @author Michal Horn <hornmich@fel.cvut.cz>
- */
-
-#ifndef TG_DIGITAL_IO_DEF_H_
-#define TG_DIGITAL_IO_DEF_H_
-
-#define DIO_MAX_PIN_CNT     46
-#define DIO_MAX_PORT_CNT    5
-
-/* Pin names */
-#define DIO_PIN_NAME_GIOA0      "GIOA0"
-#define DIO_PIN_NAME_GIOA1      "GIOA1"
-#define DIO_PIN_NAME_GIOA2      "GIOA2"
-#define DIO_PIN_NAME_GIOA3      "GIOA3"
-#define DIO_PIN_NAME_GIOA4      "GIOA4"
-#define DIO_PIN_NAME_GIOA5      "GIOA5"
-#define DIO_PIN_NAME_GIOA6      "GIOA6"
-#define DIO_PIN_NAME_GIOA7      "GIOA7"
-
-#define DIO_PIN_NAME_GIOB0      "GIOB0"
-#define DIO_PIN_NAME_GIOB1      "GIOB1"
-#define DIO_PIN_NAME_GIOB2      "GIOB2"
-#define DIO_PIN_NAME_GIOB3      "GIOB3"
-#define DIO_PIN_NAME_GIOB4      "GIOB4"
-#define DIO_PIN_NAME_GIOB5      "GIOB5"
-#define DIO_PIN_NAME_GIOB6      "GIOB6"
-#define DIO_PIN_NAME_GIOB7      "GIOB7"
-
-#define DIO_PIN_NAME_NHET1_0      "NHET10"
-#define DIO_PIN_NAME_NHET1_1      "NHET11"
-#define DIO_PIN_NAME_NHET1_2      "NHET12"
-#define DIO_PIN_NAME_NHET1_3      "NHET13"
-#define DIO_PIN_NAME_NHET1_4      "NHET14"
-#define DIO_PIN_NAME_NHET1_5      "NHET15"
-#define DIO_PIN_NAME_NHET1_6      "NHET16"
-#define DIO_PIN_NAME_NHET1_7      "NHET17"
-#define DIO_PIN_NAME_NHET1_8      "NHET18"
-#define DIO_PIN_NAME_NHET1_9      "NHET19"
-#define DIO_PIN_NAME_NHET1_10     "NHET110"
-#define DIO_PIN_NAME_NHET1_11     "NHET111"
-#define DIO_PIN_NAME_NHET1_12     "NHET112"
-#define DIO_PIN_NAME_NHET1_13     "NHET113"
-#define DIO_PIN_NAME_NHET1_14     "NHET114"
-#define DIO_PIN_NAME_NHET1_15     "NHET115"
-#define DIO_PIN_NAME_NHET1_16     "NHET116"
-#define DIO_PIN_NAME_NHET1_17     "NHET117"
-#define DIO_PIN_NAME_NHET1_18     "NHET118"
-#define DIO_PIN_NAME_NHET1_19     "NHET119"
-#define DIO_PIN_NAME_NHET1_20     "NHET120"
-#define DIO_PIN_NAME_NHET1_21     "NHET121"
-#define DIO_PIN_NAME_NHET1_22     "NHET122"
-#define DIO_PIN_NAME_NHET1_23     "NHET123"
-#define DIO_PIN_NAME_NHET1_24     "NHET124"
-#define DIO_PIN_NAME_NHET1_25     "NHET125"
-#define DIO_PIN_NAME_NHET1_26     "NHET126"
-#define DIO_PIN_NAME_NHET1_27     "NHET127"
-#define DIO_PIN_NAME_NHET1_28     "NHET128"
-#define DIO_PIN_NAME_NHET1_29     "NHET129"
-#define DIO_PIN_NAME_NHET1_30     "NHET130"
-#define DIO_PIN_NAME_NHET1_31     "NHET131"
-#define DIO_PIN_NAME_UNUSED       "unused"
-
-#define DIO_PORT_CNT    4
-#define DIO_PORT_SHIFT          5
-/* Port names */
-#define DIO_PORT_NAME_GIOA          "GIOA"
-#define DIO_PORT_NAME_GIOB          "GIOB"
-#define DIO_PORT_NAME_NHET1         "NHET1"
-#define DIO_PORT_NAME_ADC           "ADC"
-
-#endif /* TG_DIGITAL_IO_DEF_H_ */
diff --git a/rpp/include/drv/_tms570_hydctr/gio_def.h b/rpp/include/drv/_tms570_hydctr/gio_def.h
new file mode 100644 (file)
index 0000000..33c000c
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#define GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODON      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF     GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF     GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_HI_PU_PEN_ODON        GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_IN_LO_PD_PDIS_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_LO_PU_PDIS_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+
+
+/* Pin definition generators */
+
+/*              Name       Port Pin Configuration */
+GIO_PIN_DEF_GEN(GIOA0,    GIOA, 0, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA1,    GIOA, 1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA2,    GIOA, 2, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA3,    GIOA, 3, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA4,    GIOA, 4, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA5,    GIOA, 5, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA6,    GIOA, 6, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOA7,    GIOA, 7, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+
+GIO_PIN_DEF_GEN(GIOB0,    GIOB, 0, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB1,    GIOB, 1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB2,    GIOB, 2, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB3,    GIOB, 3, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB4,    GIOB, 4, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB5,    GIOB, 5, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB6,    GIOB, 6, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(GIOB7,    GIOB, 7, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+
+GIO_PIN_DEF_GEN(NHET10,           HET1,  0, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET11,           HET1,  1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET12,           HET1,  2, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET13,           HET1,  3, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET14,           HET1,  4, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET15,           HET1,  5, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET16,           HET1,  6, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET17,           HET1,  7, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET18,           HET1,  8, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET19,           HET1,  9, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET110,          HET1, 10, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET111,          HET1, 11, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET112,          HET1, 12, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET113,          HET1, 13, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET114,          HET1, 14, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET115,          HET1, 15, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET116,          HET1, 16, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET117,          HET1, 17, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET118,          HET1, 18, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET119,          HET1, 19, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET120,          HET1, 20, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET121,          HET1, 21, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET122,          HET1, 22, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET123,          HET1, 23, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET124,          HET1, 24, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET125,          HET1, 25, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET126,          HET1, 26, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET127,          HET1, 27, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET128,          HET1, 28, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET129,          HET1, 29, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET130,          HET1, 30, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+GIO_PIN_DEF_GEN(NHET131,          HET1, 31, GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
+
+#undef GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODON
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_HI_PU_PEN_ODON
+#undef GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON
+#undef GIO_PIN_CONF_GPIO_IN_LO_PD_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_LO_PU_PDIS_ODOFF
+
diff --git a/rpp/include/drv/_tms570_hydctr/port_def.h b/rpp/include/drv/_tms570_hydctr/port_def.h
new file mode 100644 (file)
index 0000000..9e68879
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#ifndef DRV_TGT_PORT_DEF_H
+#define DRV_TGT_PORT_DEF_H
+
+/* Port names */
+enum port_id {
+       PORT_ID_GIOA,
+       PORT_ID_GIOB,
+       PORT_ID_NHET1,
+       PORT_ID_ADC,
+
+       _PORT_COUNT,
+};
+
+#endif
diff --git a/rpp/include/drv/_tms570_rpp/digital_io_def.h b/rpp/include/drv/_tms570_rpp/digital_io_def.h
deleted file mode 100644 (file)
index 32e6dbd..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- *
- * @file digital_io_def.h
- *
- * @copyright Copyright (C) 2012-2013 Czech Technical University in Prague
- *
- * @author Michal Horn <hornmich@fel.cvut.cz>
- */
-
-#ifndef TG_DIGITAL_IO_DEF_H_
-#define TG_DIGITAL_IO_DEF_H_
-
-#define DIO_MAX_PIN_CNT     103
-#define DIO_MAX_PORT_CNT       5
-/* Pin names */
-#define DIO_PIN_NAME_DIN8       "DIN8"
-#define DIO_PIN_NAME_DIN9       "DIN9"
-#define DIO_PIN_NAME_DIN10      "DIN10"
-#define DIO_PIN_NAME_DIN11      "DIN11"
-#define DIO_PIN_NAME_DIN12      "DIN12"
-#define DIO_PIN_NAME_DIN13      "DIN13"
-#define DIO_PIN_NAME_DIN14      "DIN14"
-#define DIO_PIN_NAME_DIN15      "DIN15"
-#define DIO_PIN_NAME_DININT     "DININT"
-#define DIO_PIN_NAME_HOUT1IN    "HOUT1IN"
-#define DIO_PIN_NAME_HOUT2IN    "HOUT2IN"
-#define DIO_PIN_NAME_HOUT3IN    "HOUT3IN"
-#define DIO_PIN_NAME_HOUT4IN    "HOUT4IN"
-#define DIO_PIN_NAME_HOUT5IN    "HOUT5IN"
-#define DIO_PIN_NAME_HOUT6IN    "HOUT6IN"
-#define DIO_PIN_NAME_HOUT1DIAG  "HOUT1DIAG"
-#define DIO_PIN_NAME_HOUT2DIAG  "HOUT2DIAG"
-#define DIO_PIN_NAME_HOUT3DIAG  "HOUT3DIAG"
-#define DIO_PIN_NAME_HOUT4DIAG  "HOUT4DIAG"
-#define DIO_PIN_NAME_HOUT5DIAG  "HOUT5DIAG"
-#define DIO_PIN_NAME_HOUT6DIAG  "HOUT6DIAG"
-#define DIO_PIN_NAME_MOUT1IN    "MOUT1IN"
-#define DIO_PIN_NAME_MOUT2IN    "MOUT2IN"
-#define DIO_PIN_NAME_MOUT3IN    "MOUT3IN"
-#define DIO_PIN_NAME_MOUT4IN    "MOUT4IN"
-#define DIO_PIN_NAME_MOUT5IN    "MOUT5IN"
-#define DIO_PIN_NAME_MOUT6IN    "MOUT6IN"
-#define DIO_PIN_NAME_MOUT1EN    "MOUT1EN"
-#define DIO_PIN_NAME_MOUT2EN    "MOUT2EN"
-#define DIO_PIN_NAME_MOUT3EN    "MOUT3EN"
-#define DIO_PIN_NAME_MOUT4EN    "MOUT4EN"
-#define DIO_PIN_NAME_MOUT5EN    "MOUT5EN"
-#define DIO_PIN_NAME_MOUT6EN    "MOUT6EN"
-#define DIO_PIN_NAME_VBAT1EN    "VBAT1EN"
-#define DIO_PIN_NAME_VBAT2EN    "VBAT2EN"
-#define DIO_PIN_NAME_VBAT3EN    "VBAT3EN"
-#define DIO_PIN_NAME_VBATEN     "VBATEN"
-#define DIO_PIN_NAME_FANCTRL    "FANCTRL"
-#define DIO_PIN_NAME_ETHRST     "ETHRST"
-#define DIO_PIN_NAME_SPICSA     "SPICSA"
-#define DIO_PIN_NAME_SPICSB     "SPICSB"
-#define DIO_PIN_NAME_CANNSTB    "CANNSTB"
-#define DIO_PIN_NAME_CANEN      "CANEN"
-#define DIO_PIN_NAME_LIN2NSLP   "LIN2NSLP"
-#define DIO_PIN_NAME_LIN1NSLP   "LIN1NSLP"
-#define DIO_PIN_NAME_HBREN      "HBREN"
-#define DIO_PIN_NAME_HBRDIR     "HBRDIR"
-#define DIO_PIN_NAME_HBRPWM     "HBRPWM"
-#define DIO_PIN_NAME_UNUSED     NULL
-
-#define DIO_PORT_CNT    15
-#define DIO_PORT_SHIFT          5
-/* Port names */
-#define DIO_PORT_NAME_DINMCU        "DINMCU"
-#define DIO_PORT_NAME_DINSPI        "DINSPI"
-#define DIO_PORT_NAME_HOUTDIAG      "HOUTDIAG"
-#define DIO_PORT_NAME_HOUTIN        "HOUTIN"
-#define DIO_PORT_NAME_HOUTIFBK      "HOUTIFBK"
-#define DIO_PORT_NAME_ADC           "ADC"
-#define DIO_PORT_NAME_LOUT          "LOUT"
-#define DIO_PORT_NAME_DAC1_2        "DAC12"
-#define DIO_PORT_NAME_DAC3_4        "DAC34"
-#define DIO_PORT_NAME_DACDREF       "DACDREF"
-#define DIO_PORT_NAME_HBR           "HBR"
-#define DIO_PORT_NAME_FRAY1         "FRAY1"
-#define DIO_PORT_NAME_FRAY2         "FRAY2"
-#define DIO_PORT_NAME_MOUTEN        "MOUTEN"
-#define DIO_PORT_NAME_MOUTIN        "MOUTIN"
-
-#endif /* TG_DIGITAL_IO_DEF_H_ */
diff --git a/rpp/include/drv/_tms570_rpp/gio_def.h b/rpp/include/drv/_tms570_rpp/gio_def.h
new file mode 100644 (file)
index 0000000..9837fda
--- /dev/null
@@ -0,0 +1,88 @@
+/**
+ *
+ * @file digital_io_def.h
+ *
+ * @copyright Copyright (C) 2012-2015 Czech Technical University in Prague
+ *
+ * @author Michal Horn <hornmich@fel.cvut.cz>
+ * @author Michal Sojka <sojkam1@fel.cvut.cz>
+ */
+
+#define GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODON      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF     GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF     GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_OUT|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_HI_PU_PEN_ODON        GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_HIGH|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PU|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_ON
+#define GIO_PIN_CONF_GPIO_IN_LO_PD_PDIS_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF       GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PEN|GIO_PIN_CONF_OD_OFF
+#define GIO_PIN_CONF_GPIO_IN_LO_PU_PDIS_ODOFF      GIO_PIN_CONF_FNC_GPIO|GIO_PIN_CONF_INIT_LOW|GIO_PIN_CONF_DIR_IN|GIO_PIN_CONF_MODE_PD|GIO_PIN_CONF_MODE_PDIS|GIO_PIN_CONF_OD_OFF
+
+
+/* Pin definition generators */
+
+/*              Name       Port Pin Configuration */
+GIO_PIN_DEF_GEN(FANCTRL,   DMM,  0, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(ETHRST,    DMM,  1, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(VBAT1EN,   DMM,  2, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON)
+GIO_PIN_DEF_GEN(VBAT2EN,   DMM,  3, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON)
+GIO_PIN_DEF_GEN(VBAT3EN,   DMM,  4, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON)
+GIO_PIN_DEF_GEN(VBATEN,    DMM,  5, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(SPICSA,    DMM,  7, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(SPICSB,    DMM,  8, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(MOUT1EN,   DMM, 11, GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON)
+GIO_PIN_DEF_GEN(MOUT2EN,   DMM, 12, GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON)
+GIO_PIN_DEF_GEN(CANNSTB,   DMM, 13, GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(CANEN,     DMM, 15, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(LIN2NSLP,  DMM, 16, GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(LIN1NSLP,  DMM, 17, GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(DININT,    DMM, 18, GIO_PIN_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
+GIO_PIN_DEF_GEN(DIN8,      GIOA, 0, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(DIN9,      GIOA, 1, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(DIN10,     GIOA, 2, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(DIN11,     GIOA, 3, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(DIN12,     GIOA, 4, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(DIN13,     GIOA, 5, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(DIN14,     GIOA, 6, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(DIN15,     GIOA, 7, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(MOUT6EN,   GIOB, 0, GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON)
+GIO_PIN_DEF_GEN(MOUT5EN,   GIOB, 1, GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON)
+GIO_PIN_DEF_GEN(MOUT6IN,   GIOB, 2, GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
+GIO_PIN_DEF_GEN(MOUT5IN,   GIOB, 3, GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
+GIO_PIN_DEF_GEN(MOUT4EN,   GIOB, 4, GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON)
+GIO_PIN_DEF_GEN(MOUT3EN,   GIOB, 5, GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON)
+GIO_PIN_DEF_GEN(MOUT4IN,   GIOB, 6, GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
+GIO_PIN_DEF_GEN(MOUT3IN,   GIOB, 7, GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
+GIO_PIN_DEF_GEN(HBREN,     HET1, 1, GIO_PIN_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF)
+GIO_PIN_DEF_GEN(HBRDIR,    HET1, 4, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON)
+GIO_PIN_DEF_GEN(HBRPWM,    HET1, 7, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON)
+GIO_PIN_DEF_GEN(MOUT1IN,   HET1, 9, GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
+GIO_PIN_DEF_GEN(MOUT2IN,   HET1, 14, GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
+GIO_PIN_DEF_GEN(HOUT1IN,   HET1, 16, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT1DIAG, HET1, 17, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT2IN,   HET1, 18, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT2DIAG, HET1, 19, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT3IN,   HET1, 20, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT3DIAG, HET1, 21, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT4IN,   HET1, 22, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT4DIAG, HET1, 23, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT5IN,   HET1, 25, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT5DIAG, HET1, 27, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT6IN,   HET1, 29, GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
+GIO_PIN_DEF_GEN(HOUT6DIAG, HET1, 31, GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
+
+#undef GIO_PIN_CONF_GPIO_OUT_HI_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PU_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PEN_ODON
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODON
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_HI_PU_PEN_ODON
+#undef GIO_PIN_CONF_GPIO_IN_HI_PU_PDIS_ODON
+#undef GIO_PIN_CONF_GPIO_IN_LO_PD_PDIS_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_LO_PD_PEN_ODOFF
+#undef GIO_PIN_CONF_GPIO_IN_LO_PU_PDIS_ODOFF
diff --git a/rpp/include/drv/_tms570_rpp/port_def.h b/rpp/include/drv/_tms570_rpp/port_def.h
new file mode 100644 (file)
index 0000000..68973ee
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#ifndef _TMS570_RPP_PORT_DEF_H
+#define _TMS570_RPP_PORT_DEF_H
+
+/* Port names */
+enum port_id {
+       PORT_ID_DINMCU,
+       PORT_ID_DINSPI,
+       PORT_ID_HOUTDIAG,
+       PORT_ID_HOUTIN,
+       PORT_ID_HOUTIFBK,
+       PORT_ID_ADC,
+       PORT_ID_LOUT,
+       PORT_ID_DAC1_2,
+       PORT_ID_DAC3_4,
+       PORT_ID_DACDREF,
+       PORT_ID_HBR,
+       PORT_ID_FRAY1,
+       PORT_ID_FRAY2,
+       PORT_ID_MOUTEN,
+       PORT_ID_MOUTIN,
+
+       _PORT_COUNT,
+};
+
+#endif
diff --git a/rpp/src/drv/_rm48_hdk/digital_io_def.c b/rpp/src/drv/_rm48_hdk/digital_io_def.c
deleted file mode 100644 (file)
index 17778be..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/* Copyright (C) 2012-2013 Czech Technical University in Prague
- *
- * Authors:
- *     - Michal Horn <hornmich@fel.cvut.cz>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * Abstract:
- *         This file contains gpio pins definitions
- *
- *      On TMS570 MCU pins can operates as GIO on ports DMM, GIOA, GIOB,
- *      HET1 and HET2. Those pins, that are defined in this file, can be
- *      accessed directly as GPIO by hal_gpio_set_value and
- *      hal_gpio_get_value. Pin configuration can be modified by functions
- *      defined in hal_gpio_tms570 source and header files.
- *
- *      NOTE: Although the configuration functions are implemented and
- *      should be ready to use, they were only slightly tested and are not
- *      used by the RPP software yet.
- */
-
-#include "drv/_rm48_hdk/digital_io_def.h"
-#include "drv/digital_io.h"
-#include "drv/spi.h"
-#include "drv/_rm48_hdk/adc.h"
-
-
-#define PORT_PIN(p,n,conf)  (((p)<<DIO_PORT_SHIFT) | (n) | (conf))
-
-#define PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODON      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF     DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF     DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_HI_PU_PEN_ODON        DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_LO_PU_PDIS_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-
-/* Pin definition generators */
-#define PIN_DSC_GIOA0     PORT_PIN(DIO_PORT_ID_GIOA, 0, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA1     PORT_PIN(DIO_PORT_ID_GIOA, 1, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA2     PORT_PIN(DIO_PORT_ID_GIOA, 2, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA3     PORT_PIN(DIO_PORT_ID_GIOA, 3, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA4     PORT_PIN(DIO_PORT_ID_GIOA, 4, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA5     PORT_PIN(DIO_PORT_ID_GIOA, 5, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA6     PORT_PIN(DIO_PORT_ID_GIOA, 6, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA7     PORT_PIN(DIO_PORT_ID_GIOA, 7, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-
-#define PIN_DSC_GIOB0     PORT_PIN(DIO_PORT_ID_GIOB, 0, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB1     PORT_PIN(DIO_PORT_ID_GIOB, 1, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB2     PORT_PIN(DIO_PORT_ID_GIOB, 2, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB3     PORT_PIN(DIO_PORT_ID_GIOB, 3, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB4     PORT_PIN(DIO_PORT_ID_GIOB, 4, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB5     PORT_PIN(DIO_PORT_ID_GIOB, 5, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB6     PORT_PIN(DIO_PORT_ID_GIOB, 6, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB7     PORT_PIN(DIO_PORT_ID_GIOB, 7, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-
-#define PIN_DSC_NHET1_0     PORT_PIN(DIO_PORT_ID_HET1,  0, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_1     PORT_PIN(DIO_PORT_ID_HET1,  1, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_2     PORT_PIN(DIO_PORT_ID_HET1,  2, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_3     PORT_PIN(DIO_PORT_ID_HET1,  3, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_4     PORT_PIN(DIO_PORT_ID_HET1,  4, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_5     PORT_PIN(DIO_PORT_ID_HET1,  5, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_6     PORT_PIN(DIO_PORT_ID_HET1,  6, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_7     PORT_PIN(DIO_PORT_ID_HET1,  7, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_8     PORT_PIN(DIO_PORT_ID_HET1,  8, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_9     PORT_PIN(DIO_PORT_ID_HET1,  9, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_10    PORT_PIN(DIO_PORT_ID_HET1, 10, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_11    PORT_PIN(DIO_PORT_ID_HET1, 11, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_12    PORT_PIN(DIO_PORT_ID_HET1, 12, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_13    PORT_PIN(DIO_PORT_ID_HET1, 13, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_14    PORT_PIN(DIO_PORT_ID_HET1, 14, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_15    PORT_PIN(DIO_PORT_ID_HET1, 15, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_16    PORT_PIN(DIO_PORT_ID_HET1, 16, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_17    PORT_PIN(DIO_PORT_ID_HET1, 17, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_18    PORT_PIN(DIO_PORT_ID_HET1, 18, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_19    PORT_PIN(DIO_PORT_ID_HET1, 19, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_20    PORT_PIN(DIO_PORT_ID_HET1, 20, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_21    PORT_PIN(DIO_PORT_ID_HET1, 21, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_22    PORT_PIN(DIO_PORT_ID_HET1, 22, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_23    PORT_PIN(DIO_PORT_ID_HET1, 23, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_24    PORT_PIN(DIO_PORT_ID_HET1, 24, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_25    PORT_PIN(DIO_PORT_ID_HET1, 25, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_26    PORT_PIN(DIO_PORT_ID_HET1, 26, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_27    PORT_PIN(DIO_PORT_ID_HET1, 27, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_28    PORT_PIN(DIO_PORT_ID_HET1, 28, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_29    PORT_PIN(DIO_PORT_ID_HET1, 29, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_30    PORT_PIN(DIO_PORT_ID_HET1, 30, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_31    PORT_PIN(DIO_PORT_ID_HET1, 31, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-
-/**
- * Array of ports used as GPIO. Thanks to that array, we can
- * determine port just by index in pin_desc at 5th bit */
-gioPORT_t *dio_port_id_map[DIO_MAX_PORT_CNT] = {
-       (gioPORT_t *)dmmPORT,
-       (gioPORT_t *)gioPORTA,
-       (gioPORT_t *)gioPORTB,
-       (gioPORT_t *)hetPORT1,
-       (gioPORT_t *)hetPORT2
-};
-
-/* Some pins are commented out, because they are pinmuxed with SCI. */
-/**
- * Map of pin names to pin descriptors. Each pin can be then easily
- * found just by its name given as a string to hal_gpio_get_pin_dsc
- * function*/
-dio_pin_map_element_t dio_pin_map[DIO_MAX_PIN_CNT] = {
-               { .pin_name = DIO_PIN_NAME_GIOA0, .pin_desc = PIN_DSC_GIOA0 },
-               { .pin_name = DIO_PIN_NAME_GIOA1, .pin_desc = PIN_DSC_GIOA1 },
-               { .pin_name = DIO_PIN_NAME_GIOA2, .pin_desc = PIN_DSC_GIOA2 },
-               { .pin_name = DIO_PIN_NAME_GIOA3, .pin_desc = PIN_DSC_GIOA3 },
-               { .pin_name = DIO_PIN_NAME_GIOA4, .pin_desc = PIN_DSC_GIOA4 },
-               { .pin_name = DIO_PIN_NAME_GIOA5, .pin_desc = PIN_DSC_GIOA5 },
-               { .pin_name = DIO_PIN_NAME_GIOA6, .pin_desc = PIN_DSC_GIOA6 },
-               { .pin_name = DIO_PIN_NAME_GIOA7, .pin_desc = PIN_DSC_GIOA7 },
-               { .pin_name = DIO_PIN_NAME_GIOB0, .pin_desc = PIN_DSC_GIOB0 },
-               { .pin_name = DIO_PIN_NAME_GIOB1, .pin_desc = PIN_DSC_GIOB1 },
-               { .pin_name = DIO_PIN_NAME_GIOB2, .pin_desc = PIN_DSC_GIOB2 },
-               { .pin_name = DIO_PIN_NAME_GIOB3, .pin_desc = PIN_DSC_GIOB3 },
-               { .pin_name = DIO_PIN_NAME_GIOB4, .pin_desc = PIN_DSC_GIOB4 },
-               { .pin_name = DIO_PIN_NAME_GIOB5, .pin_desc = PIN_DSC_GIOB5 },
-               { .pin_name = DIO_PIN_NAME_GIOB6, .pin_desc = PIN_DSC_GIOB6 },
-               { .pin_name = DIO_PIN_NAME_GIOB7, .pin_desc = PIN_DSC_GIOB7 },
-               { .pin_name = DIO_PIN_NAME_NHET1_0, .pin_desc = PIN_DSC_NHET1_0 },
-               { .pin_name = DIO_PIN_NAME_NHET1_1, .pin_desc = PIN_DSC_NHET1_1 },
-               { .pin_name = DIO_PIN_NAME_NHET1_2, .pin_desc = PIN_DSC_NHET1_2 },
-               { .pin_name = DIO_PIN_NAME_NHET1_3, .pin_desc = PIN_DSC_NHET1_3 },
-               { .pin_name = DIO_PIN_NAME_NHET1_4, .pin_desc = PIN_DSC_NHET1_4 },
-               { .pin_name = DIO_PIN_NAME_NHET1_5, .pin_desc = PIN_DSC_NHET1_5 },
-               /*{ .pin_name = DIO_PIN_NAME_NHET1_6, .pin_desc = PIN_DSC_NHET1_6 },*/
-               { .pin_name = DIO_PIN_NAME_NHET1_7, .pin_desc = PIN_DSC_NHET1_7 },
-               { .pin_name = DIO_PIN_NAME_NHET1_8, .pin_desc = PIN_DSC_NHET1_8 },
-               { .pin_name = DIO_PIN_NAME_NHET1_9, .pin_desc = PIN_DSC_NHET1_9 },
-               { .pin_name = DIO_PIN_NAME_NHET1_10, .pin_desc = PIN_DSC_NHET1_10 },
-               { .pin_name = DIO_PIN_NAME_NHET1_11, .pin_desc = PIN_DSC_NHET1_11 },
-               { .pin_name = DIO_PIN_NAME_NHET1_12, .pin_desc = PIN_DSC_NHET1_12 },
-               /*{ .pin_name = DIO_PIN_NAME_NHET1_13, .pin_desc = PIN_DSC_NHET1_13 },*/
-               { .pin_name = DIO_PIN_NAME_NHET1_14, .pin_desc = PIN_DSC_NHET1_14 },
-               { .pin_name = DIO_PIN_NAME_NHET1_15, .pin_desc = PIN_DSC_NHET1_15 },
-               { .pin_name = DIO_PIN_NAME_NHET1_16, .pin_desc = PIN_DSC_NHET1_16 },
-               { .pin_name = DIO_PIN_NAME_NHET1_17, .pin_desc = PIN_DSC_NHET1_17 },
-               { .pin_name = DIO_PIN_NAME_NHET1_18, .pin_desc = PIN_DSC_NHET1_18 },
-               { .pin_name = DIO_PIN_NAME_NHET1_19, .pin_desc = PIN_DSC_NHET1_19 },
-               { .pin_name = DIO_PIN_NAME_NHET1_20, .pin_desc = PIN_DSC_NHET1_20 },
-               { .pin_name = DIO_PIN_NAME_NHET1_21, .pin_desc = PIN_DSC_NHET1_21 },
-               { .pin_name = DIO_PIN_NAME_NHET1_22, .pin_desc = PIN_DSC_NHET1_22 },
-               { .pin_name = DIO_PIN_NAME_NHET1_23, .pin_desc = PIN_DSC_NHET1_23 },
-               { .pin_name = DIO_PIN_NAME_NHET1_24, .pin_desc = PIN_DSC_NHET1_24 },
-               { .pin_name = DIO_PIN_NAME_NHET1_25, .pin_desc = PIN_DSC_NHET1_25 },
-               { .pin_name = DIO_PIN_NAME_NHET1_26, .pin_desc = PIN_DSC_NHET1_26 },
-               { .pin_name = DIO_PIN_NAME_NHET1_27, .pin_desc = PIN_DSC_NHET1_27 },
-               { .pin_name = DIO_PIN_NAME_NHET1_28, .pin_desc = PIN_DSC_NHET1_28 },
-               { .pin_name = DIO_PIN_NAME_NHET1_29, .pin_desc = PIN_DSC_NHET1_29 },
-               { .pin_name = DIO_PIN_NAME_NHET1_30, .pin_desc = PIN_DSC_NHET1_30 },
-               { .pin_name = DIO_PIN_NAME_NHET1_31, .pin_desc = PIN_DSC_NHET1_31 },
-       /* FIXME: add definitions of all unused pins DMM, HET2, SCI... */
-};
-
-// FIXME Upper layer dependency/coupling
-// Declared in drv/adc.h
-extern uint32_t adc_get_port_val(uint32_t *config, uint32_t num_channels, uint32_t *values);
-
-// Lists of pins assigned to the ports
-static uint32_t port_cfg_gioa[] = {
-               PIN_DSC_GIOA0, PIN_DSC_GIOA1, PIN_DSC_GIOA2, PIN_DSC_GIOA3,
-               PIN_DSC_GIOA4, PIN_DSC_GIOA5, PIN_DSC_GIOA6, PIN_DSC_GIOA7
-};
-static uint32_t port_cfg_giob[] = {
-               PIN_DSC_GIOB0, PIN_DSC_GIOB1, PIN_DSC_GIOB2, PIN_DSC_GIOB3,
-               PIN_DSC_GIOB4, PIN_DSC_GIOB5, PIN_DSC_GIOB6, PIN_DSC_GIOB7
-};
-static uint32_t port_cfg_nhet1[] = {
-               PIN_DSC_NHET1_0, PIN_DSC_NHET1_1, PIN_DSC_NHET1_2,
-               PIN_DSC_NHET1_3, PIN_DSC_NHET1_4, PIN_DSC_NHET1_5,
-               PIN_DSC_NHET1_7, PIN_DSC_NHET1_8, PIN_DSC_NHET1_9,
-               PIN_DSC_NHET1_10, PIN_DSC_NHET1_11, PIN_DSC_NHET1_12,
-               PIN_DSC_NHET1_14, PIN_DSC_NHET1_15, PIN_DSC_NHET1_16,
-               PIN_DSC_NHET1_17, PIN_DSC_NHET1_18, PIN_DSC_NHET1_19,
-               PIN_DSC_NHET1_20, PIN_DSC_NHET1_21, PIN_DSC_NHET1_22,
-               PIN_DSC_NHET1_23, PIN_DSC_NHET1_24, PIN_DSC_NHET1_25,
-               PIN_DSC_NHET1_26, PIN_DSC_NHET1_27, PIN_DSC_NHET1_28,
-               PIN_DSC_NHET1_29, PIN_DSC_NHET1_30, PIN_DSC_NHET1_31
-};
-static uint32_t port_cfg_adc[] = { (uint32_t)adcREG1, adcGROUP1, 1 };
-
-// Port descriptors
-static dio_port_desc_t port_desc_gioa = {
- .config = port_cfg_gioa,
- .numValues = 8,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_giob = {
- .config = port_cfg_giob,
- .numValues = 8,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_nhet1 = {
- .config = port_cfg_nhet1,
- .numValues = 30,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_adc = {
- .config = port_cfg_adc,
- .numValues = 16,
- .interfaceType = ADC,
- .port_getfnc_ptr = &adc_get_port_val,
- .port_setfnc_ptr = ((void *)0),
-};
-
-
-// Maps of port names to port descriptors
-dio_port_def_t dio_port_definition[DIO_PORT_CNT] = {
-       {.name = DIO_PORT_NAME_GIOA,      .desc = &port_desc_gioa},
-       {.name = DIO_PORT_NAME_GIOB,      .desc = &port_desc_giob},
-       {.name = DIO_PORT_NAME_NHET1,    .desc = &port_desc_nhet1},
-       {.name = DIO_PORT_NAME_ADC,      .desc = &port_desc_adc}
-};
diff --git a/rpp/src/drv/_rm48_hdk/port_def.c b/rpp/src/drv/_rm48_hdk/port_def.c
new file mode 100644 (file)
index 0000000..a5e8012
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#include "drv/port.h"
+#include "drv/gio_names.h"
+#include "drv/gio_tab.h"
+#include "drv/adc.h"
+
+// Lists of pins assigned to the ports
+static enum pin_name pins_gioa[] = {
+               PIN_GIOA0, PIN_GIOA1, PIN_GIOA2, PIN_GIOA3,
+               PIN_GIOA4, PIN_GIOA5, PIN_GIOA6, PIN_GIOA7
+};
+static enum pin_name pins_giob[] = {
+               PIN_GIOB0, PIN_GIOB1, PIN_GIOB2, PIN_GIOB3,
+               PIN_GIOB4, PIN_GIOB5, PIN_GIOB6, PIN_GIOB7
+};
+static enum pin_name pins_nhet1[] = {
+               PIN_NHET10, PIN_NHET11, PIN_NHET12,
+               PIN_NHET13, PIN_NHET14, PIN_NHET15,
+               PIN_NHET17, PIN_NHET18, PIN_NHET19,
+               PIN_NHET110, PIN_NHET111, PIN_NHET112,
+               PIN_NHET114, PIN_NHET115, PIN_NHET116,
+               PIN_NHET117, PIN_NHET118, PIN_NHET119,
+               PIN_NHET120, PIN_NHET121, PIN_NHET122,
+               PIN_NHET123, PIN_NHET124, PIN_NHET125,
+               PIN_NHET126, PIN_NHET127, PIN_NHET128,
+               PIN_NHET129, PIN_NHET130, PIN_NHET131
+};
+
+// Port descriptors
+const struct port_desc port_desc[] = {
+       [PORT_ID_GIOA] = {
+               .name = "GIOA",
+               .cfg = { .gioset = { .pins = pins_gioa } },
+               .numchn = ARRAY_SIZE(pins_gioa),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+       },
+       [PORT_ID_GIOB] = {
+               .name = "GIOB",
+               .cfg = { .gioset = { .pins = pins_giob } },
+               .numchn = ARRAY_SIZE(pins_giob),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+       },
+       [PORT_ID_NHET1] = {
+               .name = "NHET1",
+               .cfg = { .gioset = { .pins = pins_nhet1 } },
+               .numchn = ARRAY_SIZE(pins_nhet1),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+       },
+       [PORT_ID_ADC] = {
+               .name = "ADC",
+               .cfg = { .adc = { .reg = adcREG1, .group = adcGROUP1, .sem = 1 } },
+               .numchn = 16,
+               .bpch = 16,
+               .get = port_adc_get,
+               .set = NULL,
+       },
+};
diff --git a/rpp/src/drv/_tms570_hdk/digital_io_def.c b/rpp/src/drv/_tms570_hdk/digital_io_def.c
deleted file mode 100644 (file)
index a995d7c..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/* Copyright (C) 2012-2013 Czech Technical University in Prague
- *
- * Authors:
- *     - Michal Horn <hornmich@fel.cvut.cz>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * Abstract:
- *         This file contains gpio pins definitions
- *
- *      On TMS570 MCU pins can operates as GIO on ports DMM, GIOA, GIOB,
- *      HET1 and HET2. Those pins, that are defined in this file, can be
- *      accessed directly as GPIO by hal_gpio_set_value and
- *      hal_gpio_get_value. Pin configuration can be modified by functions
- *      defined in hal_gpio_tms570 source and header files.
- *
- *      NOTE: Although the configuration functions are implemented and
- *      should be ready to use, they were only slightly tested and are not
- *      used by the RPP software yet.
- */
-
-#include "drv/_tms570_hdk/digital_io_def.h"
-#include "drv/digital_io.h"
-#include "drv/spi.h"
-#include "drv/_tms570_hdk/adc.h"
-
-
-#define PORT_PIN(p,n,conf)  (((p)<<DIO_PORT_SHIFT) | (n) | (conf))
-
-#define PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODON      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF     DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF     DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_HI_PU_PEN_ODON        DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_LO_PU_PDIS_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-
-/* Pin definition generators */
-#define PIN_DSC_GIOA0     PORT_PIN(DIO_PORT_ID_GIOA, 0, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA1     PORT_PIN(DIO_PORT_ID_GIOA, 1, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA2     PORT_PIN(DIO_PORT_ID_GIOA, 2, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA3     PORT_PIN(DIO_PORT_ID_GIOA, 3, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA4     PORT_PIN(DIO_PORT_ID_GIOA, 4, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA5     PORT_PIN(DIO_PORT_ID_GIOA, 5, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA6     PORT_PIN(DIO_PORT_ID_GIOA, 6, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA7     PORT_PIN(DIO_PORT_ID_GIOA, 7, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-
-#define PIN_DSC_GIOB0     PORT_PIN(DIO_PORT_ID_GIOB, 0, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB1     PORT_PIN(DIO_PORT_ID_GIOB, 1, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB2     PORT_PIN(DIO_PORT_ID_GIOB, 2, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB3     PORT_PIN(DIO_PORT_ID_GIOB, 3, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB4     PORT_PIN(DIO_PORT_ID_GIOB, 4, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB5     PORT_PIN(DIO_PORT_ID_GIOB, 5, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB6     PORT_PIN(DIO_PORT_ID_GIOB, 6, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB7     PORT_PIN(DIO_PORT_ID_GIOB, 7, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-
-#define PIN_DSC_NHET1_0     PORT_PIN(DIO_PORT_ID_HET1,  0, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_1     PORT_PIN(DIO_PORT_ID_HET1,  1, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_2     PORT_PIN(DIO_PORT_ID_HET1,  2, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_3     PORT_PIN(DIO_PORT_ID_HET1,  3, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_4     PORT_PIN(DIO_PORT_ID_HET1,  4, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_5     PORT_PIN(DIO_PORT_ID_HET1,  5, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_6     PORT_PIN(DIO_PORT_ID_HET1,  6, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_7     PORT_PIN(DIO_PORT_ID_HET1,  7, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_8     PORT_PIN(DIO_PORT_ID_HET1,  8, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_9     PORT_PIN(DIO_PORT_ID_HET1,  9, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_10    PORT_PIN(DIO_PORT_ID_HET1, 10, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_11    PORT_PIN(DIO_PORT_ID_HET1, 11, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_12    PORT_PIN(DIO_PORT_ID_HET1, 12, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_13    PORT_PIN(DIO_PORT_ID_HET1, 13, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_14    PORT_PIN(DIO_PORT_ID_HET1, 14, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_15    PORT_PIN(DIO_PORT_ID_HET1, 15, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_16    PORT_PIN(DIO_PORT_ID_HET1, 16, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_17    PORT_PIN(DIO_PORT_ID_HET1, 17, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_18    PORT_PIN(DIO_PORT_ID_HET1, 18, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_19    PORT_PIN(DIO_PORT_ID_HET1, 19, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_20    PORT_PIN(DIO_PORT_ID_HET1, 20, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_21    PORT_PIN(DIO_PORT_ID_HET1, 21, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_22    PORT_PIN(DIO_PORT_ID_HET1, 22, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_23    PORT_PIN(DIO_PORT_ID_HET1, 23, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_24    PORT_PIN(DIO_PORT_ID_HET1, 24, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_25    PORT_PIN(DIO_PORT_ID_HET1, 25, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_26    PORT_PIN(DIO_PORT_ID_HET1, 26, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_27    PORT_PIN(DIO_PORT_ID_HET1, 27, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_28    PORT_PIN(DIO_PORT_ID_HET1, 28, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_29    PORT_PIN(DIO_PORT_ID_HET1, 29, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_30    PORT_PIN(DIO_PORT_ID_HET1, 30, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_31    PORT_PIN(DIO_PORT_ID_HET1, 31, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-
-/**
- * Array of ports used as GPIO. Thanks to that array, we can
- * determine port just by index in pin_desc at 5th bit */
-gioPORT_t *dio_port_id_map[DIO_MAX_PORT_CNT] = {
-       (gioPORT_t *)dmmPORT,
-       (gioPORT_t *)gioPORTA,
-       (gioPORT_t *)gioPORTB,
-       (gioPORT_t *)hetPORT1,
-       (gioPORT_t *)hetPORT2
-};
-
-/* Some pins are commented out, because they are pinmuxed with SCI. */
-/**
- * Map of pin names to pin descriptors. Each pin can be then easily
- * found just by its name given as a string to hal_gpio_get_pin_dsc
- * function*/
-dio_pin_map_element_t dio_pin_map[DIO_MAX_PIN_CNT] = {
-               { .pin_name = DIO_PIN_NAME_GIOA0, .pin_desc = PIN_DSC_GIOA0 },
-               { .pin_name = DIO_PIN_NAME_GIOA1, .pin_desc = PIN_DSC_GIOA1 },
-               { .pin_name = DIO_PIN_NAME_GIOA2, .pin_desc = PIN_DSC_GIOA2 },
-               { .pin_name = DIO_PIN_NAME_GIOA3, .pin_desc = PIN_DSC_GIOA3 },
-               { .pin_name = DIO_PIN_NAME_GIOA4, .pin_desc = PIN_DSC_GIOA4 },
-               { .pin_name = DIO_PIN_NAME_GIOA5, .pin_desc = PIN_DSC_GIOA5 },
-               { .pin_name = DIO_PIN_NAME_GIOA6, .pin_desc = PIN_DSC_GIOA6 },
-               { .pin_name = DIO_PIN_NAME_GIOA7, .pin_desc = PIN_DSC_GIOA7 },
-               { .pin_name = DIO_PIN_NAME_GIOB0, .pin_desc = PIN_DSC_GIOB0 },
-               { .pin_name = DIO_PIN_NAME_GIOB1, .pin_desc = PIN_DSC_GIOB1 },
-               { .pin_name = DIO_PIN_NAME_GIOB2, .pin_desc = PIN_DSC_GIOB2 },
-               { .pin_name = DIO_PIN_NAME_GIOB3, .pin_desc = PIN_DSC_GIOB3 },
-               { .pin_name = DIO_PIN_NAME_GIOB4, .pin_desc = PIN_DSC_GIOB4 },
-               { .pin_name = DIO_PIN_NAME_GIOB5, .pin_desc = PIN_DSC_GIOB5 },
-               { .pin_name = DIO_PIN_NAME_GIOB6, .pin_desc = PIN_DSC_GIOB6 },
-               { .pin_name = DIO_PIN_NAME_GIOB7, .pin_desc = PIN_DSC_GIOB7 },
-               { .pin_name = DIO_PIN_NAME_NHET1_0, .pin_desc = PIN_DSC_NHET1_0 },
-               { .pin_name = DIO_PIN_NAME_NHET1_1, .pin_desc = PIN_DSC_NHET1_1 },
-               { .pin_name = DIO_PIN_NAME_NHET1_2, .pin_desc = PIN_DSC_NHET1_2 },
-               { .pin_name = DIO_PIN_NAME_NHET1_3, .pin_desc = PIN_DSC_NHET1_3 },
-               { .pin_name = DIO_PIN_NAME_NHET1_4, .pin_desc = PIN_DSC_NHET1_4 },
-               { .pin_name = DIO_PIN_NAME_NHET1_5, .pin_desc = PIN_DSC_NHET1_5 },
-               /*{ .pin_name = DIO_PIN_NAME_NHET1_6, .pin_desc = PIN_DSC_NHET1_6 },*/
-               { .pin_name = DIO_PIN_NAME_NHET1_7, .pin_desc = PIN_DSC_NHET1_7 },
-               { .pin_name = DIO_PIN_NAME_NHET1_8, .pin_desc = PIN_DSC_NHET1_8 },
-               { .pin_name = DIO_PIN_NAME_NHET1_9, .pin_desc = PIN_DSC_NHET1_9 },
-               { .pin_name = DIO_PIN_NAME_NHET1_10, .pin_desc = PIN_DSC_NHET1_10 },
-               { .pin_name = DIO_PIN_NAME_NHET1_11, .pin_desc = PIN_DSC_NHET1_11 },
-               { .pin_name = DIO_PIN_NAME_NHET1_12, .pin_desc = PIN_DSC_NHET1_12 },
-               /*{ .pin_name = DIO_PIN_NAME_NHET1_13, .pin_desc = PIN_DSC_NHET1_13 },*/
-               { .pin_name = DIO_PIN_NAME_NHET1_14, .pin_desc = PIN_DSC_NHET1_14 },
-               { .pin_name = DIO_PIN_NAME_NHET1_15, .pin_desc = PIN_DSC_NHET1_15 },
-               { .pin_name = DIO_PIN_NAME_NHET1_16, .pin_desc = PIN_DSC_NHET1_16 },
-               { .pin_name = DIO_PIN_NAME_NHET1_17, .pin_desc = PIN_DSC_NHET1_17 },
-               { .pin_name = DIO_PIN_NAME_NHET1_18, .pin_desc = PIN_DSC_NHET1_18 },
-               { .pin_name = DIO_PIN_NAME_NHET1_19, .pin_desc = PIN_DSC_NHET1_19 },
-               { .pin_name = DIO_PIN_NAME_NHET1_20, .pin_desc = PIN_DSC_NHET1_20 },
-               { .pin_name = DIO_PIN_NAME_NHET1_21, .pin_desc = PIN_DSC_NHET1_21 },
-               { .pin_name = DIO_PIN_NAME_NHET1_22, .pin_desc = PIN_DSC_NHET1_22 },
-               { .pin_name = DIO_PIN_NAME_NHET1_23, .pin_desc = PIN_DSC_NHET1_23 },
-               { .pin_name = DIO_PIN_NAME_NHET1_24, .pin_desc = PIN_DSC_NHET1_24 },
-               { .pin_name = DIO_PIN_NAME_NHET1_25, .pin_desc = PIN_DSC_NHET1_25 },
-               { .pin_name = DIO_PIN_NAME_NHET1_26, .pin_desc = PIN_DSC_NHET1_26 },
-               { .pin_name = DIO_PIN_NAME_NHET1_27, .pin_desc = PIN_DSC_NHET1_27 },
-               { .pin_name = DIO_PIN_NAME_NHET1_28, .pin_desc = PIN_DSC_NHET1_28 },
-               { .pin_name = DIO_PIN_NAME_NHET1_29, .pin_desc = PIN_DSC_NHET1_29 },
-               { .pin_name = DIO_PIN_NAME_NHET1_30, .pin_desc = PIN_DSC_NHET1_30 },
-               { .pin_name = DIO_PIN_NAME_NHET1_31, .pin_desc = PIN_DSC_NHET1_31 },
-       /* FIXME: add definitions of all unused pins DMM, HET2, SCI... */
-};
-
-// FIXME Upper layer dependency/coupling
-// Declared in drv/adc.h
-extern uint32_t adc_get_port_val(uint32_t *config, uint32_t num_channels, uint32_t *values);
-
-// Lists of pins assigned to the ports
-static uint32_t port_cfg_gioa[] = {
-               PIN_DSC_GIOA0, PIN_DSC_GIOA1, PIN_DSC_GIOA2, PIN_DSC_GIOA3,
-               PIN_DSC_GIOA4, PIN_DSC_GIOA5, PIN_DSC_GIOA6, PIN_DSC_GIOA7
-};
-static uint32_t port_cfg_giob[] = {
-               PIN_DSC_GIOB0, PIN_DSC_GIOB1, PIN_DSC_GIOB2, PIN_DSC_GIOB3,
-               PIN_DSC_GIOB4, PIN_DSC_GIOB5, PIN_DSC_GIOB6, PIN_DSC_GIOB7
-};
-static uint32_t port_cfg_nhet1[] = {
-               PIN_DSC_NHET1_0, PIN_DSC_NHET1_1, PIN_DSC_NHET1_2,
-               PIN_DSC_NHET1_3, PIN_DSC_NHET1_4, PIN_DSC_NHET1_5,
-               PIN_DSC_NHET1_7, PIN_DSC_NHET1_8, PIN_DSC_NHET1_9,
-               PIN_DSC_NHET1_10, PIN_DSC_NHET1_11, PIN_DSC_NHET1_12,
-               PIN_DSC_NHET1_14, PIN_DSC_NHET1_15, PIN_DSC_NHET1_16,
-               PIN_DSC_NHET1_17, PIN_DSC_NHET1_18, PIN_DSC_NHET1_19,
-               PIN_DSC_NHET1_20, PIN_DSC_NHET1_21, PIN_DSC_NHET1_22,
-               PIN_DSC_NHET1_23, PIN_DSC_NHET1_24, PIN_DSC_NHET1_25,
-               PIN_DSC_NHET1_26, PIN_DSC_NHET1_27, PIN_DSC_NHET1_28,
-               PIN_DSC_NHET1_29, PIN_DSC_NHET1_30, PIN_DSC_NHET1_31
-};
-static uint32_t port_cfg_adc[] = { (uint32_t)adcREG1, adcGROUP1, 1 };
-
-// Port descriptors
-static dio_port_desc_t port_desc_gioa = {
- .config = port_cfg_gioa,
- .numValues = 8,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_giob = {
- .config = port_cfg_giob,
- .numValues = 8,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_nhet1 = {
- .config = port_cfg_nhet1,
- .numValues = 30,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_adc = {
- .config = port_cfg_adc,
- .numValues = 16,
- .interfaceType = ADC,
- .port_getfnc_ptr = &adc_get_port_val,
- .port_setfnc_ptr = ((void *)0),
-};
-
-
-// Maps of port names to port descriptors
-dio_port_def_t dio_port_definition[DIO_PORT_CNT] = {
-       {.name = DIO_PORT_NAME_GIOA,      .desc = &port_desc_gioa},
-       {.name = DIO_PORT_NAME_GIOB,      .desc = &port_desc_giob},
-       {.name = DIO_PORT_NAME_NHET1,    .desc = &port_desc_nhet1},
-       {.name = DIO_PORT_NAME_ADC,      .desc = &port_desc_adc}
-};
diff --git a/rpp/src/drv/_tms570_hdk/port_def.c b/rpp/src/drv/_tms570_hdk/port_def.c
new file mode 100644 (file)
index 0000000..a5e8012
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#include "drv/port.h"
+#include "drv/gio_names.h"
+#include "drv/gio_tab.h"
+#include "drv/adc.h"
+
+// Lists of pins assigned to the ports
+static enum pin_name pins_gioa[] = {
+               PIN_GIOA0, PIN_GIOA1, PIN_GIOA2, PIN_GIOA3,
+               PIN_GIOA4, PIN_GIOA5, PIN_GIOA6, PIN_GIOA7
+};
+static enum pin_name pins_giob[] = {
+               PIN_GIOB0, PIN_GIOB1, PIN_GIOB2, PIN_GIOB3,
+               PIN_GIOB4, PIN_GIOB5, PIN_GIOB6, PIN_GIOB7
+};
+static enum pin_name pins_nhet1[] = {
+               PIN_NHET10, PIN_NHET11, PIN_NHET12,
+               PIN_NHET13, PIN_NHET14, PIN_NHET15,
+               PIN_NHET17, PIN_NHET18, PIN_NHET19,
+               PIN_NHET110, PIN_NHET111, PIN_NHET112,
+               PIN_NHET114, PIN_NHET115, PIN_NHET116,
+               PIN_NHET117, PIN_NHET118, PIN_NHET119,
+               PIN_NHET120, PIN_NHET121, PIN_NHET122,
+               PIN_NHET123, PIN_NHET124, PIN_NHET125,
+               PIN_NHET126, PIN_NHET127, PIN_NHET128,
+               PIN_NHET129, PIN_NHET130, PIN_NHET131
+};
+
+// Port descriptors
+const struct port_desc port_desc[] = {
+       [PORT_ID_GIOA] = {
+               .name = "GIOA",
+               .cfg = { .gioset = { .pins = pins_gioa } },
+               .numchn = ARRAY_SIZE(pins_gioa),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+       },
+       [PORT_ID_GIOB] = {
+               .name = "GIOB",
+               .cfg = { .gioset = { .pins = pins_giob } },
+               .numchn = ARRAY_SIZE(pins_giob),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+       },
+       [PORT_ID_NHET1] = {
+               .name = "NHET1",
+               .cfg = { .gioset = { .pins = pins_nhet1 } },
+               .numchn = ARRAY_SIZE(pins_nhet1),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+       },
+       [PORT_ID_ADC] = {
+               .name = "ADC",
+               .cfg = { .adc = { .reg = adcREG1, .group = adcGROUP1, .sem = 1 } },
+               .numchn = 16,
+               .bpch = 16,
+               .get = port_adc_get,
+               .set = NULL,
+       },
+};
diff --git a/rpp/src/drv/_tms570_hydctr/digital_io_def.c b/rpp/src/drv/_tms570_hydctr/digital_io_def.c
deleted file mode 100644 (file)
index 1a90b4f..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-/* Copyright (C) 2012-2013 Czech Technical University in Prague
- *
- * Authors:
- *     - Michal Horn <hornmich@fel.cvut.cz>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * Abstract:
- *         This file contains gpio pins definitions
- *
- *      On TMS570 MCU pins can operates as GIO on ports DMM, GIOA, GIOB,
- *      HET1 and HET2. Those pins, that are defined in this file, can be
- *      accessed directly as GPIO by hal_gpio_set_value and
- *      hal_gpio_get_value. Pin configuration can be modified by functions
- *      defined in hal_gpio_tms570 source and header files.
- *
- *      NOTE: Although the configuration functions are implemented and
- *      should be ready to use, they were only slightly tested and are not
- *      used by the RPP software yet.
- */
-
-#include "drv/_tms570_hydctr/digital_io_def.h"
-#include "drv/digital_io.h"
-#include "drv/spi.h"
-#include "drv/_tms570_hydctr/adc.h"
-
-
-#define PORT_PIN(p,n,conf)  (((p)<<DIO_PORT_SHIFT) | (n) | (conf))
-
-#define PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODON      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF     DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF     DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_HI_PU_PEN_ODON        DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_LO_PU_PDIS_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-
-/* Pin definition generators */
-#define PIN_DSC_GIOA0     PORT_PIN(DIO_PORT_ID_GIOA, 0, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA1     PORT_PIN(DIO_PORT_ID_GIOA, 1, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA2     PORT_PIN(DIO_PORT_ID_GIOA, 2, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA3     PORT_PIN(DIO_PORT_ID_GIOA, 3, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA4     PORT_PIN(DIO_PORT_ID_GIOA, 4, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA5     PORT_PIN(DIO_PORT_ID_GIOA, 5, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA6     PORT_PIN(DIO_PORT_ID_GIOA, 6, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOA7     PORT_PIN(DIO_PORT_ID_GIOA, 7, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-
-#define PIN_DSC_GIOB0     PORT_PIN(DIO_PORT_ID_GIOB, 0, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB1     PORT_PIN(DIO_PORT_ID_GIOB, 1, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB2     PORT_PIN(DIO_PORT_ID_GIOB, 2, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB3     PORT_PIN(DIO_PORT_ID_GIOB, 3, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB4     PORT_PIN(DIO_PORT_ID_GIOB, 4, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB5     PORT_PIN(DIO_PORT_ID_GIOB, 5, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB6     PORT_PIN(DIO_PORT_ID_GIOB, 6, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_GIOB7     PORT_PIN(DIO_PORT_ID_GIOB, 7, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-
-#define PIN_DSC_NHET1_0     PORT_PIN(DIO_PORT_ID_HET1,  0, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_1     PORT_PIN(DIO_PORT_ID_HET1,  1, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_2     PORT_PIN(DIO_PORT_ID_HET1,  2, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_3     PORT_PIN(DIO_PORT_ID_HET1,  3, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_4     PORT_PIN(DIO_PORT_ID_HET1,  4, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_5     PORT_PIN(DIO_PORT_ID_HET1,  5, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_6     PORT_PIN(DIO_PORT_ID_HET1,  6, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_7     PORT_PIN(DIO_PORT_ID_HET1,  7, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_8     PORT_PIN(DIO_PORT_ID_HET1,  8, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_9     PORT_PIN(DIO_PORT_ID_HET1,  9, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_10    PORT_PIN(DIO_PORT_ID_HET1, 10, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_11    PORT_PIN(DIO_PORT_ID_HET1, 11, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_12    PORT_PIN(DIO_PORT_ID_HET1, 12, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_13    PORT_PIN(DIO_PORT_ID_HET1, 13, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_14    PORT_PIN(DIO_PORT_ID_HET1, 14, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_15    PORT_PIN(DIO_PORT_ID_HET1, 15, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_16    PORT_PIN(DIO_PORT_ID_HET1, 16, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_17    PORT_PIN(DIO_PORT_ID_HET1, 17, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_18    PORT_PIN(DIO_PORT_ID_HET1, 18, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_19    PORT_PIN(DIO_PORT_ID_HET1, 19, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_20    PORT_PIN(DIO_PORT_ID_HET1, 20, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_21    PORT_PIN(DIO_PORT_ID_HET1, 21, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_22    PORT_PIN(DIO_PORT_ID_HET1, 22, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_23    PORT_PIN(DIO_PORT_ID_HET1, 23, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_24    PORT_PIN(DIO_PORT_ID_HET1, 24, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_25    PORT_PIN(DIO_PORT_ID_HET1, 25, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_26    PORT_PIN(DIO_PORT_ID_HET1, 26, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_27    PORT_PIN(DIO_PORT_ID_HET1, 27, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_28    PORT_PIN(DIO_PORT_ID_HET1, 28, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_29    PORT_PIN(DIO_PORT_ID_HET1, 29, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_30    PORT_PIN(DIO_PORT_ID_HET1, 30, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-#define PIN_DSC_NHET1_31    PORT_PIN(DIO_PORT_ID_HET1, 31, PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF)
-
-/**
- * Array of ports used as GPIO. Thanks to that array, we can
- * determine port just by index in pin_desc at 5th bit */
-gioPORT_t *dio_port_id_map[DIO_MAX_PORT_CNT] = {
-       ((void *)0),    /* DMM is missing on this target */
-       (gioPORT_t *)gioPORTA,
-       (gioPORT_t *)gioPORTB,
-       (gioPORT_t *)hetPORT1,
-       (gioPORT_t *)hetPORT2
-};
-
-/* Some pins are commented out, because they are pinmuxed with SCI. */
-/**
- * Map of pin names to pin descriptors. Each pin can be then easily
- * found just by its name given as a string to hal_gpio_get_pin_dsc
- * function*/
-dio_pin_map_element_t dio_pin_map[DIO_MAX_PIN_CNT] = {
-       { .pin_name = DIO_PIN_NAME_GIOA0, .pin_desc = PIN_DSC_GIOA0 },
-       { .pin_name = DIO_PIN_NAME_GIOA1, .pin_desc = PIN_DSC_GIOA1 },
-       { .pin_name = DIO_PIN_NAME_GIOA2, .pin_desc = PIN_DSC_GIOA2 },
-       { .pin_name = DIO_PIN_NAME_GIOA3, .pin_desc = PIN_DSC_GIOA3 },
-       { .pin_name = DIO_PIN_NAME_GIOA4, .pin_desc = PIN_DSC_GIOA4 },
-       { .pin_name = DIO_PIN_NAME_GIOA5, .pin_desc = PIN_DSC_GIOA5 },
-       { .pin_name = DIO_PIN_NAME_GIOA6, .pin_desc = PIN_DSC_GIOA6 },
-       { .pin_name = DIO_PIN_NAME_GIOA7, .pin_desc = PIN_DSC_GIOA7 },
-       { .pin_name = DIO_PIN_NAME_GIOB0, .pin_desc = PIN_DSC_GIOB0 },
-       { .pin_name = DIO_PIN_NAME_GIOB1, .pin_desc = PIN_DSC_GIOB1 },
-       { .pin_name = DIO_PIN_NAME_GIOB2, .pin_desc = PIN_DSC_GIOB2 },
-       { .pin_name = DIO_PIN_NAME_GIOB3, .pin_desc = PIN_DSC_GIOB3 },
-       { .pin_name = DIO_PIN_NAME_GIOB4, .pin_desc = PIN_DSC_GIOB4 },
-       { .pin_name = DIO_PIN_NAME_GIOB5, .pin_desc = PIN_DSC_GIOB5 },
-       { .pin_name = DIO_PIN_NAME_GIOB6, .pin_desc = PIN_DSC_GIOB6 },
-       { .pin_name = DIO_PIN_NAME_GIOB7, .pin_desc = PIN_DSC_GIOB7 },
-       { .pin_name = DIO_PIN_NAME_NHET1_0, .pin_desc = PIN_DSC_NHET1_0 },
-       { .pin_name = DIO_PIN_NAME_NHET1_1, .pin_desc = PIN_DSC_NHET1_1 },
-       { .pin_name = DIO_PIN_NAME_NHET1_2, .pin_desc = PIN_DSC_NHET1_2 },
-       { .pin_name = DIO_PIN_NAME_NHET1_3, .pin_desc = PIN_DSC_NHET1_3 },
-       { .pin_name = DIO_PIN_NAME_NHET1_4, .pin_desc = PIN_DSC_NHET1_4 },
-       { .pin_name = DIO_PIN_NAME_NHET1_5, .pin_desc = PIN_DSC_NHET1_5 },
-       /*{ .pin_name = DIO_PIN_NAME_NHET1_6, .pin_desc = PIN_DSC_NHET1_6 },*/
-       { .pin_name = DIO_PIN_NAME_NHET1_7, .pin_desc = PIN_DSC_NHET1_7 },
-       { .pin_name = DIO_PIN_NAME_NHET1_8, .pin_desc = PIN_DSC_NHET1_8 },
-       { .pin_name = DIO_PIN_NAME_NHET1_9, .pin_desc = PIN_DSC_NHET1_9 },
-       { .pin_name = DIO_PIN_NAME_NHET1_10, .pin_desc = PIN_DSC_NHET1_10 },
-       { .pin_name = DIO_PIN_NAME_NHET1_11, .pin_desc = PIN_DSC_NHET1_11 },
-       { .pin_name = DIO_PIN_NAME_NHET1_12, .pin_desc = PIN_DSC_NHET1_12 },
-       /*{ .pin_name = DIO_PIN_NAME_NHET1_13, .pin_desc = PIN_DSC_NHET1_13 },*/
-       { .pin_name = DIO_PIN_NAME_NHET1_14, .pin_desc = PIN_DSC_NHET1_14 },
-       { .pin_name = DIO_PIN_NAME_NHET1_15, .pin_desc = PIN_DSC_NHET1_15 },
-       { .pin_name = DIO_PIN_NAME_NHET1_16, .pin_desc = PIN_DSC_NHET1_16 },
-       { .pin_name = DIO_PIN_NAME_NHET1_17, .pin_desc = PIN_DSC_NHET1_17 },
-       { .pin_name = DIO_PIN_NAME_NHET1_18, .pin_desc = PIN_DSC_NHET1_18 },
-       { .pin_name = DIO_PIN_NAME_NHET1_19, .pin_desc = PIN_DSC_NHET1_19 },
-       { .pin_name = DIO_PIN_NAME_NHET1_20, .pin_desc = PIN_DSC_NHET1_20 },
-       { .pin_name = DIO_PIN_NAME_NHET1_21, .pin_desc = PIN_DSC_NHET1_21 },
-       { .pin_name = DIO_PIN_NAME_NHET1_22, .pin_desc = PIN_DSC_NHET1_22 },
-       { .pin_name = DIO_PIN_NAME_NHET1_23, .pin_desc = PIN_DSC_NHET1_23 },
-       { .pin_name = DIO_PIN_NAME_NHET1_24, .pin_desc = PIN_DSC_NHET1_24 },
-       { .pin_name = DIO_PIN_NAME_NHET1_25, .pin_desc = PIN_DSC_NHET1_25 },
-       { .pin_name = DIO_PIN_NAME_NHET1_26, .pin_desc = PIN_DSC_NHET1_26 },
-       { .pin_name = DIO_PIN_NAME_NHET1_27, .pin_desc = PIN_DSC_NHET1_27 },
-       { .pin_name = DIO_PIN_NAME_NHET1_28, .pin_desc = PIN_DSC_NHET1_28 },
-       { .pin_name = DIO_PIN_NAME_NHET1_29, .pin_desc = PIN_DSC_NHET1_29 },
-       { .pin_name = DIO_PIN_NAME_NHET1_30, .pin_desc = PIN_DSC_NHET1_30 },
-       { .pin_name = DIO_PIN_NAME_NHET1_31, .pin_desc = PIN_DSC_NHET1_31 },
-       /* FIXME: add definitions of all unused pins DMM, HET2, SCI... */
-};
-
-// FIXME Upper layer dependency/coupling
-// Declared in drv/adc.h
-extern uint32_t adc_get_port_val(uint32_t *config, uint32_t num_channels, uint32_t *values);
-
-// Lists of pins assigned to the ports
-static uint32_t port_cfg_gioa[] = {
-               PIN_DSC_GIOA0, PIN_DSC_GIOA1, PIN_DSC_GIOA2, PIN_DSC_GIOA3,
-               PIN_DSC_GIOA4, PIN_DSC_GIOA5, PIN_DSC_GIOA6, PIN_DSC_GIOA7
-};
-static uint32_t port_cfg_giob[] = {
-               PIN_DSC_GIOB0, PIN_DSC_GIOB1, PIN_DSC_GIOB2, PIN_DSC_GIOB3,
-               PIN_DSC_GIOB4, PIN_DSC_GIOB5, PIN_DSC_GIOB6, PIN_DSC_GIOB7
-};
-static uint32_t port_cfg_nhet1[] = {
-               PIN_DSC_NHET1_0, PIN_DSC_NHET1_1, PIN_DSC_NHET1_2,
-               PIN_DSC_NHET1_3, PIN_DSC_NHET1_4, PIN_DSC_NHET1_5,
-               PIN_DSC_NHET1_7, PIN_DSC_NHET1_8, PIN_DSC_NHET1_9,
-               PIN_DSC_NHET1_10, PIN_DSC_NHET1_11, PIN_DSC_NHET1_12,
-               PIN_DSC_NHET1_14, PIN_DSC_NHET1_15, PIN_DSC_NHET1_16,
-               PIN_DSC_NHET1_17, PIN_DSC_NHET1_18, PIN_DSC_NHET1_19,
-               PIN_DSC_NHET1_20, PIN_DSC_NHET1_21, PIN_DSC_NHET1_22,
-               PIN_DSC_NHET1_23, PIN_DSC_NHET1_24, PIN_DSC_NHET1_25,
-               PIN_DSC_NHET1_26, PIN_DSC_NHET1_27, PIN_DSC_NHET1_28,
-               PIN_DSC_NHET1_29, PIN_DSC_NHET1_30, PIN_DSC_NHET1_31
-};
-static uint32_t port_cfg_adc[] = { (uint32_t)adcREG1, adcGROUP1, 1 };
-
-// Port descriptors
-static dio_port_desc_t port_desc_gioa = {
- .config = port_cfg_gioa,
- .numValues = 8,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_giob = {
- .config = port_cfg_giob,
- .numValues = 8,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_nhet1 = {
- .config = port_cfg_nhet1,
- .numValues = 30,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_adc = {
- .config = port_cfg_adc,
- .numValues = 16,
- .interfaceType = ADC,
- .port_getfnc_ptr = &adc_get_port_val,
- .port_setfnc_ptr = ((void *)0),
-};
-
-// Maps of port names to port descriptors
-dio_port_def_t dio_port_definition[DIO_PORT_CNT] = {
-       {.name = DIO_PORT_NAME_GIOA,      .desc = &port_desc_gioa},
-       {.name = DIO_PORT_NAME_GIOB,      .desc = &port_desc_giob},
-       {.name = DIO_PORT_NAME_NHET1,    .desc = &port_desc_nhet1},
-       {.name = DIO_PORT_NAME_ADC,      .desc = &port_desc_adc}
-};
diff --git a/rpp/src/drv/_tms570_hydctr/port_def.c b/rpp/src/drv/_tms570_hydctr/port_def.c
new file mode 100644 (file)
index 0000000..a5e8012
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#include "drv/port.h"
+#include "drv/gio_names.h"
+#include "drv/gio_tab.h"
+#include "drv/adc.h"
+
+// Lists of pins assigned to the ports
+static enum pin_name pins_gioa[] = {
+               PIN_GIOA0, PIN_GIOA1, PIN_GIOA2, PIN_GIOA3,
+               PIN_GIOA4, PIN_GIOA5, PIN_GIOA6, PIN_GIOA7
+};
+static enum pin_name pins_giob[] = {
+               PIN_GIOB0, PIN_GIOB1, PIN_GIOB2, PIN_GIOB3,
+               PIN_GIOB4, PIN_GIOB5, PIN_GIOB6, PIN_GIOB7
+};
+static enum pin_name pins_nhet1[] = {
+               PIN_NHET10, PIN_NHET11, PIN_NHET12,
+               PIN_NHET13, PIN_NHET14, PIN_NHET15,
+               PIN_NHET17, PIN_NHET18, PIN_NHET19,
+               PIN_NHET110, PIN_NHET111, PIN_NHET112,
+               PIN_NHET114, PIN_NHET115, PIN_NHET116,
+               PIN_NHET117, PIN_NHET118, PIN_NHET119,
+               PIN_NHET120, PIN_NHET121, PIN_NHET122,
+               PIN_NHET123, PIN_NHET124, PIN_NHET125,
+               PIN_NHET126, PIN_NHET127, PIN_NHET128,
+               PIN_NHET129, PIN_NHET130, PIN_NHET131
+};
+
+// Port descriptors
+const struct port_desc port_desc[] = {
+       [PORT_ID_GIOA] = {
+               .name = "GIOA",
+               .cfg = { .gioset = { .pins = pins_gioa } },
+               .numchn = ARRAY_SIZE(pins_gioa),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+       },
+       [PORT_ID_GIOB] = {
+               .name = "GIOB",
+               .cfg = { .gioset = { .pins = pins_giob } },
+               .numchn = ARRAY_SIZE(pins_giob),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+       },
+       [PORT_ID_NHET1] = {
+               .name = "NHET1",
+               .cfg = { .gioset = { .pins = pins_nhet1 } },
+               .numchn = ARRAY_SIZE(pins_nhet1),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+       },
+       [PORT_ID_ADC] = {
+               .name = "ADC",
+               .cfg = { .adc = { .reg = adcREG1, .group = adcGROUP1, .sem = 1 } },
+               .numchn = 16,
+               .bpch = 16,
+               .get = port_adc_get,
+               .set = NULL,
+       },
+};
diff --git a/rpp/src/drv/_tms570_rpp/digital_io_def.c b/rpp/src/drv/_tms570_rpp/digital_io_def.c
deleted file mode 100644 (file)
index 84524e8..0000000
+++ /dev/null
@@ -1,386 +0,0 @@
-/* Copyright (C) 2012-2013 Czech Technical University in Prague
- *
- * Authors:
- *     - Michal Horn <hornmich@fel.cvut.cz>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * Abstract:
- *         This file contains gpio pins definitions
- *
- *      On TMS570 MCU pins can operates as GIO on ports DMM, GIOA, GIOB,
- *      HET1 and HET2. Those pins, that are defined in this file, can be
- *      accessed directly as GPIO by hal_gpio_set_value and
- *      hal_gpio_get_value. Pin configuration can be modified by functions
- *      defined in hal_gpio_tms570 source and header files.
- *
- *      NOTE: Although the configuration functions are implemented and
- *      should be ready to use, they were only slightly tested and are not
- *      used by the RPP software yet.
- */
-
-#include "drv/_tms570_rpp/digital_io_def.h"
-#include "drv/digital_io.h"
-#include "drv/spi.h"
-#include "drv/_tms570_rpp/adc.h"
-
-
-#define PORT_PIN(p,n,conf)  (((p)<<DIO_PORT_SHIFT) | (n) | (conf))
-
-#define PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PU_PEN_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODON      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF     DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF     DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_OUT|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_HI_PU_PEN_ODON        DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_HIGH|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PU|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_ON
-#define PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF       DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PEN|DIO_PORT_CONF_OD_OFF
-#define PORT_CONF_GPIO_IN_LO_PU_PDIS_ODOFF      DIO_PORT_CONF_FNC_GPIO|DIO_PORT_CONF_INIT_LOW|DIO_PORT_CONF_DIR_IN|DIO_PORT_CONF_MODE_PD|DIO_PORT_CONF_MODE_PDIS|DIO_PORT_CONF_OD_OFF
-
-/* Pin definition generators */
-#define PIN_DSC_FANCTRL     PORT_PIN(DIO_PORT_ID_DMM, 0, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_ETHRST      PORT_PIN(DIO_PORT_ID_DMM, 1, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_VBAT1EN     PORT_PIN(DIO_PORT_ID_DMM, 2, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
-#define PIN_DSC_VBAT2EN     PORT_PIN(DIO_PORT_ID_DMM, 3, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
-#define PIN_DSC_VBAT3EN     PORT_PIN(DIO_PORT_ID_DMM, 4, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
-#define PIN_DSC_VBATEN      PORT_PIN(DIO_PORT_ID_DMM, 5, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_SPICSA      PORT_PIN(DIO_PORT_ID_DMM, 7, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_SPICSB      PORT_PIN(DIO_PORT_ID_DMM, 8, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_MOUT1EN     PORT_PIN(DIO_PORT_ID_DMM, 11, PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON)
-#define PIN_DSC_MOUT2EN     PORT_PIN(DIO_PORT_ID_DMM, 12, PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON)
-#define PIN_DSC_CANNSTB     PORT_PIN(DIO_PORT_ID_DMM, 13, PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF)
-#define PIN_DSC_CANEN       PORT_PIN(DIO_PORT_ID_DMM, 15, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_LIN2NSLP    PORT_PIN(DIO_PORT_ID_DMM, 16, PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF)
-#define PIN_DSC_LIN1NSLP    PORT_PIN(DIO_PORT_ID_DMM, 17, PORT_CONF_GPIO_OUT_HI_PD_PEN_ODOFF)
-#define PIN_DSC_DININT      PORT_PIN(DIO_PORT_ID_DMM, 18, PORT_CONF_GPIO_IN_LO_PD_PDIS_ODOFF)
-#define PIN_DSC_DIN8        PORT_PIN(DIO_PORT_ID_GIOA, 0, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_DIN9        PORT_PIN(DIO_PORT_ID_GIOA, 1, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_DIN10       PORT_PIN(DIO_PORT_ID_GIOA, 2, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_DIN11       PORT_PIN(DIO_PORT_ID_GIOA, 3, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_DIN12       PORT_PIN(DIO_PORT_ID_GIOA, 4, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_DIN13       PORT_PIN(DIO_PORT_ID_GIOA, 5, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_DIN14       PORT_PIN(DIO_PORT_ID_GIOA, 6, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_DIN15       PORT_PIN(DIO_PORT_ID_GIOA, 7, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_MOUT6EN     PORT_PIN(DIO_PORT_ID_GIOB, 0, PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON)
-#define PIN_DSC_MOUT5EN     PORT_PIN(DIO_PORT_ID_GIOB, 1, PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON)
-#define PIN_DSC_MOUT6IN     PORT_PIN(DIO_PORT_ID_GIOB, 2, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
-#define PIN_DSC_MOUT5IN     PORT_PIN(DIO_PORT_ID_GIOB, 3, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
-#define PIN_DSC_MOUT4EN     PORT_PIN(DIO_PORT_ID_GIOB, 4, PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON)
-#define PIN_DSC_MOUT3EN     PORT_PIN(DIO_PORT_ID_GIOB, 5, PORT_CONF_GPIO_IN_HI_PU_PDIS_ODON)
-#define PIN_DSC_MOUT4IN     PORT_PIN(DIO_PORT_ID_GIOB, 6, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
-#define PIN_DSC_MOUT3IN     PORT_PIN(DIO_PORT_ID_GIOB, 7, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
-#define PIN_DSC_HBREN       PORT_PIN(DIO_PORT_ID_HET1, 1, PORT_CONF_GPIO_OUT_LO_PU_PDIS_ODOFF)
-#define PIN_DSC_HBRDIR      PORT_PIN(DIO_PORT_ID_HET1, 4, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
-#define PIN_DSC_HBRPWM      PORT_PIN(DIO_PORT_ID_HET1, 7, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODON)
-#define PIN_DSC_MOUT1IN     PORT_PIN(DIO_PORT_ID_HET1, 9, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
-#define PIN_DSC_MOUT2IN     PORT_PIN(DIO_PORT_ID_HET1, 14, PORT_CONF_GPIO_OUT_LO_PD_PDIS_ODOFF)
-#define PIN_DSC_HOUT1IN     PORT_PIN(DIO_PORT_ID_HET1, 16, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT1DIAG   PORT_PIN(DIO_PORT_ID_HET1, 17, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT2IN     PORT_PIN(DIO_PORT_ID_HET1, 18, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT2DIAG   PORT_PIN(DIO_PORT_ID_HET1, 19, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT3IN     PORT_PIN(DIO_PORT_ID_HET1, 20, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT3DIAG   PORT_PIN(DIO_PORT_ID_HET1, 21, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT4IN     PORT_PIN(DIO_PORT_ID_HET1, 22, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT4DIAG   PORT_PIN(DIO_PORT_ID_HET1, 23, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT5IN     PORT_PIN(DIO_PORT_ID_HET1, 25, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT5DIAG   PORT_PIN(DIO_PORT_ID_HET1, 27, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT6IN     PORT_PIN(DIO_PORT_ID_HET1, 29, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HOUT6DIAG   PORT_PIN(DIO_PORT_ID_HET1, 31, PORT_CONF_GPIO_IN_LO_PD_PEN_ODOFF)
-#define PIN_DSC_DMM_UNUSED(b)   PORT_PIN(DIO_PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_GIOA_UNUSED(b)   PORT_PIN(DIO_PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_GIOB_UNUSED(b) PORT_PIN(DIO_PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HET1_UNUSED(b) PORT_PIN(DIO_PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-#define PIN_DSC_HET2_UNUSED(b) PORT_PIN(DIO_PORT_ID_HET2, b, PORT_CONF_GPIO_OUT_LO_PD_PEN_ODOFF)
-
-/**
- * Array of ports used as GPIO. Thanks to that array, we can
- * determine port just by index in pin_desc at 5th bit */
-gioPORT_t *dio_port_id_map[DIO_MAX_PORT_CNT] = {
-       (gioPORT_t *)dmmPORT,
-       (gioPORT_t *)gioPORTA,
-       (gioPORT_t *)gioPORTB,
-       (gioPORT_t *)hetPORT1,
-       (gioPORT_t *)hetPORT2
-};
-
-/**
- * Map of pin names to pin descriptors. Each pin can be then easily
- * found just by its name given as a string to hal_gpio_get_pin_dsc
- * function*/
-dio_pin_map_element_t dio_pin_map[DIO_MAX_PIN_CNT] = {
-       /* DMM pins */
-       { .pin_name = DIO_PIN_NAME_FANCTRL, .pin_desc = PIN_DSC_FANCTRL },
-       { .pin_name = DIO_PIN_NAME_ETHRST,  .pin_desc = PIN_DSC_ETHRST },
-       { .pin_name = DIO_PIN_NAME_VBAT1EN, .pin_desc = PIN_DSC_VBAT1EN },
-       { .pin_name = DIO_PIN_NAME_VBAT2EN, .pin_desc = PIN_DSC_VBAT2EN },
-       { .pin_name = DIO_PIN_NAME_VBAT3EN, .pin_desc = PIN_DSC_VBAT3EN },
-       { .pin_name = DIO_PIN_NAME_VBATEN,  .pin_desc = PIN_DSC_VBATEN },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_DMM_UNUSED(6) },
-       { .pin_name = DIO_PIN_NAME_SPICSA,  .pin_desc = PIN_DSC_SPICSA },
-       { .pin_name = DIO_PIN_NAME_SPICSB,  .pin_desc = PIN_DSC_SPICSB },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_DMM_UNUSED(9)},
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_DMM_UNUSED(10) },
-       { .pin_name = DIO_PIN_NAME_MOUT1EN, .pin_desc = PIN_DSC_MOUT1EN },
-       { .pin_name = DIO_PIN_NAME_MOUT2EN, .pin_desc = PIN_DSC_MOUT2EN },
-       { .pin_name = DIO_PIN_NAME_CANNSTB, .pin_desc = PIN_DSC_CANNSTB },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_DMM_UNUSED(14) },
-       { .pin_name = DIO_PIN_NAME_CANEN,   .pin_desc = PIN_DSC_CANEN },
-       { .pin_name = DIO_PIN_NAME_LIN2NSLP,.pin_desc = PIN_DSC_LIN2NSLP },
-       { .pin_name = DIO_PIN_NAME_LIN1NSLP,.pin_desc = PIN_DSC_LIN1NSLP },
-       { .pin_name = DIO_PIN_NAME_DININT,  .pin_desc = PIN_DSC_DININT },
-       /* GIOA pins */
-       { .pin_name = DIO_PIN_NAME_DIN8,    .pin_desc = PIN_DSC_DIN8 },
-       { .pin_name = DIO_PIN_NAME_DIN9,    .pin_desc = PIN_DSC_DIN9 },
-       { .pin_name = DIO_PIN_NAME_DIN10,   .pin_desc = PIN_DSC_DIN10 },
-       { .pin_name = DIO_PIN_NAME_DIN11,   .pin_desc = PIN_DSC_DIN11 },
-       { .pin_name = DIO_PIN_NAME_DIN12,   .pin_desc = PIN_DSC_DIN12 },
-       { .pin_name = DIO_PIN_NAME_DIN13,   .pin_desc = PIN_DSC_DIN13 },
-       { .pin_name = DIO_PIN_NAME_DIN14,   .pin_desc = PIN_DSC_DIN14 },
-       { .pin_name = DIO_PIN_NAME_DIN15,   .pin_desc = PIN_DSC_DIN15 },
-       /* GIOB pins */
-       { .pin_name = DIO_PIN_NAME_MOUT6EN, .pin_desc = PIN_DSC_MOUT6EN },
-       { .pin_name = DIO_PIN_NAME_MOUT5EN, .pin_desc = PIN_DSC_MOUT5EN },
-       { .pin_name = DIO_PIN_NAME_MOUT6IN, .pin_desc = PIN_DSC_MOUT6IN },
-       { .pin_name = DIO_PIN_NAME_MOUT5IN, .pin_desc = PIN_DSC_MOUT5IN },
-       { .pin_name = DIO_PIN_NAME_MOUT4EN, .pin_desc = PIN_DSC_MOUT4EN },
-       { .pin_name = DIO_PIN_NAME_MOUT3EN, .pin_desc = PIN_DSC_MOUT3EN },
-       { .pin_name = DIO_PIN_NAME_MOUT4IN, .pin_desc = PIN_DSC_MOUT4IN },
-       { .pin_name = DIO_PIN_NAME_MOUT3IN, .pin_desc = PIN_DSC_MOUT3IN },
-       /* HET1 pins */
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(0) },
-       { .pin_name = DIO_PIN_NAME_HBREN,    .pin_desc = PIN_DSC_HBREN },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(2) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(3) },
-       { .pin_name = DIO_PIN_NAME_HBRDIR,   .pin_desc = PIN_DSC_HBRDIR },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(5) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(6) },
-       { .pin_name = DIO_PIN_NAME_HBRPWM,   .pin_desc = PIN_DSC_HBRPWM },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(8) },
-       { .pin_name = DIO_PIN_NAME_MOUT1IN,  .pin_desc = PIN_DSC_MOUT1IN },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(10) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(11) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(12) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(13) },
-       { .pin_name = DIO_PIN_NAME_MOUT2IN,  .pin_desc = PIN_DSC_MOUT2IN },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(15) },
-       { .pin_name = DIO_PIN_NAME_HOUT1IN,  .pin_desc = PIN_DSC_HOUT1IN },
-       { .pin_name = DIO_PIN_NAME_HOUT1DIAG,.pin_desc = PIN_DSC_HOUT1DIAG },
-       { .pin_name = DIO_PIN_NAME_HOUT2IN,  .pin_desc = PIN_DSC_HOUT2IN },
-       { .pin_name = DIO_PIN_NAME_HOUT2DIAG,.pin_desc = PIN_DSC_HOUT2DIAG },
-       { .pin_name = DIO_PIN_NAME_HOUT3IN,  .pin_desc = PIN_DSC_HOUT3IN },
-       { .pin_name = DIO_PIN_NAME_HOUT3DIAG,.pin_desc = PIN_DSC_HOUT3DIAG },
-       { .pin_name = DIO_PIN_NAME_HOUT4IN,  .pin_desc = PIN_DSC_HOUT4IN },
-       { .pin_name = DIO_PIN_NAME_HOUT4DIAG,.pin_desc = PIN_DSC_HOUT4DIAG },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(22) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(23) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(24) },
-       { .pin_name = DIO_PIN_NAME_HOUT5IN,  .pin_desc = PIN_DSC_HOUT5IN },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(26) },
-       { .pin_name = DIO_PIN_NAME_HOUT5DIAG,.pin_desc = PIN_DSC_HOUT5DIAG },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(28) },
-       { .pin_name = DIO_PIN_NAME_HOUT6IN,  .pin_desc = PIN_DSC_HOUT6IN },
-       { .pin_name = DIO_PIN_NAME_UNUSED,   .pin_desc = PIN_DSC_HET1_UNUSED(30) },
-       { .pin_name = DIO_PIN_NAME_HOUT6DIAG,.pin_desc = PIN_DSC_HOUT6DIAG },
-       /* HET2 pins */
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(0) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(1) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(2) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(3) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(4) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(5) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(6) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(7) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(8) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(9) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(10) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(11) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(12) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(13) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(14) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(15) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(16) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(17) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(18) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(19) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(20) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(21) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(22) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(23) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(24) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(25) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(26) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(27) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(28) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(29) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(30) },
-       { .pin_name = DIO_PIN_NAME_UNUSED,  .pin_desc = PIN_DSC_HET2_UNUSED(31) }
-};
-
-// FIXME Upper layer dependency/coupling
-// Declared in drv/adc.h
-extern uint32_t adc_get_port_val(uint32_t *config, uint32_t num_channels, uint32_t *values);
-
-
-// Lists of pins assigned to the ports
-static uint32_t 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
-};
-static uint32_t port_cfg_dinspi[] = { 1, 0 };
-static uint32_t port_cfg_houtdiag[] = {
-               PIN_DSC_HOUT1DIAG, PIN_DSC_HOUT2DIAG, PIN_DSC_HOUT3DIAG,
-               PIN_DSC_HOUT4DIAG, PIN_DSC_HOUT5DIAG, PIN_DSC_HOUT6DIAG
-};
-static uint32_t port_cfg_houtin[] = {
-               PIN_DSC_HOUT1IN, PIN_DSC_HOUT2IN, PIN_DSC_HOUT3IN,
-               PIN_DSC_HOUT4IN, PIN_DSC_HOUT5IN, PIN_DSC_HOUT6IN
-};
-static uint32_t port_cfg_houtifbk[] = { (uint32_t)adcREG2, adcGROUP1, 0 };
-static uint32_t port_cfg_adc[] = { (uint32_t)adcREG1, adcGROUP1, 1 };
-static uint32_t port_cfg_lout[] = { 1, 1 };
-static uint32_t port_cfg_dac1_2[] = { 3, 0 };
-static uint32_t port_cfg_dac3_4[] = { 3, 1 };
-static uint32_t port_cfg_dacdref[] = { 3, 2 };
-static uint32_t port_cfg_hbr[] = { 4, 0 };
-static uint32_t port_cfg_fray1[] = { 4, 1 };
-static uint32_t port_cfg_fray2[] = { 4, 2 };
-static uint32_t port_cfg_mouten[] = {
-               PIN_DSC_MOUT1EN, PIN_DSC_MOUT2EN, PIN_DSC_MOUT3EN,
-               PIN_DSC_MOUT4EN, PIN_DSC_MOUT5EN, PIN_DSC_MOUT6EN
-};
-static uint32_t port_cfg_moutin[] = {
-               PIN_DSC_MOUT1IN, PIN_DSC_MOUT2IN, PIN_DSC_MOUT3IN,
-               PIN_DSC_MOUT4IN, PIN_DSC_MOUT5IN, PIN_DSC_MOUT6IN
-};
-
-// Port descriptors
-static dio_port_desc_t port_desc_dinmcu = {
- .config = port_cfg_dinmcu,
- .numValues = 8,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = ((void *)0),
-};
-static dio_port_desc_t port_desc_dinspi = {
- .config = port_cfg_dinspi,
- .numValues = 3,
- .interfaceType = SPI,
- .port_getfnc_ptr = ((void *)0),
- .port_setfnc_ptr = &dio_spi_port_transfer_command,
-};
-static dio_port_desc_t port_desc_houtdiag = {
- .config = port_cfg_houtdiag,
- .numValues = 6,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = ((void *)0),
-};
-static dio_port_desc_t port_desc_houtin = {
- .config = port_cfg_houtin,
- .numValues = 6,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-static dio_port_desc_t port_desc_houtifbk = {
- .config = port_cfg_houtifbk,
- .numValues = 6,
- .interfaceType = ADC,
- .port_getfnc_ptr = &adc_get_port_val,
- .port_setfnc_ptr = ((void *)0),
-};
-static dio_port_desc_t port_desc_adc = {
- .config = port_cfg_adc,
- .numValues = 12,
- .interfaceType = ADC,
- .port_getfnc_ptr = &adc_get_port_val,
- .port_setfnc_ptr = ((void *)0),
-};
-static dio_port_desc_t port_desc_lout = {
- .config = port_cfg_lout,
- .numValues = 4,
- .interfaceType = SPI,
- .port_getfnc_ptr = ((void *)0),
- .port_setfnc_ptr = &dio_spi_port_transfer_command,
-};
-static dio_port_desc_t port_desc_dac1_2 = {
- .config = port_cfg_dac1_2,
- .numValues = 2,
- .interfaceType = SPI,
- .port_getfnc_ptr = ((void *)0),
- .port_setfnc_ptr = &dio_spi_port_transfer_command,
-};
-static dio_port_desc_t port_desc_dac3_4 = {
- .config = port_cfg_dac3_4,
- .numValues = 2,
- .interfaceType = SPI,
- .port_getfnc_ptr = ((void *)0),
- .port_setfnc_ptr = &dio_spi_port_transfer_command,
-};
-static dio_port_desc_t port_desc_dacdref = {
- .config = port_cfg_dacdref,
- .numValues = 2,
- .interfaceType = SPI,
- .port_getfnc_ptr = ((void *)0),
- .port_setfnc_ptr = &dio_spi_port_transfer_command,
-};
-static dio_port_desc_t port_desc_hbr = {
- .config = port_cfg_hbr,
- .numValues = 2,
- .interfaceType = SPI,
- .port_getfnc_ptr = ((void *)0),
- .port_setfnc_ptr = &dio_spi_port_transfer_command,
-};
-static dio_port_desc_t port_desc_fray1 = {
- .config = port_cfg_fray1,
- .numValues = 2,
- .interfaceType = SPI,
- .port_getfnc_ptr = ((void *)0),
- .port_setfnc_ptr = &dio_spi_port_transfer_command,
-};
-static dio_port_desc_t port_desc_fray2 = {
- .config = port_cfg_fray2,
- .numValues = 2,
- .interfaceType = SPI,
- .port_getfnc_ptr = ((void *)0),
- .port_setfnc_ptr = &dio_spi_port_transfer_command,
-};
-static dio_port_desc_t port_desc_mouten = {
- .config = port_cfg_mouten,
- .numValues = 6,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = ((void *)0),
-};
-static dio_port_desc_t port_desc_moutin = {
- .config = port_cfg_moutin,
- .numValues = 6,
- .interfaceType = GPIO,
- .port_getfnc_ptr = &dio_gpio_port_get_val,
- .port_setfnc_ptr = &dio_gpio_port_set_val,
-};
-
-// Maps of port names to port descriptors
-dio_port_def_t dio_port_definition[DIO_PORT_CNT] = {
-       {.name = DIO_PORT_NAME_DINMCU,      .desc = &port_desc_dinmcu},
-       {.name = DIO_PORT_NAME_DINSPI,      .desc = &port_desc_dinspi},
-       {.name = DIO_PORT_NAME_HOUTDIAG,    .desc = &port_desc_houtdiag},
-       {.name = DIO_PORT_NAME_HOUTIN,      .desc = &port_desc_houtin},
-       {.name = DIO_PORT_NAME_HOUTIFBK,    .desc = &port_desc_houtifbk},
-       {.name = DIO_PORT_NAME_ADC,         .desc = &port_desc_adc},
-       {.name = DIO_PORT_NAME_LOUT,        .desc = &port_desc_lout},
-       {.name = DIO_PORT_NAME_DAC1_2,      .desc = &port_desc_dac1_2},
-       {.name = DIO_PORT_NAME_DAC3_4,      .desc = &port_desc_dac3_4},
-       {.name = DIO_PORT_NAME_DACDREF,     .desc = &port_desc_dacdref},
-       {.name = DIO_PORT_NAME_HBR,         .desc = &port_desc_hbr},
-       {.name = DIO_PORT_NAME_FRAY1,       .desc = &port_desc_fray1},
-       {.name = DIO_PORT_NAME_FRAY2,       .desc = &port_desc_fray2},
-       {.name = DIO_PORT_NAME_MOUTEN,      .desc = &port_desc_mouten},
-       {.name = DIO_PORT_NAME_MOUTIN,      .desc = &port_desc_moutin}
-};
diff --git a/rpp/src/drv/_tms570_rpp/port_def.c b/rpp/src/drv/_tms570_rpp/port_def.c
new file mode 100644 (file)
index 0000000..8a14ede
--- /dev/null
@@ -0,0 +1,164 @@
+/*
+ * Copyright (C) 2015 Czech Technical University in Prague
+ *
+ * Authors:
+ *     - Michal Horn <hornmich@fel.cvut.cz>
+ *     - Michal Sojka <sojkam1@fel.cvut.cz>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ */
+
+#include "drv/port.h"
+#include "drv/gio_names.h"
+#include "drv/gio_tab.h"
+#include "drv/spi.h"
+#include "drv/spi_tms570.h"
+#include "drv/adc.h"
+
+// Lists of pins assigned to the gio ports
+static enum pin_name pins_dinmcu[] = {
+               PIN_DIN8, PIN_DIN9, PIN_DIN10, PIN_DIN11,
+               PIN_DIN12, PIN_DIN13, PIN_DIN14, PIN_DIN15
+};
+static enum pin_name pins_houtin[] = {
+               PIN_HOUT1IN, PIN_HOUT2IN, PIN_HOUT3IN,
+               PIN_HOUT4IN, PIN_HOUT5IN, PIN_HOUT6IN
+};
+static enum pin_name pins_houtdiag[] = {
+               PIN_HOUT1DIAG, PIN_HOUT2DIAG, PIN_HOUT3DIAG,
+               PIN_HOUT4DIAG, PIN_HOUT5DIAG, PIN_HOUT6DIAG
+};
+static enum pin_name pins_mouten[] = {
+               PIN_MOUT1EN, PIN_MOUT2EN, PIN_MOUT3EN,
+               PIN_MOUT4EN, PIN_MOUT5EN, PIN_MOUT6EN
+};
+static enum pin_name pins_moutin[] = {
+               PIN_MOUT1IN, PIN_MOUT2IN, PIN_MOUT3IN,
+               PIN_MOUT4IN, PIN_MOUT5IN, PIN_MOUT6IN
+};
+
+const struct port_desc port_desc[] = {
+       [PORT_ID_DINMCU] = {
+               .name = "DINMCU",
+               .numchn = ARRAY_SIZE(pins_dinmcu),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = NULL,
+               .cfg = { .gioset = { .pins = pins_dinmcu } },
+       },
+       [PORT_ID_DINSPI] = {
+               .name = "DINSPI",
+               .numchn = 1,
+               .bpch = 24,
+               .set = port_spi_set,
+               .cfg = { .spi = { .ifc = 1, .cs = 0 } },
+       },
+       [PORT_ID_HOUTDIAG] = {
+               .name = "HOUTDIAG",
+               .numchn = ARRAY_SIZE(pins_houtdiag),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = NULL,
+               .cfg = { .gioset = { .pins = pins_houtdiag } },
+       },
+       [PORT_ID_HOUTIN] = {
+               .name = "HOUTIN",
+               .numchn = ARRAY_SIZE(pins_houtin),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+               .cfg = { .gioset = { .pins = pins_houtin } },
+       },
+       [PORT_ID_HOUTIFBK] = {
+               .name = "HOUTIFBK",
+               .numchn = 6,
+               .bpch = 16,
+               .get = port_adc_get,
+               .set = NULL,
+               .cfg = { .adc = { .reg = adcREG2, .group = adcGROUP1, .sem = 0 } },
+       },
+       [PORT_ID_ADC] = {
+               .name = "ADC",
+               .numchn = 12,
+               .bpch = 16,
+               .get = port_adc_get,
+               .set = NULL,
+               .cfg = { .adc = { .reg = adcREG1, .group = adcGROUP1, .sem = 1 } },
+       },
+       [PORT_ID_LOUT] = {
+               .name = "LOUT",
+               .numchn = 1,
+               .bpch = 32,
+               .get = NULL,
+               .set = port_spi_set,
+               .cfg = { .spi = { .ifc = 1, .cs = 1 }, },
+       },
+       [PORT_ID_DAC1_2] = {
+               .name = "DAC12",
+               .numchn = 1,
+               .bpch = 16,
+               .get = NULL,
+               .set = port_spi_set,
+               .cfg = { .spi = { .ifc = 3, .cs = 0 }, },
+       },
+       [PORT_ID_DAC3_4] = {
+               .name = "DAC34",
+               .numchn = 1,
+               .bpch = 16,
+               .get = NULL,
+               .set = port_spi_set,
+               .cfg = { .spi = { .ifc = 3, .cs = 1 }, },
+       },
+       [PORT_ID_DACDREF] = {
+               .name = "DACDREF",              /* Reference voltage for DIN */
+               .numchn = 1,
+               .bpch = 16,
+               .get = NULL,
+               .set = port_spi_set,
+               .cfg = { .spi = { .ifc = 3, .cs = 2 }, },
+       },
+       [PORT_ID_HBR] = {
+               .name = "HBR",
+               .numchn = 1,
+               .bpch = 16,
+               .get = NULL,
+               .set = port_spi_set,
+               .cfg = { .spi = { .ifc = 4, .cs = 0 }, },
+       },
+       [PORT_ID_FRAY1] = {
+               .name = "FRAY1",
+               .numchn = 1,
+               .bpch = 16,
+               .get = NULL,
+               .set = port_spi_set,
+               .cfg = { .spi = { .ifc = 4, .cs = 1 }, },
+       },
+       [PORT_ID_FRAY2] = {
+               .name = "FRAY2",
+               .numchn = 1,
+               .bpch = 16,
+               .get = NULL,
+               .set = port_spi_set,
+               .cfg = { .spi = { .ifc = 4, .cs = 2 }, },
+       },
+       [PORT_ID_MOUTEN] = {
+               .name = "MOUTEN",
+               .numchn = ARRAY_SIZE(pins_mouten),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = NULL,
+               .cfg = { .gioset = { .pins = pins_mouten } },
+       },
+       [PORT_ID_MOUTIN] = {
+               .name = "MOUTIN",
+               .numchn = ARRAY_SIZE(pins_moutin),
+               .bpch = 1,
+               .get = port_gioset_get,
+               .set = port_gioset_set,
+               .cfg = { .gioset = { .pins = pins_moutin } },
+       }
+};