AT KBC fixes for the Dell.
This commit is contained in:
@@ -1088,12 +1088,24 @@ write64_generic(void *priv, uint8_t val)
|
||||
/* (B0 or F0) | (0x04 or 0x0c) */
|
||||
kbc_delay_to_ob(dev, dev->p1 | fixed_bits, 0, 0x00);
|
||||
} else if (((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) && ((dev->flags & KBC_TYPE_MASK) < KBC_TYPE_GREEN)) {
|
||||
/* (B0 or F0) | (0x08 or 0x0c) */
|
||||
uint8_t p1_out = ((dev->p1 | fixed_bits) & 0xf0) |
|
||||
(((dev->flags & KBC_VEN_MASK) == KBC_VEN_ACER) ? 0x08 : 0x0c);
|
||||
if (!strcmp(machine_get_internal_name(), "alfredo"))
|
||||
p1_out &= 0xef;
|
||||
kbc_delay_to_ob(dev, p1_out, 0, 0x00);
|
||||
if (!strcmp(machine_get_internal_name(), "dell466np")) {
|
||||
/*
|
||||
Dell 466/NP:
|
||||
- Bit 2: Keyboard fuse (must be set);
|
||||
- Bit 4: Password disable jumper (must be clear);
|
||||
- Bit 5: Manufacturing jumper (must be set);
|
||||
*/
|
||||
uint8_t p1 = 0x24;
|
||||
kbc_delay_to_ob(dev, p1, 0, 0x01);
|
||||
} else {
|
||||
/* (B0 or F0) | (0x08 or 0x0c) */
|
||||
uint8_t p1_out = ((dev->p1 | fixed_bits) & 0xf0) |
|
||||
(((dev->flags & KBC_VEN_MASK) == KBC_VEN_ACER) ? 0x08 : 0x0c);
|
||||
if (!strcmp(machine_get_internal_name(), "alfredo"))
|
||||
p1_out &= 0xef;
|
||||
|
||||
kbc_delay_to_ob(dev, p1_out, 0, 0x00);
|
||||
}
|
||||
} else if (kbc_ven == KBC_VEN_COMPAQ)
|
||||
kbc_delay_to_ob(dev, dev->p1 | (hasfpu ? 0x00 : 0x04), 0, 0x00);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user