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
openfirmware@openfirmware.info