[openfirmware] [commit] r2037 - cpu/arm/olpc/1.75 dev/olpc/kb3700

repository service svn at openfirmware.info
Thu Nov 25 00:38:16 CET 2010


Author: wmb
Date: Thu Nov 25 00:38:16 2010
New Revision: 2037
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2037

Log:
OLPC XO-1.75 - Get board revision from the EC.

Modified:
   cpu/arm/olpc/1.75/devices.fth
   cpu/arm/olpc/1.75/fw.bth
   dev/olpc/kb3700/eccmds.fth
   dev/olpc/kb3700/ecio.fth

Modified: cpu/arm/olpc/1.75/devices.fth
==============================================================================
--- cpu/arm/olpc/1.75/devices.fth	Wed Nov 24 21:33:20 2010	(r2036)
+++ cpu/arm/olpc/1.75/devices.fth	Thu Nov 25 00:38:16 2010	(r2037)
@@ -230,6 +230,7 @@
 
 fload ${BP}/dev/olpc/kb3700/eccmds.fth
 fload ${BP}/cpu/arm/olpc/1.75/ecflash.fth
+fload ${BP}/cpu/arm/olpc/1.75/boardrev.fth   \ Board revision decoding
 
 0 0  " d4208000"  " /" begin-package  \ USB Host Controller
    h# 200 constant /regs
@@ -281,15 +282,14 @@
 : stand-init
    stand-init
    root-device
-[ifdef] notyet
       model-name$   2dup model     ( name$ )
       " OLPC " encode-bytes  2swap encode-string  encode+  " banner-name" property
       board-revision " board-revision-int" integer-property
-[then]
+
       \ The "1-" removes the null byte
       " SN" find-tag  if  1-  else  " Unknown"  then  " serial-number" string-property
 [ifdef] notyet
-      8 ec-cmd-b@ dup " ec-version" integer-property
+      ec-api-ver@ " ec-version" integer-property
 
       XXX Get EC name with an EC command
       " ec-name" string-property

Modified: cpu/arm/olpc/1.75/fw.bth
==============================================================================
--- cpu/arm/olpc/1.75/fw.bth	Wed Nov 24 21:33:20 2010	(r2036)
+++ cpu/arm/olpc/1.75/fw.bth	Thu Nov 25 00:38:16 2010	(r2037)
@@ -126,8 +126,6 @@
 
 fload ${BP}/cpu/x86/pc/olpc/via/banner.fth
 
-h# d00 value board-revision   \ Implement me!!!
-
 \ This must be defined after spiui.fth, otherwise spiui will choose some wrong code
 : rom-pa  ( -- adr )  mfg-data-buf mfg-data-offset -  ;  \ Fake out setwp.fth
 fload ${BP}/cpu/x86/pc/olpc/setwp.fth

Modified: dev/olpc/kb3700/eccmds.fth
==============================================================================
--- dev/olpc/kb3700/eccmds.fth	Wed Nov 24 21:33:20 2010	(r2036)
+++ dev/olpc/kb3700/eccmds.fth	Thu Nov 25 00:38:16 2010	(r2037)
@@ -37,40 +37,30 @@
    loop
    too-many-retries
 ;
-: (bat-gauge@)   ( -- b )  h# 31 1 1 h# 18 do-ec-cmd  ;  \ 31 is the EEPROM address
-: bat-gauge@  ( -- b )
-   #ec-retries  0  do
-      ['] (bat-gauge@) catch  0=  if  unloop exit  then
-   loop
-   too-many-retries
-;
 
-: (bat-type@)    ( -- b )  h# 5f 1 1 h# 18 do-ec-cmd  ;  \ 5f is the EEPROM address
-: bat-type@  ( -- b )
-   #ec-retries  0  do
-      ['] (bat-type@) catch  0=  if  unloop exit  then
-   loop
-   too-many-retries
-;
 
-: board-id  ( -- n )  h# 19 ec-cmd-w@  ;
+: board-id@  ( -- n )  h# 19 ec-cmd-w@  ;
 : reset-ec  ( -- )  h# 28 ec-cmd  ;
 
+: bat-type@  ( -- b )  h# 2c ec-cmd-b@  ;
 : autowack-on      ( -- )         1 33 ec-cmd-b! ;
 : autowack-off     ( -- )         0 33 ec-cmd-b! ;
 
+: bat-gauge@  ( -- w )  h# 4e ec-cmd-w@  ;
+
 : ec-echo  ( ... n -- ... )  dup h# 52 do-ec-cmd  ;
 
+: mppt-active@  ( -- b )  h# 3d ec-cmd-b@  ;
+
+: bat-cause@  ( -- b )  h# 1f ec-cmd-b@  ;
+
 [ifdef] notdef
-#define CMD_READ_BATT_ERR_CODE           0x1f
-#define CMD_READ_BATTERY_TYPE            0x2c
 #define CMD_SET_EC_WAKEUP_TIMER          0x36
 #define CMD_READ_EXT_SCI_MASK            0x37
 #define CMD_WRITE_EXT_SCI_MASK           0x38
 #define CMD_CLEAR_EC_WAKEUP_TIMER        0x39
 #define CMD_ENABLE_RUNIN_DISCHARGE       0x3B
 #define CMD_DISABLE_RUNIN_DISCHARGE      0x3C
-#define CMD_READ_MPPT_ACTIVE             0x3d
 #define CMD_READ_MPPT_LIMIT              0x3e
 #define CMD_SET_MPPT_LIMIT               0x3f
 #define CMD_DISABLE_MPPT                 0x40
@@ -79,15 +69,12 @@
 #define CMD_EXT_SCI_QUERY                0x43
 #define CMD_READ_LOCATION                0x44
 #define CMD_WRITE_LOCATION               0x45
-#define CMD_KEYBOARD_CMD                 0x46
-#define CMD_TOUCHPAD_CMD                 0x47
 #define RSP_KEYBOARD_DATA                0x48
 #define RSP_TOUCHPAD_DATA                0x49
 #define CMD_GET_FW_VER                   0x4a
 #define CMD_POWER_CYCLE                  0x4b
 #define CMD_POWER_OFF                    0x4c
 #define CMD_RESET_EC_SOFT                0x4d
-#define CMD_READ_GUAGE_U16               0x4e
 #define CMD_ENABLE_MOUSE                 0x4f
 [then]
 

Modified: dev/olpc/kb3700/ecio.fth
==============================================================================
--- dev/olpc/kb3700/ecio.fth	Wed Nov 24 21:33:20 2010	(r2036)
+++ dev/olpc/kb3700/ecio.fth	Thu Nov 25 00:38:16 2010	(r2037)
@@ -238,6 +238,8 @@
 : sci-inhibit      ( -- )  h# 32 ec-cmd  ;
 : sci-uninhibit    ( -- )  h# 34 ec-cmd  ;
 
+: mppt-active@  ( -- b )  h# 3d ec-cmd-b@  ;
+
 : autowack-on      ( -- )         1 33 ec-cmd-b! ;
 : autowack-off     ( -- )         0 33 ec-cmd-b! ;
 : autowack-delay   ( delay -- )   wbsplit f650 ec! f651 ec! ;



More information about the openfirmware mailing list