From 25c7855dd89797362bdc03306ac1ee1f4117c7e6 Mon Sep 17 00:00:00 2001 From: Hans-Christian Egtvedt Date: Tue, 4 Dec 2007 12:52:13 +0100 Subject: [PATCH 2/3] Wire up PSIF device 0 and 1 for the ATSTK1002, ATSTK1003 and ATSTK1004 boards This patch enables PS/2 keyboard and mouse port on the ATSTK1000 mother board for ATSTK1002, ATSTK1003 and ATSTK1004 CPU boards. The user will still need to add a 3.3 volt to 5.0 volt converter to the PS2 ports, although some keyboards seems to run fine on 3.3 volts. For this a IC like PCA9306 can be used. Signed-off-by: Hans-Christian Egtvedt --- arch/avr32/boards/atstk1000/Kconfig | 13 +++++++++++++ arch/avr32/boards/atstk1000/atstk1002.c | 4 ++++ arch/avr32/boards/atstk1000/atstk1003.c | 4 ++++ arch/avr32/boards/atstk1000/atstk1004.c | 4 ++++ 4 files changed, 25 insertions(+), 0 deletions(-) diff --git a/arch/avr32/boards/atstk1000/Kconfig b/arch/avr32/boards/atstk1000/Kconfig index 56a8d8e..e125205 100644 --- a/arch/avr32/boards/atstk1000/Kconfig +++ b/arch/avr32/boards/atstk1000/Kconfig @@ -145,4 +145,17 @@ config BOARD_ATSTK1000_CF_DETECT_PIN The default is 0x3e, which is pin 30 on PIOB, aka GPIO15. +config BOARD_ATSTK100X_ENABLE_PSIF + bool "Enable PSIF peripheral (PS/2 support)" + default n + help + Select this if you want to use the PSIF peripheral to hook up PS/2 + devices to your STK1000. This will require a hardware modification to + work correctly, since PS/2 devices require 5 volt power and signals, + while the STK1000 only provides 3.3 volt. + + Say N if you have not modified the hardware to boost the voltage, say + Y if you have level convertion hardware or a PS/2 device capable of + operating on 3.3 volt. + endif # stk 1000 diff --git a/arch/avr32/boards/atstk1000/atstk1002.c b/arch/avr32/boards/atstk1000/atstk1002.c index f19f54d..2ba37d5 100644 --- a/arch/avr32/boards/atstk1000/atstk1002.c +++ b/arch/avr32/boards/atstk1000/atstk1002.c @@ -261,6 +261,10 @@ static int __init atstk1002_init(void) at32_add_device_ssc(0, ATMEL_SSC_TX); #endif at32_add_device_cf(0, 2, &cf0_data); +#ifdef CONFIG_BOARD_ATSTK100X_ENABLE_PSIF + at32_add_device_psif(0); + at32_add_device_psif(1); +#endif atstk1000_setup_j2_leds(); atstk1002_setup_extdac(); diff --git a/arch/avr32/boards/atstk1000/atstk1003.c b/arch/avr32/boards/atstk1000/atstk1003.c index 768d204..2cc0bbc 100644 --- a/arch/avr32/boards/atstk1000/atstk1003.c +++ b/arch/avr32/boards/atstk1000/atstk1003.c @@ -172,6 +172,10 @@ static int __init atstk1003_init(void) at32_add_device_ssc(0, ATMEL_SSC_TX); #endif at32_add_device_cf(0, 2, &cf0_data); +#ifdef CONFIG_BOARD_ATSTK100X_ENABLE_PSIF + at32_add_device_psif(0); + at32_add_device_psif(1); +#endif atstk1000_setup_j2_leds(); atstk1003_setup_extdac(); diff --git a/arch/avr32/boards/atstk1000/atstk1004.c b/arch/avr32/boards/atstk1000/atstk1004.c index 96015dd..9e8c293 100644 --- a/arch/avr32/boards/atstk1000/atstk1004.c +++ b/arch/avr32/boards/atstk1000/atstk1004.c @@ -143,6 +143,10 @@ static int __init atstk1004_init(void) #ifndef CONFIG_BOARD_ATSTK100X_SW3_CUSTOM at32_add_device_ssc(0, ATMEL_SSC_TX); #endif +#ifdef CONFIG_BOARD_ATSTK100X_ENABLE_PSIF + at32_add_device_psif(0); + at32_add_device_psif(1); +#endif atstk1000_setup_j2_leds(); atstk1004_setup_extdac(); -- 1.5.3.8