
133
When using the keyboard and mouse data signals for wakeup, it may be necessary to isolate the
keyboard signals (KCLK, KDAT, MCLK, MDAT) from the 8042 prior to entering certain system sleep
states. This is due to the fact that the normal operation of the 8042 can prevent the system from
entering a sleep state or trigger false PME events. The LPC47B34x has “isolation” bits for the
keyboard and mouse signals, which allow the keyboard and mouse data signals to go into the wakeup
logic but block the clock and data signals from the 8042. These bits may be used when it is
necessary to isolate the 8042 keyboard and mouse signals from the 8042 before entering a system
sleep state.
See the SMSC Application Note titled “Using the Enhanced Keyboard and Mouse Wakeup Features in
SMSC Super I/O Parts” for more information.
The isolation of 8042 Keyboard and Mouse signals for wakeup is enabled through the following control
bits located in configuration register 0xF0 in Logical Device 7:
Bit[5] K_ISO. Enables/disables isolation of keyboard signals into 8042. Does not affect KDAT signal
to keyboard wakeup (PME) logic.
1= Block keyboard clock and data signals into 8042
0= Do block keyboard clock and data signals into 8042
Bit[6] M_ISO. Enables/disables isolation of mouse signals into 8042. Does not affect MDAT signal to
mouse wakeup (PME) logic.
1= Block mouse clock and data signals into 8042
0= Do block mouse clock and data signals into 8042
When the keyboard and/or mouse isolation bits are used, it may be necessary to reset the 8042 upon
exiting the sleep state. If either of the isolation bits is set prior to entering a sleep state where VCC
goes inactive (S3-S5), then the 8042 must be reset upon exiting the sleep mode. Write 0x40 to global
configuration register 0x2C to reset the 8042. The 8042 must then be taken out of reset by writing
0x00 to register 0x2C since the bit that resets the 8042 is not self-clearing. Caution: Bit 6 of
configuration register 0x2C is used to put the 8042 into reset - do not set any of the other bits in
register 0x2C, as this may produce undesired results.
It is not necessary to reset the 8042 if the isolation bits are used for a sleep state where VCC does not
go inactive (S1, S2).