[openfirmware] [commit] r1869 - cpu/x86/pc/olpc/via dev
repository service
svn at openfirmware.info
Wed Jul 14 22:34:13 CEST 2010
Author: rsmith
Date: Wed Jul 14 22:34:13 2010
New Revision: 1869
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1869
Log:
OLPC XO 1.5: ALPS keyboard support; Trust the EC.
The ALPS keyboard need 500ms to startup before you can successfully
talk to it. The previous keyboard routines would try to probe
at the same time that the EC is trying to detect what keyboard
controller is installed. When OFW dosen't get a response
it assumes there is no keyboard.
Now OFW assumes that the EC is properly detecting the keboard
controller (Which is does as of Ver 1.9.30) and the only command
it sends is the scan enable.
Modified:
cpu/x86/pc/olpc/via/devices.fth
cpu/x86/pc/olpc/via/ec-version.fth
dev/pckbd.fth
Modified: cpu/x86/pc/olpc/via/devices.fth
==============================================================================
--- cpu/x86/pc/olpc/via/devices.fth Wed Jul 14 22:08:26 2010 (r1868)
+++ cpu/x86/pc/olpc/via/devices.fth Wed Jul 14 22:34:13 2010 (r1869)
@@ -121,6 +121,8 @@
[then]
: serial-enabled? ( -- flag ) h# 8846 config-b@ h# 40 and 0<> ;
+create trust-ec-keyboard
+
fload ${BP}/dev/pci/isaall.fth
\ We don't need a serial selftest because the serial port is internal only
\ and the selftest turns off the diag device
Modified: cpu/x86/pc/olpc/via/ec-version.fth
==============================================================================
--- cpu/x86/pc/olpc/via/ec-version.fth Wed Jul 14 22:08:26 2010 (r1868)
+++ cpu/x86/pc/olpc/via/ec-version.fth Wed Jul 14 22:34:13 2010 (r1869)
@@ -3,5 +3,5 @@
\ Alternate command for getting EC microcode, for testing new versions.
\ Temporarily uncomment the line and modify the path as necessary
-\ macro: GET_EC cp ~rsmith/olpc/ec/ec-code15/image/ecimage.bin ec.img
+macro: GET_EC cp ~rsmith/olpc/ec/ec-code15/image/ecimage.bin ec.img
\ macro: GET_EC wget -q http://dev.laptop.org/pub/ec/ec_test.img -O ec.img
Modified: dev/pckbd.fth
==============================================================================
--- dev/pckbd.fth Wed Jul 14 22:08:26 2010 (r1868)
+++ dev/pckbd.fth Wed Jul 14 22:34:13 2010 (r1869)
@@ -257,17 +257,10 @@
[ifdef] olpc
[ifndef] demo-board
-: ?olpc-keyboard ( -- )
- " enable-intf" $call-parent
- begin d# 50 timed-read 0= while
- drop
- true to keyboard-present?
- exit
- repeat
- keyboard-present? if exit then
- kbd-reset 0= to keyboard-present?
-;
+[ifdef] trust-ec-keyboard
+: ?olpc-keyboard ( -- ) true to keyboard-present? ;
+[else]
\ For the ENE keyboard controller we have to tell the EC to use
\ a different internal mapping table. OLPC switched from an
\ ALPS to an ENE controller in late 2007.
@@ -284,7 +277,23 @@
\ This looks like an ENE controller, so flip the mapping table
h# f7 cmd
+;
+
+: ?olpc-keyboard ( -- )
+ " enable-intf" $call-parent
+ begin d# 50 timed-read 0= while
+ drop
+ true to keyboard-present?
+ exit
+ repeat
+ keyboard-present? if exit then
+ kbd-reset 0= to keyboard-present?
+
+ \ Try resetting the keyboard
+ kbd-reset 0= to keyboard-present?
+ keyboard-present? if olpc-set-ec-keymap then
;
+[then]
fload ${BP}/cpu/x86/pc/olpc/keymap.fth
[then]
@@ -423,7 +432,6 @@
clear-state
[ifdef] ?olpc-keyboard
?olpc-keyboard
- keyboard-present? if olpc-set-ec-keymap exit then
[else]
get-initial-state
More information about the openfirmware
mailing list