1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * linux/include/asm-m68k/dsp56k.h - defines and declarations for 3*4882a593Smuzhiyun * DSP56k device driver 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 1996,1997 Fredrik Noring, lars brinkhoff & Tomas Berndtsson 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * This file is subject to the terms and conditions of the GNU General Public 8*4882a593Smuzhiyun * License. See the file COPYING in the main directory of this archive 9*4882a593Smuzhiyun * for more details. 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /* Used for uploading DSP binary code */ 14*4882a593Smuzhiyun struct dsp56k_upload { 15*4882a593Smuzhiyun int len; 16*4882a593Smuzhiyun char __user *bin; 17*4882a593Smuzhiyun }; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun /* For the DSP host flags */ 20*4882a593Smuzhiyun struct dsp56k_host_flags { 21*4882a593Smuzhiyun int dir; /* Bit field. 1 = write output bit, 0 = do nothing. 22*4882a593Smuzhiyun * 0x0000 means reading only, 0x0011 means 23*4882a593Smuzhiyun * writing the bits stored in `out' on HF0 and HF1. 24*4882a593Smuzhiyun * Note that HF2 and HF3 can only be read. 25*4882a593Smuzhiyun */ 26*4882a593Smuzhiyun int out; /* Bit field like above. */ 27*4882a593Smuzhiyun int status; /* Host register's current state is returned */ 28*4882a593Smuzhiyun }; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun /* ioctl command codes */ 31*4882a593Smuzhiyun #define DSP56K_UPLOAD 1 /* Upload DSP binary program */ 32*4882a593Smuzhiyun #define DSP56K_SET_TX_WSIZE 2 /* Host transmit word size (1-4) */ 33*4882a593Smuzhiyun #define DSP56K_SET_RX_WSIZE 3 /* Host receive word size (1-4) */ 34*4882a593Smuzhiyun #define DSP56K_HOST_FLAGS 4 /* Host flag registers */ 35*4882a593Smuzhiyun #define DSP56K_HOST_CMD 5 /* Trig Host Command (0-31) */ 36