summaryrefslogtreecommitdiffstats
path: root/sound/oss/maestro.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 15:20:36 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 15:20:36 -0700
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /sound/oss/maestro.h
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'sound/oss/maestro.h')
-rw-r--r--sound/oss/maestro.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/sound/oss/maestro.h b/sound/oss/maestro.h
new file mode 100644
index 00000000000..023ec7f968f
--- /dev/null
+++ b/sound/oss/maestro.h
@@ -0,0 +1,60 @@
+/*
+ * Registers for the ESS PCI cards
+ */
+
+/*
+ * Memory access
+ */
+
+#define ESS_MEM_DATA 0x00
+#define ESS_MEM_INDEX 0x02
+
+/*
+ * AC-97 Codec port. Delay 1uS after each write. This is used to
+ * talk AC-97 (see intel.com). Write data then register.
+ */
+
+#define ESS_AC97_INDEX 0x30 /* byte wide */
+#define ESS_AC97_DATA 0x32
+
+/*
+ * Reading is a bit different. You write register|0x80 to ubdex
+ * delay 1uS poll the low bit of index, when it clears read the
+ * data value.
+ */
+
+/*
+ * Control port. Not yet fully understood
+ * The value 0xC090 gets loaded to it then 0x0000 and 0x2800
+ * to the data port. Then after 4uS the value 0x300 is written
+ */
+
+#define RING_BUS_CTRL_L 0x34
+#define RING_BUS_CTRL_H 0x36
+
+/*
+ * This is also used during setup. The value 0x17 is written to it
+ */
+
+#define ESS_SETUP_18 0x18
+
+/*
+ * And this one gets 0x000b
+ */
+
+#define ESS_SETUP_A2 0xA2
+
+/*
+ * And this 0x0000
+ */
+
+#define ESS_SETUP_A4 0xA4
+#define ESS_SETUP_A6 0xA6
+
+/*
+ * Stuff to do with Harpo - the wave stuff
+ */
+
+#define ESS_WAVETABLE_SIZE 0x14
+#define ESS_WAVETABLE_2M 0xA180
+