waveartist.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /*
  2. * linux/sound/oss/waveartist.h
  3. *
  4. * def file for Rockwell RWA010 chip set, as installed in Rebel.com NetWinder
  5. */
  6. //registers
  7. #define CMDR 0
  8. #define DATR 2
  9. #define CTLR 4
  10. #define STATR 5
  11. #define IRQSTAT 12
  12. //bit defs
  13. //reg STATR
  14. #define CMD_WE 0x80
  15. #define CMD_RF 0x40
  16. #define DAT_WE 0x20
  17. #define DAT_RF 0x10
  18. #define IRQ_REQ 0x08
  19. #define DMA1 0x04
  20. #define DMA0 0x02
  21. //bit defs
  22. //reg CTLR
  23. #define CMD_WEIE 0x80
  24. #define CMD_RFIE 0x40
  25. #define DAT_WEIE 0x20
  26. #define DAT_RFIE 0x10
  27. #define RESET 0x08
  28. #define DMA1_IE 0x04
  29. #define DMA0_IE 0x02
  30. #define IRQ_ACK 0x01
  31. //commands
  32. #define WACMD_SYSTEMID 0x00
  33. #define WACMD_GETREV 0x00
  34. #define WACMD_INPUTFORMAT 0x10 //0-8S, 1-16S, 2-8U
  35. #define WACMD_INPUTCHANNELS 0x11 //1-Mono, 2-Stereo
  36. #define WACMD_INPUTSPEED 0x12 //sampling rate
  37. #define WACMD_INPUTDMA 0x13 //0-8bit, 1-16bit, 2-PIO
  38. #define WACMD_INPUTSIZE 0x14 //samples to interrupt
  39. #define WACMD_INPUTSTART 0x15 //start ADC
  40. #define WACMD_INPUTPAUSE 0x16 //pause ADC
  41. #define WACMD_INPUTSTOP 0x17 //stop ADC
  42. #define WACMD_INPUTRESUME 0x18 //resume ADC
  43. #define WACMD_INPUTPIO 0x19 //PIO ADC
  44. #define WACMD_OUTPUTFORMAT 0x20 //0-8S, 1-16S, 2-8U
  45. #define WACMD_OUTPUTCHANNELS 0x21 //1-Mono, 2-Stereo
  46. #define WACMD_OUTPUTSPEED 0x22 //sampling rate
  47. #define WACMD_OUTPUTDMA 0x23 //0-8bit, 1-16bit, 2-PIO
  48. #define WACMD_OUTPUTSIZE 0x24 //samples to interrupt
  49. #define WACMD_OUTPUTSTART 0x25 //start ADC
  50. #define WACMD_OUTPUTPAUSE 0x26 //pause ADC
  51. #define WACMD_OUTPUTSTOP 0x27 //stop ADC
  52. #define WACMD_OUTPUTRESUME 0x28 //resume ADC
  53. #define WACMD_OUTPUTPIO 0x29 //PIO ADC
  54. #define WACMD_GET_LEVEL 0x30
  55. #define WACMD_SET_LEVEL 0x31
  56. #define WACMD_SET_MIXER 0x32
  57. #define WACMD_RST_MIXER 0x33
  58. #define WACMD_SET_MONO 0x34
  59. /*
  60. * Definitions for left/right recording input mux
  61. */
  62. #define ADC_MUX_NONE 0
  63. #define ADC_MUX_MIXER 1
  64. #define ADC_MUX_LINE 2
  65. #define ADC_MUX_AUX2 3
  66. #define ADC_MUX_AUX1 4
  67. #define ADC_MUX_MIC 5
  68. /*
  69. * Definitions for mixer gain settings
  70. */
  71. #define MIX_GAIN_LINE 0 /* line in */
  72. #define MIX_GAIN_AUX1 1 /* aux1 */
  73. #define MIX_GAIN_AUX2 2 /* aux2 */
  74. #define MIX_GAIN_XMIC 3 /* crossover mic */
  75. #define MIX_GAIN_MIC 4 /* normal mic */
  76. #define MIX_GAIN_PREMIC 5 /* preamp mic */
  77. #define MIX_GAIN_OUT 6 /* output */
  78. #define MIX_GAIN_MONO 7 /* mono in */
  79. int wa_sendcmd(unsigned int cmd);
  80. int wa_writecmd(unsigned int cmd, unsigned int arg);