Hi, After commenting this with Uwe on IRC, he said I should ask to the list to see if someone knows what's going on.
I'm running LB with some patches (combined with fixes sent by Uwe and Rudolf), plus some PNP adjustments for the keyboard/game/midi ports on my ASUS A8N5X (K8/CK804/IT8712F), and keyboard is not working neither from FILO nor Linux. Find attached: - combined diff of the changes I have relative to svn - minicom capture log (using loglevel 11) - "lspci -nnv" and "lspnp -v" output Some hint would be appreciated. TIA! -- Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What use is a phone call, if you are unable to speak? (as seen on /.)
Index: src/southbridge/nvidia/ck804/ck804_early_setup.c
===================================================================
--- src/southbridge/nvidia/ck804/ck804_early_setup.c (revision 2742)
+++ src/southbridge/nvidia/ck804/ck804_early_setup.c (working copy)
@@ -279,7 +279,7 @@
RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0+19, ~(0xff), ((0<<4)|(1<<2)|(0<<0)),
RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0+ 3, ~(0xff), ((0<<4)|(1<<2)|(0<<0)),
RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0+ 3, ~(0xff), ((0<<4)|(1<<2)|(1<<0)),
- RES_PCI_IO, PCI_ADDR(CK804B_BUSN, CK804B_DEVN_BASE+1 , 0, 0xe4), ~(1<<23), (1<<23);
+ RES_PCI_IO, PCI_ADDR(CK804B_BUSN, CK804B_DEVN_BASE+1 , 0, 0xe4), ~(1<<23), (1<<23),
#endif
#if CK804_USE_ACI == 1
Index: src/mainboard/asus/a8n_e/Config.lb
===================================================================
--- src/mainboard/asus/a8n_e/Config.lb (revision 2742)
+++ src/mainboard/asus/a8n_e/Config.lb (working copy)
@@ -245,56 +245,27 @@
device pci 0.0 on end # HT
device pci 1.0 on # LPC
chip superio/ite/it8712f
- device pnp 2e.0 off # Floppy
+ device pnp 2e.7 off # Floppy
io 0x60 = 0x03f0
irq 0x70 = 6
drq 0x74 = 2
end
- device pnp 2e.1 on # Com1
+ device pnp 2e.8 on # Com1
io 0x60 = 0x03f8
irq 0x70 = 4
end
- device pnp 2e.2 off # Com2
- io 0x60 = 0x02f8
- irq 0x70 = 3
- end
- device pnp 2e.3 on # Parallel Port
+ device pnp 2e.9 on # Parallel Port
io 0x60 = 0x0378
irq 0x70 = 7
end
- device pnp 2e.4 on # Environment Controller
- io 0x60 = 0x0290
- io 0x62 = 0x0000
- irq 0x70 = 0x00
- end
- device pnp 2e.5 on # Keyboard
+ device pnp 2e.a on # Keyboard
io 0x60 = 0x0060
io 0x62 = 0x0064
irq 0x70 = 0x01
irq 0x71 = 0x02
end
- device pnp 2e.6 on # Mouse
- irq 0x70 = 0x0c
- irq 0x71 = 0x02
- end
- device pnp 2e.7 on # GPIO config
- # Set GPIO 1 & 2
- io 0x25 = 0x0000
- # Set GPIO 3 & 4
- io 0x27 = 0x2540
- # GPIO Polarity for Set 3
- io 0xb2 = 0x2100
- # GPIO Pin Internal Pull up for Set 3
- io 0xba = 0x0100
- # Simple I/O register config
- io 0xc0 = 0x0000
- io 0xc2 = 0x2540
- io 0xc8 = 0x0000
- io 0xca = 0x0500
- end
- device pnp 2e.8 off end # Midi port
- device pnp 2e.9 off end # Game port
- device pnp 2e.a off end # IR
+ device pnp 2e.b off end # Midi port
+ device pnp 2e.c off end # Game port
end
end
device pci 1.1 on # SM 0
Index: src/mainboard/asus/a8n_e/Options.lb
===================================================================
--- src/mainboard/asus/a8n_e/Options.lb (revision 2742)
+++ src/mainboard/asus/a8n_e/Options.lb (working copy)
@@ -308,9 +308,9 @@
## SPEW 9 Way too many details
## Request this level of debugging output
-default DEFAULT_CONSOLE_LOGLEVEL=8
+default DEFAULT_CONSOLE_LOGLEVEL=11
## At a maximum only compile in this level of debugging
-default MAXIMUM_CONSOLE_LOGLEVEL=8
+default MAXIMUM_CONSOLE_LOGLEVEL=11
##
## Select power on after power fail setting
Index: src/northbridge/amd/amdk8/raminit.c
===================================================================
--- src/northbridge/amd/amdk8/raminit.c (revision 2742)
+++ src/northbridge/amd/amdk8/raminit.c (working copy)
@@ -324,7 +324,7 @@
* 001 = 2 Mem clocks after CAS# (Registered Dimms)
* [31:23] Reserved
*/
- PCI_ADDR(0, 0x18, 2, 0x8c), 0xff8fe08e, (0 << 20)|(0 << 8)|(0 << 4)|(0 << 0),
+ PCI_ADDR(0, 0x18, 2, 0x8c), 0xff8fe08e, (0 << 20)|(0 << 8)|(0 << 4)|(1 << 0),
/* DRAM Config Low Register
* F2:0x90
* [ 0: 0] DLL Disable
@@ -395,12 +395,14 @@
* 111 = Oldest entry in DCQ can be bypassed 7 times
* [31:28] Reserved
*/
- PCI_ADDR(0, 0x18, 2, 0x90), 0xf0000000,
+ PCI_ADDR(0, 0x18, 2, 0x90), 0xc0000000,
+ (1 << 29)|
+ (1 << 28)|
(4 << 25)|(0 << 24)|
(0 << 23)|(0 << 22)|(0 << 21)|(0 << 20)|
(1 << 19)|(0 << 18)|(1 << 17)|(0 << 16)|
(2 << 14)|(0 << 13)|(0 << 12)|
- (0 << 11)|(0 << 10)|(0 << 9)|(0 << 8)|
+ (0 << 11)|(0 << 10)|(1 << 9)|(0 << 8)| //CHANGE DUAL DIMM ENABLE
(0 << 3) |(0 << 1) |(0 << 0),
/* DRAM Config High Register
* F2:0x94
@@ -1201,7 +1203,7 @@
if (unbuffered && registered) {
die("Mixed buffered and registered dimms not supported");
}
-#if 1
+#if 0
// yhlu debug: Athlon64 939 can do dual channel, but it uses unbuffered DIMMs
if (unbuffered && is_opteron(ctrl)) {
die("Unbuffered Dimms not supported on Opteron");
@@ -1946,6 +1948,8 @@
}
}
}
+ clocks = 4;
+
if ((clocks < DTH_TRWT_MIN) || (clocks > DTH_TRWT_MAX)) {
die("Unknown Trwt\r\n");
}
@@ -2046,11 +2050,12 @@
/* 5ns */
rdpreamble = ((5 << 1)+0);
} else {
- /* 7ns */
- rdpreamble = ((7 << 1)+0);
+ /* 5.5ns */
+ rdpreamble = ((5 << 1)+1);
}
}
}
+
if ((rdpreamble < DCH_RDPREAMBLE_MIN) || (rdpreamble > DCH_RDPREAMBLE_MAX)) {
die("Unknown rdpreamble");
}
@@ -2089,7 +2094,7 @@
}
else {
/* 6ns */
- async_lat = 6;
+ async_lat = 7;
}
}
dch |= ((async_lat - DCH_ASYNC_LAT_BASE) << DCH_ASYNC_LAT_SHIFT);
Index: src/northbridge/amd/amdk8/northbridge.c
===================================================================
--- src/northbridge/amd/amdk8/northbridge.c (revision 2742)
+++ src/northbridge/amd/amdk8/northbridge.c (working copy)
@@ -556,7 +556,7 @@
base |= (resource->base >> 8) & 0xffffff00;
base |= 3;
limit &= 0x00000048;
- limit |= ((resource->base + resource->size) >> 8) & 0xffffff00;
+ limit |= ((resource->base + resource->size - 1) >> 8) & 0xffffff00;
limit |= (resource->index & 3) << 4;
limit |= (nodeid & 7);
f1_write_config32(reg + 0x4, limit);
Index: src/northbridge/amd/amdk8/incoherent_ht.c
===================================================================
--- src/northbridge/amd/amdk8/incoherent_ht.c (revision 2742)
+++ src/northbridge/amd/amdk8/incoherent_ht.c (working copy)
@@ -830,6 +830,8 @@
static inline unsigned get_nodes(void);
#endif
+unsigned get_sbdn(unsigned);
+
#if RAMINIT_SYSINFO == 1
static void ht_setup_chains_x(struct sys_info *sysinfo)
#else
Index: targets/asus/a8n_e/Config.lb
===================================================================
--- targets/asus/a8n_e/Config.lb (revision 2742)
+++ targets/asus/a8n_e/Config.lb (working copy)
@@ -29,7 +29,7 @@
option XIP_ROM_SIZE=0x20000
option LINUXBIOS_EXTRA_VERSION="_Normal"
# payload ../../../../../../payloads/dummy.elf
- payload ../../../../../../payloads/filo.elf
+ payload /home/rmh/hacking/linuxbios/filo-0.5/filo.elf
end
romimage "fallback"
@@ -39,7 +39,7 @@
option XIP_ROM_SIZE=0x20000
option LINUXBIOS_EXTRA_VERSION="_Fallback"
# payload ../../../../../../payloads/memtest.elf
- payload ../../../../../../payloads/filo.elf
+ payload /home/rmh/hacking/linuxbios/filo-0.5/filo.elf
end
romimage "failover"
00:00.0 Memory controller [0580]: nVidia Corporation CK804 Memory Controller
[10de:005e] (rev a3)
Flags: bus master, 66MHz, fast devsel, latency 0
Capabilities: [44] HyperTransport: Slave or Primary Interface
Capabilities: [e0] HyperTransport: MSI Mapping
00:01.0 ISA bridge [0601]: nVidia Corporation CK804 ISA Bridge [10de:0050] (rev
a3)
Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard [1043:815a]
Flags: bus master, 66MHz, fast devsel, latency 0
00:01.1 SMBus [0c05]: nVidia Corporation CK804 SMBus [10de:0052] (rev a2)
Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard [1043:815a]
Flags: 66MHz, fast devsel, IRQ 5
I/O ports at e400 [size=32]
I/O ports at 4c00 [size=64]
I/O ports at 4c40 [size=64]
Capabilities: [44] Power Management version 2
00:02.0 USB Controller [0c03]: nVidia Corporation CK804 USB Controller
[10de:005a] (rev a2) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard [1043:815a]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 217
Memory at d2004000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
00:02.1 USB Controller [0c03]: nVidia Corporation CK804 USB Controller
[10de:005b] (rev a3) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard [1043:815a]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 225
Memory at feb00000 (32-bit, non-prefetchable) [size=256]
Capabilities: [44] Debug port
Capabilities: [80] Power Management version 2
00:04.0 Multimedia audio controller [0401]: nVidia Corporation CK804 AC'97
Audio Controller [10de:0059] (rev a2)
Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard [1043:812a]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 225
I/O ports at dc00 [size=256]
I/O ports at e000 [size=256]
Memory at d2003000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
00:06.0 IDE interface [0101]: nVidia Corporation CK804 IDE [10de:0053] (rev f2)
(prog-if 8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard [1043:815a]
Flags: bus master, 66MHz, fast devsel, latency 0
I/O ports at f000 [size=16]
Capabilities: [44] Power Management version 2
00:07.0 IDE interface [0101]: nVidia Corporation CK804 Serial ATA Controller
[10de:0054] (rev f3) (prog-if 85 [Master SecO PriO])
Subsystem: ASUSTeK Computer Inc. Unknown device [1043:815a]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 50
I/O ports at 09f0 [size=8]
I/O ports at 0bf0 [size=4]
I/O ports at 0970 [size=8]
I/O ports at 0b70 [size=4]
I/O ports at d800 [size=16]
Memory at d2002000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
00:08.0 IDE interface [0101]: nVidia Corporation CK804 Serial ATA Controller
[10de:0055] (rev f3) (prog-if 85 [Master SecO PriO])
Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard [1043:815a]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 217
I/O ports at 09e0 [size=8]
I/O ports at 0be0 [size=4]
I/O ports at 0960 [size=8]
I/O ports at 0b60 [size=4]
I/O ports at c400 [size=16]
Memory at d2001000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
00:09.0 PCI bridge [0604]: nVidia Corporation CK804 PCI Bridge [10de:005c] (rev
a2) (prog-if 01 [Subtractive decode])
Flags: bus master, 66MHz, fast devsel, latency 0
Bus: primary=00, secondary=05, subordinate=05, sec-latency=128
Memory behind bridge: d0000000-d1ffffff
Prefetchable memory behind bridge: 68000000-680fffff
00:0a.0 Bridge [0680]: nVidia Corporation CK804 Ethernet Controller [10de:0057]
(rev a3)
Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard [1043:8141]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 233
Memory at d2000000 (32-bit, non-prefetchable) [size=4K]
I/O ports at b000 [size=8]
Capabilities: [44] Power Management version 2
00:0b.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d]
(rev a3) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
Capabilities: [40] Power Management version 2
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1
Enable+
Capabilities: [58] HyperTransport: MSI Mapping
Capabilities: [80] Express Root Port (Slot+) IRQ 0
Capabilities: [100] Virtual Channel
00:0c.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d]
(rev a3) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
Capabilities: [40] Power Management version 2
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1
Enable+
Capabilities: [58] HyperTransport: MSI Mapping
Capabilities: [80] Express Root Port (Slot+) IRQ 0
Capabilities: [100] Virtual Channel
00:0d.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d]
(rev a3) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
Capabilities: [40] Power Management version 2
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1
Enable+
Capabilities: [58] HyperTransport: MSI Mapping
Capabilities: [80] Express Root Port (Slot+) IRQ 0
Capabilities: [100] Virtual Channel
00:0e.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d]
(rev a3) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Capabilities: [40] Power Management version 2
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1
Enable+
Capabilities: [58] HyperTransport: MSI Mapping
Capabilities: [80] Express Root Port (Slot+) IRQ 0
Capabilities: [100] Virtual Channel
00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
HyperTransport Technology Configuration [1022:1100]
Flags: fast devsel
Capabilities: [80] HyperTransport: Host or Secondary Interface
00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Address Map [1022:1101]
Flags: fast devsel
00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
DRAM Controller [1022:1102]
Flags: fast devsel
00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Miscellaneous Control [1022:1103]
Flags: fast devsel
05:06.0 VGA compatible controller [0300]: S3 Inc. 86c764/765 [Trio32/64/64V+]
[5333:8811] (prog-if 00 [VGA])
Flags: medium devsel, IRQ 3
Memory at d1000000 (32-bit, non-prefetchable) [size=8M]
[virtual] Expansion ROM at 68000000 [disabled] [size=64K]
00:00 PNP0a08 (unknown)
state = active
io 0xcf8-0xcff
00:01 PNP0c02 Motherboard resources
state = active
io 0x4000-0x407f
io 0x4080-0x40ff
io 0x4400-0x447f
io 0x4480-0x44ff
io 0x4800-0x487f
io 0x4880-0x48ff
00:02 PNP0c02 Motherboard resources
state = active
io 0x10-0x1f
io 0x22-0x3f
io 0x44-0x5f
io 0x62-0x63
io 0x65-0x6f
io 0x74-0x7f
io 0x91-0x93
io 0xa2-0xbf
00:03 PNP0200 AT DMA controller
state = active
io 0x0-0xf
io 0x80-0x90
io 0x94-0x9f
io 0xc0-0xdf
dma 4
00:04 PNP0b00 AT real-time clock
state = active
io 0x70-0x73
irq 8
00:05 PNP0800 AT speaker
state = active
io 0x61-0x61
00:06 PNP0c04 Math coprocessor
state = active
io 0xf0-0xff
irq 13
00:07 PNP0700 PC standard floppy disk controller
state = active
io 0x3f0-0x3f5
io 0x3f7-0x3f7
irq 6
dma 2
00:08 PNP0501 16550A-compatible serial port
state = active
io 0x3f8-0x3ff
irq 4
00:09 PNP0401 ECP printer port
state = active
io 0x378-0x37f
io 0x778-0x77b
irq 7
dma 3
00:0a PNP0303 IBM enhanced keyboard (101/102-key, PS/2 mouse support)
state = active
io 0x60-0x60
io 0x64-0x64
irq 1
00:0b PNPb006 MPU401 compatible
state = active
io 0x330-0x331
irq 10
00:0c PNPb02f Joystick/Game port
state = active
io 0x201-0x201
00:0d PNP0c02 Motherboard resources
state = active
mem 0xe0000000-0xefffffff
00:0e PNP0c01 System board
state = active
mem 0xf0000-0xf3fff
mem 0xf4000-0xf7fff
mem 0xf8000-0xfbfff
mem 0xfc000-0xfffff
minicom.cap.gz
Description: Binary data
-- linuxbios mailing list [email protected] http://www.linuxbios.org/mailman/listinfo/linuxbios
