[LinuxBIOS] new feature - CrushK8-04 USB1 Controller Reset
rminnich at gmail.com
Fri Feb 2 23:40:43 CET 2007
On 2/1/07, Roman Kononov <kononov195-lbl at yahoo.com> wrote:
> I have Sun Ultra40 workstation. Southbridge is nVidia CrushK8-04/nforce
> 2200 (too many names, sounds like a criminal).
> 1) Linuxbios loads kernel A; kernel A loads kernel B. Everything works fine.
> 2) Then I push the reset button.
> 3) Linuxbios loads kernel A; kernel A loads kernel B. Kernel B complains
> about wrong checksum of the mptable and crushes later.
> An investigation showed that in 3), short after kernel A (v18.104.22.168) sets
> the Bus Master Enable bit of the nVidia's USB1 controller (pci_set_master()),
> the mptable gets two bytes at physical address 0x80 damaged.
> Nothing is plugged to the USB ports. Other two Sun workstations had the same
> behavior. This does not make sense to me unless the controller has a HW bug.
> I believe, this should better be fixed in the kernel USB driver.
> For now this patch offers a possibility for linuxbios to reset the USB
> controller by setting HostControllerReset bit in HcCommandStatus Register.
> It is enablead by using 'register "usb1_hc_reset"="1"' in 'chip
> southbridge/nvidia/ck804' section of the mainboard's Config.lb.
> Signed-off-by: Roman Kononov <kononov195-lbl at yahoo.com>
Acked-by: Ronald G. Minnich <rminnich at gmail.com>
Committed revision 2546.
More information about the coreboot