Specifications

ESS Technology, Inc. SAM0025A-062397 31
ES1879 DATA SHEET
CONFIGURATION
PRELIMINARY
Example
Using Non PnP Method to Configure the ES1879:
1. Enable the configuration device at I/O address 800h by
sending the bypass key with interrupts disabled.
2. Program Vendor-Defined Card-Level registers 20h-
2Dh as follows: write Vendor-Defined Card-Level
register number to I/O address 800h and data to I/O
address 801h.
1. 20h, 21h, 22h: assign ISA IRQ channels to pins.
Unused pins are assigned to IRQ1.
2. 23h, 24h: assign ISA DMA channels to pins.
Unused pins are assigned DRQ2.
3. 25h: set bit 7 low, other bits as needed to
enable GPOs or GPIs.
4. 26h: defines whether GPOs are under software
or ES978 control.
5. 27h: defines whether GPIs control ES978
GPOs.
6. 28h: leave all of the bits set to 00h until
Windows starts up. The Windows driver will
write this register to allow sharing MPU-401
and H/W volume interrupts.
7. 29h: bit 7 high is recommended. Set bits 6:4
based on I
2
S interface use. Bit 1 should be left
low in the BIOS. Bit 0 is based on the system
design.
8. 2Ah: set this register to default value 0Eh.
9. 2Bh: leave bits 7:5 set at 00h. Bits 4:0 settings
are based on the system design.
10. 2Ch: settings are based on the system design.
11. 2Dh: leave this register value set at 03h (fully
powered on).
3. Configure and enable audio device. Set register 7h
(LDN number) to 01h. Then program device registers
60h-65h, 70h, 74h, and 75h. Leave register 72h set at
00h (second interrupt not used). Finally, set register
30h to 01h in order to activate the audio device.
4. (Optional) Configure and enable joystick device. Set
register 7h (LDN number) to 02h. Then program
registers 60h and 61h with base address. Set register
30h to 01h in order to activate the joystick device.
Configuring IRQ, DMA, and GPI/O Pins
IRQ (Registers 20h, 21h, 22h, 70h, 72h)
If only one IRQ channel (IRQA) is connected to the bus,
program the Vendor-Defined Card-Level registers 20h,
21h, and 22h as follows:
register 20h = 10h + IRQA_channel_number
“1” = IRQB is unused
register 21h = 11h“1” = IRQC/D are unused
register 22h = 01h“1” = IRQE is unused
The recommended IRQ lines are:
5 first choice
9, 5, 7, 10 second choice
3, 4, 5, 7, 9, 10, 11, 12, 15 third choice
The IRQ channel number must also be programmed into
register 70h of LDN 1. When register 70h matches one of
the channel numbers in registers 20h, 21h, or 22h, a
connection is made. The second interrupt of the audio
device is not used, so register 72h should be zero.
DRQ/DACK (Registers 23h, 24h, 74h, 75h)
If DRQA/DACKBA is set for the first audio channel DMA
and DRQB/DACKBB is set for second audio channel
DMA, program register 23h to be the first DMA channel
number in bits 3:0 and the second DMA channel number
in bits 7:4. Registers 74h and 75h of LDN 1 must also be
programmed to match the DRQA and DRQB channel
numbers.
Example:
First DMA channel is “1” and second DMA channel is “3”.
register 23h = 31h
register 24h = 02h
“2” = DRQC/DACKBC are unused
“0” = DRQD/DACKBD are unused
register 74h, LDN 1 = 01h
register 75h, LDN 1 = 03h
GPI/O (Vendor-Defined Card-Level Register 25h)
As long as DRQC/DACKBC and DRQD/DACKBD are not
selected, these pins are usable as general-purpose inputs
without further setup.
General-purpose inputs, GPI 4, 5, and 6 are the MUTE,
VOLUP, and VOLDN inputs. They can be read at any time,
but if the pins are not to act as hardware volume control,
bits 4 and 5 of Vendor-Defined Card-Level register 25h
must be set.
To use IRQ(B-E) as GPOs, the appropriate bits in Vendor-
Defined Card-Level register 25h must be set.