summaryrefslogtreecommitdiffstats
path: root/bsps/sh/gensh2/include/sh/io_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/sh/gensh2/include/sh/io_types.h')
-rw-r--r--bsps/sh/gensh2/include/sh/io_types.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/bsps/sh/gensh2/include/sh/io_types.h b/bsps/sh/gensh2/include/sh/io_types.h
new file mode 100644
index 0000000000..1dab885672
--- /dev/null
+++ b/bsps/sh/gensh2/include/sh/io_types.h
@@ -0,0 +1,84 @@
+/************************************************************************
+ *
+ * Data types and constants for Hitachi SH704X on-chip peripherals
+ *
+ * Author: John M.Mills (jmills@tga.com)
+ *
+ * COPYRIGHT (c) 1999, TGA Technologies, Norcross, GA, USA
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * This file may be distributed as part of the RTEMS software item.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ *
+ * John M. Mills (jmills@tga.com)
+ * TGA Technologies, Inc.
+ * 100 Pinnacle Way, Suite 140
+ * Norcross, GA 30071 U.S.A.
+ *
+ * This modified file may be copied and distributed in accordance
+ * the above-referenced license. It is provided for critique and
+ * developmental purposes without any warranty nor representation
+ * by the authors or by TGA Technologies.
+ *
+ *
+ ************************************************************************/
+
+#ifndef _sh_io_types_h
+#define _sh_io_types_h
+
+#include <rtems/score/iosh7045.h>
+#include <termios.h>
+
+typedef enum {SCI0, SCI1} portNo;
+typedef enum {eight, seven} dataBits;
+typedef enum {one, two} stopBits;
+typedef enum {even, odd} parity;
+
+typedef struct {
+ portNo line;
+ int speed_ix;
+ dataBits dBits;
+ int parEn;
+ parity par;
+ int mulPro;
+ stopBits sBits;
+} sci_setup_t;
+
+typedef union{
+ unsigned char Reg; /* By Register */
+ struct { /* By Field */
+ unsigned char Sync :1; /* Async/Sync */
+ unsigned char DBts :1; /* Char.Length */
+ unsigned char ParEn :1; /* Parity En.*/
+ unsigned char Odd :1; /* Even/Odd */
+ unsigned char SBts :1; /* No.Stop Bits */
+ unsigned char MulP :1; /* Multi-Proc. */
+ unsigned char Dvsr :2; /* Clock Sel. */
+ } Fld;
+} sci_smr_t;
+
+typedef union {
+ unsigned char Reg; /* By Register */
+ struct { /* By Field */
+ unsigned char TIE :1; /* Tx.Int.En. */
+ unsigned char RIE :1; /* Rx.Int.En. */
+ unsigned char TE :1; /* Tx.En. */
+ unsigned char RE :1; /* Rx.En. */
+ unsigned char MPIE:1; /* Mult.Pro.Int.En. */
+ unsigned char TEIE:1; /* Tx.End Int.En. */
+ unsigned char CkSrc :2; /* Clock Src. */
+ } Fld;
+} sci_scr_t;
+
+typedef struct {
+ unsigned char n ;
+ unsigned char N ;
+} sci_bitrate_t;
+
+#endif /* _sh_io_types_h */