yam.h (2230B)
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/*****************************************************************************/ 3 4/* 5 * yam.h -- YAM radio modem driver. 6 * 7 * Copyright (C) 1998 Frederic Rible F1OAT (frible@teaser.fr) 8 * Adapted from baycom.c driver written by Thomas Sailer (sailer@ife.ee.ethz.ch) 9 * 10 * Please note that the GPL allows you to use the driver, NOT the radio. 11 * In order to use the radio, you need a license from the communications 12 * authority of your country. 13 */ 14 15/*****************************************************************************/ 16 17#define SIOCYAMRESERVED (0) 18#define SIOCYAMSCFG (1) /* Set configuration */ 19#define SIOCYAMGCFG (2) /* Get configuration */ 20#define SIOCYAMSMCS (3) /* Set mcs data */ 21 22#define YAM_IOBASE (1 << 0) 23#define YAM_IRQ (1 << 1) 24#define YAM_BITRATE (1 << 2) /* Bit rate of radio port ->57600 */ 25#define YAM_MODE (1 << 3) /* 0=simplex 1=duplex 2=duplex+tempo */ 26#define YAM_HOLDDLY (1 << 4) /* duplex tempo (sec) */ 27#define YAM_TXDELAY (1 << 5) /* Tx Delay (ms) */ 28#define YAM_TXTAIL (1 << 6) /* Tx Tail (ms) */ 29#define YAM_PERSIST (1 << 7) /* Persist (ms) */ 30#define YAM_SLOTTIME (1 << 8) /* Slottime (ms) */ 31#define YAM_BAUDRATE (1 << 9) /* Baud rate of rs232 port ->115200 */ 32 33#define YAM_MAXBITRATE 57600 34#define YAM_MAXBAUDRATE 115200 35#define YAM_MAXMODE 2 36#define YAM_MAXHOLDDLY 99 37#define YAM_MAXTXDELAY 999 38#define YAM_MAXTXTAIL 999 39#define YAM_MAXPERSIST 255 40#define YAM_MAXSLOTTIME 999 41 42#define YAM_FPGA_SIZE 5302 43 44struct yamcfg { 45 unsigned int mask; /* Mask of commands */ 46 unsigned int iobase; /* IO Base of COM port */ 47 unsigned int irq; /* IRQ of COM port */ 48 unsigned int bitrate; /* Bit rate of radio port */ 49 unsigned int baudrate; /* Baud rate of the RS232 port */ 50 unsigned int txdelay; /* TxDelay */ 51 unsigned int txtail; /* TxTail */ 52 unsigned int persist; /* Persistence */ 53 unsigned int slottime; /* Slottime */ 54 unsigned int mode; /* mode 0 (simp), 1(Dupl), 2(Dupl+delay) */ 55 unsigned int holddly; /* PTT delay in FullDuplex 2 mode */ 56}; 57 58struct yamdrv_ioctl_cfg { 59 int cmd; 60 struct yamcfg cfg; 61}; 62 63struct yamdrv_ioctl_mcs { 64 int cmd; 65 unsigned int bitrate; 66 unsigned char bits[YAM_FPGA_SIZE]; 67};