/ src / include / pc80 / keyboard.h
keyboard.h
 1  /* SPDX-License-Identifier: GPL-2.0-only */
 2  
 3  #ifndef PC80_KEYBOARD_H
 4  #define PC80_KEYBOARD_H
 5  
 6  #include <types.h>
 7  
 8  #define NO_AUX_DEVICE		0
 9  #define PROBE_AUX_DEVICE	1
10  
11  /*
12   * The Keyboard controller command byte
13   *
14   *  BIT | Description
15   *  ----+-------------------------------------------------------
16   *   7  | reserved, must be zero   :
17   *   6  | XT Translation           : 1 = on,      0 = off
18   *   5  | Disable Mouse Port       : 1 = disable, 0 = enable
19   *   4  | Disable Keyboard Port    : 1 = disable, 0 = enable
20   *   3  | reserved, must be zero   :
21   *   2  | System Flag              : 1 = self-test passed (DO NOT SET TO ZERO)
22   *   1  | Mouse Port Interrupts    : 1 = enable,  0 = disable
23   *   0  | Keyboard Port Interrupts : 1 = enable,  0 = disable
24   *  ----+-------------------------------------------------------
25   */
26  enum {
27  	PC_KBC_KBD_INT     = 0,
28  	PC_KBC_AUX_INT     = 1,
29  	PC_KBC_SYS         = 2,
30  	PC_KBC_KBD_DISABLE = 4,
31  	PC_KBC_AUX_DISABLE = 5,
32  	PC_KBC_TRANSLATE   = 6,
33  };
34  
35  uint8_t pc_keyboard_init(uint8_t probe_aux);
36  void set_kbc_ps2_mode(void);
37  enum cb_err pc_keyboard_set_command_byte_bit(u8 bit, u8 value);
38  
39  #endif /* PC80_KEYBOARD_H */