diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2001-04-11 08:14:39 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2001-04-11 08:14:39 +0200 |
commit | 59cfcb1d81825cc4816fc1ffddd0193f0ebec4ae (patch) | |
tree | e98dece1216a3b31d7170ae0bf0e122de1feac96 /hdlcutil/setcrystal.c | |
parent | 2964aba637fede36e89a3b6c4330767438a3b619 (diff) |
Import ax25-tools 0.0.6 from tarballax25-tools-0.0.6
Diffstat (limited to 'hdlcutil/setcrystal.c')
-rw-r--r-- | hdlcutil/setcrystal.c | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/hdlcutil/setcrystal.c b/hdlcutil/setcrystal.c deleted file mode 100644 index 926eddd..0000000 --- a/hdlcutil/setcrystal.c +++ /dev/null @@ -1,140 +0,0 @@ -/*****************************************************************************/ - -/* - * setcrystal.c -- crystal soundcard configuration utility - * - * Copyright (C) 1996 Thomas Sailer (sailer@ife.ee.ethz.ch) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * 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. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Please note that the GPL allows you to use the driver, NOT the radio. - * In order to use the radio, you need a license from the communications - * authority of your country. - * - */ - -/* --------------------------------------------------------------------- */ - -#include <stdio.h> -#include <unistd.h> -#include <stdlib.h> -#ifdef __GLIBC__ -#include <sys/io.h> -#else -#include <asm/io.h> -#endif - -/* --------------------------------------------------------------------- */ - -static const unsigned char crystal_key[32] = { - 0x96, 0x35, 0x9a, 0xcd, 0xe6, 0xf3, 0x79, 0xbc, - 0x5e, 0xaf, 0x57, 0x2b, 0x15, 0x8a, 0xc5, 0xe2, - 0xf1, 0xf8, 0x7c, 0x3e, 0x9f, 0x4f, 0x27, 0x13, - 0x09, 0x84, 0x42, 0xa1, 0xd0, 0x68, 0x34, 0x1a -}; - -#define KEY_PORT 0x279 -#define CSN 1 /* card select number */ - -/* --------------------------------------------------------------------- */ - -int main(int argc, char *argv[]) -{ - int wssbase = 0x534; - int synbase = 0x388; - int sbbase = 0x220; - int irq = 5; - int dma = 1; - int dma2 = 3; - - int i; - - printf("Crystal PnP Soundcard enabler\n" - "(C) 1996 by Thomas Sailer, HB9JNX/AE4WA\n" - "WARNING: This utility is incompatible with OS PnP support!\n" - " Remove it as soon as Linux supports PnP!\n"); - while ((i = getopt(argc, argv, "i:d:c:s:w:f:h")) != EOF) { - switch (i) { - case 'i': - irq = strtoul(optarg, NULL, 0); - break; - case 'd': - dma = strtoul(optarg, NULL, 0); - break; - case 'c': - dma2 = strtoul(optarg, NULL, 0); - break; - case 's': - sbbase = strtoul(optarg, NULL, 0); - break; - case 'w': - wssbase = strtoul(optarg, NULL, 0); - break; - case 'f': - synbase = strtoul(optarg, NULL, 0); - break; - - default: - case ':': - case '?': - case 'h': - fprintf(stderr, "usage: [-w wssio] [-s sbio] " - "[-f synthio] [-i irq] [-d dma] [-c dma2]\n"); - exit(1); - } - } - - if ((i = ioperm(KEY_PORT, 1, 1))) { - perror("ioperm"); - exit(1); - } - /* - * send crystal key - */ - for (i = 0; i < 32; i++) - outb(crystal_key[i], KEY_PORT); - /* - * send config data - */ - outb(0x6, KEY_PORT); - outb(CSN, KEY_PORT); - outb(0x15, KEY_PORT); - outb(0x0, KEY_PORT); /* logical device 0 */ - outb(0x47, KEY_PORT); - outb(wssbase >> 8, KEY_PORT); - outb(wssbase & 0xff, KEY_PORT); - outb(0x48, KEY_PORT); - outb(synbase >> 8, KEY_PORT); - outb(synbase & 0xff, KEY_PORT); - outb(0x42, KEY_PORT); - outb(sbbase >> 8, KEY_PORT); - outb(sbbase & 0xff, KEY_PORT); - outb(0x22, KEY_PORT); - outb(irq, KEY_PORT); - outb(0x2a, KEY_PORT); - outb(dma, KEY_PORT); - outb(0x25, KEY_PORT); - outb(dma2, KEY_PORT); - outb(0x33, KEY_PORT); - outb(0x1, KEY_PORT); /* activate logical device */ - outb(0x79, KEY_PORT); /* activate part */ - - printf("Crystal CS423[26] set to: WSS iobase 0x%x, Synth iobase 0x%x," - " SB iobase 0x%x,\n IRQ %u, DMA %u, DMA2 %u\n", wssbase, - synbase, sbbase, irq, dma, dma2); - exit(0); -} - -/* --------------------------------------------------------------------- */ |