aboutsummaryrefslogtreecommitdiff
path: root/converter/ps2_usb/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'converter/ps2_usb/config.h')
-rw-r--r--converter/ps2_usb/config.h87
1 files changed, 45 insertions, 42 deletions
diff --git a/converter/ps2_usb/config.h b/converter/ps2_usb/config.h
index 51cd271d7..c9bab1b07 100644
--- a/converter/ps2_usb/config.h
+++ b/converter/ps2_usb/config.h
@@ -22,6 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22 22
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0xFEED
24#define PRODUCT_ID 0x6512 24#define PRODUCT_ID 0x6512
25#define DEVICE_VER 0x0001
25#define MANUFACTURER t.m.k. 26#define MANUFACTURER t.m.k.
26#define PRODUCT PS/2 keyboard converter 27#define PRODUCT PS/2 keyboard converter
27#define DESCRIPTION convert PS/2 keyboard to USB 28#define DESCRIPTION convert PS/2 keyboard to USB
@@ -39,10 +40,52 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
39) 40)
40 41
41 42
42/* legacy keymap support */ 43//#define NO_SUSPEND_POWER_DOWN
43#define USE_LEGACY_KEYMAP
44 44
45 45
46/*
47 * PS/2 Busywait
48 */
49#ifdef PS2_USE_BUSYWAIT
50#define PS2_CLOCK_PORT PORTD
51#define PS2_CLOCK_PIN PIND
52#define PS2_CLOCK_DDR DDRD
53#define PS2_CLOCK_BIT 5
54#define PS2_DATA_PORT PORTD
55#define PS2_DATA_PIN PIND
56#define PS2_DATA_DDR DDRD
57#define PS2_DATA_BIT 2
58#endif
59
60/*
61 * PS/2 Pin interrupt
62 */
63#ifdef PS2_USE_INT
64/* uses INT1 for clock line(ATMega32U4) */
65#define PS2_CLOCK_PORT PORTD
66#define PS2_CLOCK_PIN PIND
67#define PS2_CLOCK_DDR DDRD
68#define PS2_CLOCK_BIT 1
69#define PS2_DATA_PORT PORTD
70#define PS2_DATA_PIN PIND
71#define PS2_DATA_DDR DDRD
72#define PS2_DATA_BIT 2
73#define PS2_INT_INIT() do { \
74 EICRA |= ((1<<ISC11) | \
75 (0<<ISC10)); \
76} while (0)
77#define PS2_INT_ON() do { \
78 EIMSK |= (1<<INT1); \
79} while (0)
80#define PS2_INT_OFF() do { \
81 EIMSK &= ~(1<<INT1); \
82} while (0)
83#define PS2_INT_VECT INT1_vect
84#endif
85
86/*
87 * PS/2 USART
88 */
46#ifdef PS2_USE_USART 89#ifdef PS2_USE_USART
47#if defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) 90#if defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)
48/* XCK for clock line and RXD for data line */ 91/* XCK for clock line and RXD for data line */
@@ -54,7 +97,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
54#define PS2_DATA_PIN PIND 97#define PS2_DATA_PIN PIND
55#define PS2_DATA_DDR DDRD 98#define PS2_DATA_DDR DDRD
56#define PS2_DATA_BIT 2 99#define PS2_DATA_BIT 2
57
58/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */ 100/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
59/* set DDR of CLOCK as input to be slave */ 101/* set DDR of CLOCK as input to be slave */
60#define PS2_USART_INIT() do { \ 102#define PS2_USART_INIT() do { \
@@ -85,7 +127,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
85#define PS2_USART_RX_DATA UDR1 127#define PS2_USART_RX_DATA UDR1
86#define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1))) 128#define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1)))
87#define PS2_USART_RX_VECT USART1_RX_vect 129#define PS2_USART_RX_VECT USART1_RX_vect
88
89#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega168P__) || defined(__AVR_ATmega328P__) 130#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega168P__) || defined(__AVR_ATmega328P__)
90/* XCK for clock line and RXD for data line */ 131/* XCK for clock line and RXD for data line */
91#define PS2_CLOCK_PORT PORTD 132#define PS2_CLOCK_PORT PORTD
@@ -96,7 +137,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
96#define PS2_DATA_PIN PIND 137#define PS2_DATA_PIN PIND
97#define PS2_DATA_DDR DDRD 138#define PS2_DATA_DDR DDRD
98#define PS2_DATA_BIT 0 139#define PS2_DATA_BIT 0
99
100/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */ 140/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
101/* set DDR of CLOCK as input to be slave */ 141/* set DDR of CLOCK as input to be slave */
102#define PS2_USART_INIT() do { \ 142#define PS2_USART_INIT() do { \
@@ -130,41 +170,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
130#endif 170#endif
131#endif 171#endif
132 172
133
134#ifdef PS2_USE_INT
135/* uses INT1 for clock line(ATMega32U4) */
136#define PS2_CLOCK_PORT PORTD
137#define PS2_CLOCK_PIN PIND
138#define PS2_CLOCK_DDR DDRD
139#define PS2_CLOCK_BIT 1
140#define PS2_DATA_PORT PORTD
141#define PS2_DATA_PIN PIND
142#define PS2_DATA_DDR DDRD
143#define PS2_DATA_BIT 2
144
145#define PS2_INT_INIT() do { \
146 EICRA |= ((1<<ISC11) | \
147 (0<<ISC10)); \
148} while (0)
149#define PS2_INT_ON() do { \
150 EIMSK |= (1<<INT1); \
151} while (0)
152#define PS2_INT_OFF() do { \
153 EIMSK &= ~(1<<INT1); \
154} while (0)
155#define PS2_INT_VECT INT1_vect
156#endif
157
158
159#ifdef PS2_USE_BUSYWAIT
160#define PS2_CLOCK_PORT PORTF
161#define PS2_CLOCK_PIN PINF
162#define PS2_CLOCK_DDR DDRF
163#define PS2_CLOCK_BIT 0
164#define PS2_DATA_PORT PORTF
165#define PS2_DATA_PIN PINF
166#define PS2_DATA_DDR DDRF
167#define PS2_DATA_BIT 1
168#endif
169
170#endif 173#endif