54 lines
1.3 KiB
C
54 lines
1.3 KiB
C
/*
|
|
* SPDX-License-Identifier: MIT
|
|
* Copyright (C) 2004 - 2021 AJA Video Systems, Inc.
|
|
*/
|
|
///////////////////////////////////////////////////////////////
|
|
//
|
|
// NTV2 Linux v2.6 Device Driver for AJA devices.
|
|
//
|
|
////////////////////////////////////////////////////////////
|
|
//
|
|
// Filename: ntv2serial.h
|
|
// Purpose: Serial port control header.
|
|
//
|
|
///////////////////////////////////////////////////////////////
|
|
|
|
#ifndef NTV2SERIAL_HEADER
|
|
#define NTV2SERIAL_HEADER
|
|
|
|
#include "ntv2system.h"
|
|
|
|
#define NTV2_TTY_NAME "ttyNTV"
|
|
|
|
struct ntv2_serial {
|
|
int index;
|
|
char name[80];
|
|
Ntv2SystemContext* system_context;
|
|
Ntv2Register uart_reg;
|
|
Ntv2Register route_reg;
|
|
u32 route_mask;
|
|
|
|
bool uart_enable;
|
|
spinlock_t state_lock;
|
|
|
|
struct uart_port uart_port;
|
|
bool busy;
|
|
};
|
|
|
|
struct ntv2_serial *ntv2_serial_open(Ntv2SystemContext* sys_con,
|
|
const char *name, int index);
|
|
void ntv2_serial_close(struct ntv2_serial *ntv2_ser);
|
|
|
|
int ntv2_serial_configure(struct ntv2_serial *ntv2_ser,
|
|
Ntv2Register uart_reg,
|
|
Ntv2Register route_reg,
|
|
u32 route_mask);
|
|
|
|
int ntv2_serial_enable(struct ntv2_serial *ntv2_ser);
|
|
int ntv2_serial_disable(struct ntv2_serial *ntv2_ser);
|
|
bool ntv2_serial_active(struct ntv2_serial *ntv2_ser);
|
|
|
|
int ntv2_serial_interrupt(struct ntv2_serial *ntv2_ser);
|
|
|
|
#endif
|