maestro.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * Registers for the ESS PCI cards
  3.  */
  4.  
  5. /*
  6.  * Memory access
  7.  */
  8.  
  9. #define ESS_MEM_DATA 0x00
  10. #define ESS_MEM_INDEX 0x02
  11. /*
  12.  * AC-97 Codec port. Delay 1uS after each write. This is used to
  13.  * talk AC-97 (see intel.com). Write data then register.
  14.  */
  15.  
  16. #define ESS_AC97_INDEX 0x30 /* byte wide */
  17. #define ESS_AC97_DATA 0x32
  18. /* 
  19.  * Reading is a bit different. You write register|0x80 to ubdex
  20.  * delay 1uS poll the low bit of index, when it clears read the
  21.  * data value.
  22.  */
  23. /*
  24.  * Control port. Not yet fully understood
  25.  * The value 0xC090 gets loaded to it then 0x0000 and 0x2800
  26.  * to the data port. Then after 4uS the value 0x300 is written
  27.  */
  28.  
  29. #define RING_BUS_CTRL_L 0x34
  30. #define RING_BUS_CTRL_H 0x36
  31. /*
  32.  * This is also used during setup. The value 0x17 is written to it
  33.  */
  34.  
  35. #define ESS_SETUP_18 0x18
  36. /*
  37.  * And this one gets 0x000b
  38.  */
  39.  
  40. #define ESS_SETUP_A2 0xA2
  41. /*
  42.  * And this 0x0000
  43.  */
  44.  
  45. #define ESS_SETUP_A4 0xA4
  46. #define ESS_SETUP_A6 0xA6
  47. /*
  48.  * Stuff to do with Harpo - the wave stuff
  49.  */
  50.  
  51. #define ESS_WAVETABLE_SIZE 0x14
  52. #define  ESS_WAVETABLE_2M 0xA180