[openfirmware] r1437 - cpu/x86/pc/olpc/via

svn at openfirmware.info svn at openfirmware.info
Tue Oct 27 23:18:56 CET 2009


Author: wmb
Date: 2009-10-27 23:18:55 +0100 (Tue, 27 Oct 2009)
New Revision: 1437

Modified:
   cpu/x86/pc/olpc/via/ioinit.fth
   cpu/x86/pc/olpc/via/startgfxinit.fth
Log:
OLPC trac 9498 - Set subsystem IDs in PCI config headers.  All devices work
except USB controllers and D17F7 SNMIC - waiting from advice from VIA on those.


Modified: cpu/x86/pc/olpc/via/ioinit.fth
===================================================================
--- cpu/x86/pc/olpc/via/ioinit.fth	2009-10-27 20:32:48 UTC (rev 1436)
+++ cpu/x86/pc/olpc/via/ioinit.fth	2009-10-27 22:18:55 UTC (rev 1437)
@@ -1,5 +1,15 @@
 \ Also from FinalSetting.c
 
+\ Subsystem IDs
+0833152d 002c config-wl
+0833152d 012c config-wl
+0833152d 022c config-wl
+0833152d 032c config-wl
+0833152d 042c config-wl
+0833152d 052c config-wl
+0833152d 062c config-wl
+0833152d 072c config-wl
+
    0 4 devfunc  \ PM_table
    a0 80 80 mreg \ Enable dynamic power management (coreboot for vx800 uses f0; 70 bits are reserved on vx855)
    a1 e0 e0 mreg \ Dynamic power management for DRAM
@@ -69,8 +79,24 @@
    a3 01 01 mreg  \ 01 res be like Phx
    end-table
 
+0 [if]
+   d# 11 0 devfunc  \ USB device
+   41 18 18 mreg  \ Enable backdoor
+   62 ff 2d mreg  \ Subsystem ID backdoor
+   63 ff 15 mreg  \ Subsystem ID backdoor
+   60 ff 33 mreg  \ Subsystem ID backdoor
+   61 ff 08 mreg  \ Subsystem ID backdoor
+   41 08 08 mreg  \ Disable backdoor, enable use of backdoored Subsystem ID
+   end-table
+[then]
+
    d# 12 0 devfunc  \ SDIO tuning
    44 01 01 mreg  \ Enable backdoor
+   2c ff 2d mreg  \ Subsystem ID backdoor
+   2d ff 15 mreg  \ Subsystem ID backdoor
+   2e ff 33 mreg  \ Subsystem ID backdoor
+   2f ff 08 mreg  \ Subsystem ID backdoor
+   44 01 00 mreg  \ Disable backdoor
 \   8b 05 01 mreg  \ Do not report 1.8V support
    8c c3 03 mreg  \ Falling edge trigger for Slots 1 and 2 data in high speed
    8e ff 7e mreg  \ Delay host clock for Slots 1, 2, 3 by 4.8 nS
@@ -83,6 +109,17 @@
 [then]
    end-table
 
+0 [if]
+   d# 13 0 devfunc  \ Card reader
+   fc 0c 0c mreg  \ Enable backdoor
+   2c ff 2d mreg  \ Subsystem ID backdoor
+   2d ff 15 mreg  \ Subsystem ID backdoor
+   2e ff 33 mreg  \ Subsystem ID backdoor
+   2f ff 08 mreg  \ Subsystem ID backdoor
+   fc 0c 00 mreg  \ Disable backdoor
+   end-table
+[then]
+
 1 [if]
    d# 15 0 devfunc  \ EIDE tuning
    09 05 05 mreg  \ Set EIDE to native mode so prober will see config reg 3d set
@@ -96,9 +133,14 @@
    c4 1d 18 mreg  \ Config 1
 \  d4 ac 24 mreg  \ Config 3
    d4 bc 34 mreg  \ Config 3 - 10 res be like Phx
+   bc ff 2d mreg  \ Subsystem ID backdoor
+   bd ff 15 mreg  \ Subsystem ID backdoor
+   be ff 33 mreg  \ Subsystem ID backdoor
+   bf ff 08 mreg  \ Subsystem ID backdoor
    end-table
 [then]
 
+   0833152d 802c config-wl
    \ USB Tuning
    d# 16 0 devfunc  \ UHCI Ports 0,1
    4a 02 02 mreg  \ Enable Stop Bus Master Cycle if HALT Bit is Asserted
@@ -106,6 +148,7 @@
    c1 20 00 mreg  \ Disable USB PIRQ
    end-table
 
+   0833152d 812c config-wl
    d# 16 1 devfunc  \ UHCI Ports 2,3
    4a 02 02 mreg  \ Enable Stop Bus Master Cycle if HALT Bit is Asserted
    4b 60 60 mreg  \ Enable New UHCI Dynamic Scheme - 66MHz (40) & 33MHz (20)
@@ -113,6 +156,7 @@
    end-table
 
 [ifndef] xo-board
+   0833152d 822c config-wl
    d# 16 2 devfunc  \ UHCI Ports 4,5
    4a 02 02 mreg  \ Enable Stop Bus Master Cycle if HALT Bit is Asserted
    4b 60 60 mreg  \ Enable New UHCI Dynamic Scheme - 66MHz (40) & 33MHz (20)
@@ -120,6 +164,7 @@
    end-table
 [then]
 
+   0833152d 842c config-wl
    d# 16 4 devfunc  \ EHCI
    41 20 20 mreg  \ Evaluate PERIODIC Enable bit only at beginning of micro-frame 0 (undocumented)
    42 40 40 mreg  \ Enable Check PRESOF of ITDOUT Transaction during Fetching Data from DRAM
@@ -195,10 +240,10 @@
    6b ff rot mreg  \ HPET base high
 
    6e ff 18 mreg  \ COMB not pos decoded but otherwise set to 2f8, COMA pos decoded at 3f8
-   70 ff 06 mreg  \ SVID backdoor
-   71 ff 11 mreg  \ SVID backdoor
-   72 ff 37 mreg  \ SVID backdoor
-   73 ff 33 mreg  \ SVID backdoor
+   70 ff 2d mreg  \ Subsystem ID backdoor
+   71 ff 15 mreg  \ Subsystem ID backdoor
+   72 ff 33 mreg  \ Subsystem ID backdoor
+   73 ff 08 mreg  \ Subsystem ID backdoor
 [ifdef] demo-board   \ No need to debounce on XO as the signal comes from the EC
    80 20 20 mreg  \ Debounce power button
 [then]
@@ -310,6 +355,12 @@
 
    d# 20 0 devfunc
    41 01 01 mreg  \ Dynamic clock for HDAC
+   40 01 01 mreg  \ Enable backdoor
+   2c ff 2d mreg  \ Subsystem ID backdoor
+   2d ff 15 mreg  \ Subsystem ID backdoor
+   2e ff 33 mreg  \ Subsystem ID backdoor
+   2f ff 08 mreg  \ Subsystem ID backdoor
+   40 01 00 mreg  \ Disable backdoor
    end-table
 
 [ifdef] use-apic

Modified: cpu/x86/pc/olpc/via/startgfxinit.fth
===================================================================
--- cpu/x86/pc/olpc/via/startgfxinit.fth	2009-10-27 20:32:48 UTC (rev 1436)
+++ cpu/x86/pc/olpc/via/startgfxinit.fth	2009-10-27 22:18:55 UTC (rev 1437)
@@ -75,10 +75,10 @@
    6f 3c4 port-wb  d# 16 # bx shr  bl al mov  3c5 # dx mov  al dx out  \ Base address [47:37] of SL in System Memory
 [then]
 
-   36 3c4 port-wb  11 3c5 port-wb  \ Subsystem Vendor ID 1
-   35 3c4 port-wb  06 3c5 port-wb  \ Subsystem Vendor ID 0
-   38 3c4 port-wb  51 3c5 port-wb  \ Subsystem ID 1
-   37 3c4 port-wb  22 3c5 port-wb  \ Subsystem ID 0
+   35 3c4 port-wb  2d 3c5 port-wb  \ Subsystem Vendor ID 0
+   36 3c4 port-wb  15 3c5 port-wb  \ Subsystem Vendor ID 1
+   37 3c4 port-wb  33 3c5 port-wb  \ Subsystem ID 0
+   38 3c4 port-wb  08 3c5 port-wb  \ Subsystem ID 1
 
    f3 3c4 port-wb  00 3c5 port-wb  \ 1a for snapshot mode
    f3 3d4 port-wb  12 3c5 port-wb  \ Snapshot mode control - 1a for snapshot mode




More information about the openfirmware mailing list