forked from Imagelibrary/rtems
Initial incarnation of libchip compiles.
This commit is contained in:
@@ -15,12 +15,8 @@ C_PIECES=ns16550 z85c30
|
|||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
H_FILES=$(srcdir)/libcsupport.h
|
INSTALLED_H_FILES=$(srcdir)/ns16550.h $(srcdir)/z85c30.h \
|
||||||
SYS_H_FILES=
|
$(srcdir)/serial.h
|
||||||
RTEMS_H_FILES=$(srcdir)/libio.h
|
|
||||||
PRIVATE_H_FILES=$(srcdir)/internal.h
|
|
||||||
|
|
||||||
INSTALLED_H_FILES=$(srcdir)/ns16550.h $(srcdir)/z8530.h
|
|
||||||
SRCS=$(C_FILES) $(H_FILES) $(SYS_H_FILES) $(RTEMS_H_FILES) $(PRIVATE_H_FILES)
|
SRCS=$(C_FILES) $(H_FILES) $(SYS_H_FILES) $(RTEMS_H_FILES) $(PRIVATE_H_FILES)
|
||||||
OBJS=$(C_O_FILES)
|
OBJS=$(C_O_FILES)
|
||||||
|
|
||||||
@@ -54,6 +50,6 @@ $(LIB): $(SRCS) ${OBJS}
|
|||||||
# Install the library, appending _g or _p as appropriate.
|
# Install the library, appending _g or _p as appropriate.
|
||||||
# for include files, just use $(INSTALL)
|
# for include files, just use $(INSTALL)
|
||||||
preinstall:
|
preinstall:
|
||||||
$(INSTALL) -m 444 $(H_FILES) $(PROJECT_INCLUDE)/libchip
|
$(INSTALL) -m 444 $(INSTALLED_H_FILES) $(PROJECT_INCLUDE)/libchip
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,9 @@
|
|||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include <rtems/libio.h>
|
#include <rtems/libio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <ringbuf.h>
|
||||||
|
|
||||||
#include "console.h"
|
#include <libchip/serial.h>
|
||||||
#include "ns16550_p.h"
|
#include "ns16550_p.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
78
c/src/lib/libchip/serial/serial.h
Normal file
78
c/src/lib/libchip/serial/serial.h
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
/*
|
||||||
|
* This file contains the TTY driver table definition
|
||||||
|
*
|
||||||
|
* This driver uses the termios pseudo driver.
|
||||||
|
*
|
||||||
|
* COPYRIGHT (c) 1998 by Radstone Technology
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* THIS FILE IS PROVIDED TO YOU, THE USER, "AS IS", WITHOUT WARRANTY OF ANY
|
||||||
|
* KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK
|
||||||
|
* AS TO THE QUALITY AND PERFORMANCE OF ALL CODE IN THIS FILE IS WITH YOU.
|
||||||
|
*
|
||||||
|
* You are hereby granted permission to use, copy, modify, and distribute
|
||||||
|
* this file, provided that this notice, plus the above copyright notice
|
||||||
|
* and disclaimer, appears in all copies. Radstone Technology will provide
|
||||||
|
* no support for this code.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __LIBCHIP_SERIAL_h
|
||||||
|
#define __LIBCHIP_SERIAL_h
|
||||||
|
|
||||||
|
#include <ringbuf.h>
|
||||||
|
|
||||||
|
typedef struct _console_fns {
|
||||||
|
boolean (*deviceProbe)(int minor);
|
||||||
|
int (*deviceFirstOpen)(int major, int minor, void *arg);
|
||||||
|
int (*deviceLastClose)(int major, int minor, void *arg);
|
||||||
|
int (*deviceRead)(int minor);
|
||||||
|
int (*deviceWrite)(int minor, const char *buf, int len);
|
||||||
|
void (*deviceInitialize)(int minor);
|
||||||
|
void (*deviceWritePolled)(int minor, char cChar);
|
||||||
|
int deviceOutputUsesInterrupts;
|
||||||
|
} console_fns;
|
||||||
|
|
||||||
|
typedef struct _console_flow {
|
||||||
|
int (*deviceStopRemoteTx)(int minor);
|
||||||
|
int (*deviceStartRemoteTx)(int minor);
|
||||||
|
} console_flow;
|
||||||
|
|
||||||
|
typedef struct _console_tbl {
|
||||||
|
char *sDeviceName;
|
||||||
|
console_fns *pDeviceFns;
|
||||||
|
boolean (*deviceProbe)(int minor);
|
||||||
|
console_flow *pDeviceFlow;
|
||||||
|
unsigned32 ulMargin;
|
||||||
|
unsigned32 ulHysteresis;
|
||||||
|
void *pDeviceParams;
|
||||||
|
unsigned32 ulCtrlPort1;
|
||||||
|
unsigned32 ulCtrlPort2;
|
||||||
|
unsigned32 ulDataPort;
|
||||||
|
unsigned8 (*getRegister)(unsigned32 port, unsigned8 register);
|
||||||
|
void (*setRegister)(
|
||||||
|
unsigned32 port, unsigned8 reg, unsigned8 value);
|
||||||
|
unsigned8 (*getData)(unsigned32 port);
|
||||||
|
void (*setData)(unsigned32 port, unsigned8 value);
|
||||||
|
unsigned32 ulClock;
|
||||||
|
unsigned int ulIntVector;
|
||||||
|
} console_tbl;
|
||||||
|
|
||||||
|
typedef struct _console_data {
|
||||||
|
void *termios_data;
|
||||||
|
volatile boolean bActive;
|
||||||
|
volatile Ring_buffer_t TxBuffer;
|
||||||
|
/*
|
||||||
|
* This field may be used for any purpose required by the driver
|
||||||
|
*/
|
||||||
|
void *pDeviceContext;
|
||||||
|
} console_data;
|
||||||
|
|
||||||
|
extern console_tbl Console_Port_Tbl[];
|
||||||
|
extern console_data Console_Port_Data[];
|
||||||
|
extern unsigned long Console_Port_Count;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
/* end of include file */
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
#include <rtems/libio.h>
|
#include <rtems/libio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "console.h"
|
#include <libchip/serial.h>
|
||||||
#include "z85c30_p.h"
|
#include "z85c30_p.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -15,12 +15,8 @@ C_PIECES=ns16550 z85c30
|
|||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
H_FILES=$(srcdir)/libcsupport.h
|
INSTALLED_H_FILES=$(srcdir)/ns16550.h $(srcdir)/z85c30.h \
|
||||||
SYS_H_FILES=
|
$(srcdir)/serial.h
|
||||||
RTEMS_H_FILES=$(srcdir)/libio.h
|
|
||||||
PRIVATE_H_FILES=$(srcdir)/internal.h
|
|
||||||
|
|
||||||
INSTALLED_H_FILES=$(srcdir)/ns16550.h $(srcdir)/z8530.h
|
|
||||||
SRCS=$(C_FILES) $(H_FILES) $(SYS_H_FILES) $(RTEMS_H_FILES) $(PRIVATE_H_FILES)
|
SRCS=$(C_FILES) $(H_FILES) $(SYS_H_FILES) $(RTEMS_H_FILES) $(PRIVATE_H_FILES)
|
||||||
OBJS=$(C_O_FILES)
|
OBJS=$(C_O_FILES)
|
||||||
|
|
||||||
@@ -54,6 +50,6 @@ $(LIB): $(SRCS) ${OBJS}
|
|||||||
# Install the library, appending _g or _p as appropriate.
|
# Install the library, appending _g or _p as appropriate.
|
||||||
# for include files, just use $(INSTALL)
|
# for include files, just use $(INSTALL)
|
||||||
preinstall:
|
preinstall:
|
||||||
$(INSTALL) -m 444 $(H_FILES) $(PROJECT_INCLUDE)/libchip
|
$(INSTALL) -m 444 $(INSTALLED_H_FILES) $(PROJECT_INCLUDE)/libchip
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,9 @@
|
|||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include <rtems/libio.h>
|
#include <rtems/libio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <ringbuf.h>
|
||||||
|
|
||||||
#include "console.h"
|
#include <libchip/serial.h>
|
||||||
#include "ns16550_p.h"
|
#include "ns16550_p.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
78
c/src/libchip/serial/serial.h
Normal file
78
c/src/libchip/serial/serial.h
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
/*
|
||||||
|
* This file contains the TTY driver table definition
|
||||||
|
*
|
||||||
|
* This driver uses the termios pseudo driver.
|
||||||
|
*
|
||||||
|
* COPYRIGHT (c) 1998 by Radstone Technology
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* THIS FILE IS PROVIDED TO YOU, THE USER, "AS IS", WITHOUT WARRANTY OF ANY
|
||||||
|
* KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK
|
||||||
|
* AS TO THE QUALITY AND PERFORMANCE OF ALL CODE IN THIS FILE IS WITH YOU.
|
||||||
|
*
|
||||||
|
* You are hereby granted permission to use, copy, modify, and distribute
|
||||||
|
* this file, provided that this notice, plus the above copyright notice
|
||||||
|
* and disclaimer, appears in all copies. Radstone Technology will provide
|
||||||
|
* no support for this code.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __LIBCHIP_SERIAL_h
|
||||||
|
#define __LIBCHIP_SERIAL_h
|
||||||
|
|
||||||
|
#include <ringbuf.h>
|
||||||
|
|
||||||
|
typedef struct _console_fns {
|
||||||
|
boolean (*deviceProbe)(int minor);
|
||||||
|
int (*deviceFirstOpen)(int major, int minor, void *arg);
|
||||||
|
int (*deviceLastClose)(int major, int minor, void *arg);
|
||||||
|
int (*deviceRead)(int minor);
|
||||||
|
int (*deviceWrite)(int minor, const char *buf, int len);
|
||||||
|
void (*deviceInitialize)(int minor);
|
||||||
|
void (*deviceWritePolled)(int minor, char cChar);
|
||||||
|
int deviceOutputUsesInterrupts;
|
||||||
|
} console_fns;
|
||||||
|
|
||||||
|
typedef struct _console_flow {
|
||||||
|
int (*deviceStopRemoteTx)(int minor);
|
||||||
|
int (*deviceStartRemoteTx)(int minor);
|
||||||
|
} console_flow;
|
||||||
|
|
||||||
|
typedef struct _console_tbl {
|
||||||
|
char *sDeviceName;
|
||||||
|
console_fns *pDeviceFns;
|
||||||
|
boolean (*deviceProbe)(int minor);
|
||||||
|
console_flow *pDeviceFlow;
|
||||||
|
unsigned32 ulMargin;
|
||||||
|
unsigned32 ulHysteresis;
|
||||||
|
void *pDeviceParams;
|
||||||
|
unsigned32 ulCtrlPort1;
|
||||||
|
unsigned32 ulCtrlPort2;
|
||||||
|
unsigned32 ulDataPort;
|
||||||
|
unsigned8 (*getRegister)(unsigned32 port, unsigned8 register);
|
||||||
|
void (*setRegister)(
|
||||||
|
unsigned32 port, unsigned8 reg, unsigned8 value);
|
||||||
|
unsigned8 (*getData)(unsigned32 port);
|
||||||
|
void (*setData)(unsigned32 port, unsigned8 value);
|
||||||
|
unsigned32 ulClock;
|
||||||
|
unsigned int ulIntVector;
|
||||||
|
} console_tbl;
|
||||||
|
|
||||||
|
typedef struct _console_data {
|
||||||
|
void *termios_data;
|
||||||
|
volatile boolean bActive;
|
||||||
|
volatile Ring_buffer_t TxBuffer;
|
||||||
|
/*
|
||||||
|
* This field may be used for any purpose required by the driver
|
||||||
|
*/
|
||||||
|
void *pDeviceContext;
|
||||||
|
} console_data;
|
||||||
|
|
||||||
|
extern console_tbl Console_Port_Tbl[];
|
||||||
|
extern console_data Console_Port_Data[];
|
||||||
|
extern unsigned long Console_Port_Count;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
/* end of include file */
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
#include <rtems/libio.h>
|
#include <rtems/libio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "console.h"
|
#include <libchip/serial.h>
|
||||||
#include "z85c30_p.h"
|
#include "z85c30_p.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user