Hi Freaks,

i just want to know if the patch for the amd controller is already
built-in in some test kernel or if there is a way to easy patch the
usb-ohci.c file ;)

thx for your hard work to make linux the best os ever !

[EMAIL PROTECTED] schrieb:
> 
> --- the forwarded message follows ---
> 
>   ------------------------------------------------------------------------
> 
> Betreff: RE: Contacts within AMD? AMD-756 USB host-controller
>      blacklistedd ue to erratum #4
> Datum: Fri, 13 Apr 2001 20:18:23 -0500
> Von: [EMAIL PROTECTED]
> An: [EMAIL PROTECTED]
> 
> Miles,
> 
> I discovered that really all you need for this is a few simple facts.  Here
> then is an unofficial workaround for Errata #4 on the AMD-756 Rev D2
> peripheral bus controller. This errata pertains *only* to Rev D2 of the
> AMD-756 peripheral bus controller. The errata was corrected on later
> revisions.  To uniquely identify the AMD 756 Rev D2, refer to the "AMD-756
> Peripheral Bus Controller Revision Guide", in the section on "PCI Revision
> Documentation", pg 6
> (www.amd.com/products/cpg/athlon/techdocs/pdf/22591.pdf)
> 
> In a couple of days, the official workaround and sample code will be posted
> on
> AMD's website, www.amd.com. I will mail you a pointer when it gets there.
> But, I realize that the Linux folks have been asking for this info for a
> while, so here is an informal, unofficial preview of a workaround for the
> errata on Rev D2.
> 
> Whenever a USB device is initialized, it should be detected by the
> AMD-756-Rev-D2 USB host controller. However, on occasion, the USB controller
> does not enumerate slow-speed devices.  When the AMD-756-Rev-D2 peripheral
> bus
> controller is performing USB-initiated PCI master cycles and a USB device is
> initialized, it may not be detected correctly. During this time, the
> following
> registers may contain incorrect status in the USB operation mode --
> HcRhDescriptorA1 (offset 48h) , HcRhDescriptorA2 (offset 4Ah), and
> HcRhPortStatus[1:4] (offset 54h to 63h).  This behavior only exists for
> low-speed devices. This behavior is seen when slow-speed devices are
> occasionally not detected at boot time or when hot-plugged.
> 
> A suggested workaround when reading any of these registers is to perform the
> read in a loop until the returned value for most of the reserved bits of
> that
> register are read as zero.  Thus, for each iteration, the value read is
> logically-anded to a mask (to keep just the value of the reserved bits) and
> compared with zero.  A loop count of 10 can be used for timeout. These
> registers usually return the correct status in 5 or 6 reads. Here are the
> masks to use for each of these registers:
> 
> HcRhDescriptorA1:  E000h
> HcRhDescriptorA2:  FC0Fh
> HcRhPortStatus[n]: FFE0FCE0h
> 
> This method must be implemented for all four USB ports supported by the
> AMD-756
> peripheral bus controller.
> 
> Lastly, you should consider the following issues for proper USB
> initialization
> on the AMD-756 peripheral bus controller Rev D2.
> 
> + The NoPowerSwitching bit should be set in HcRhDescriptorA to indicate that
>   the USB ports are always powered on for AMD-756 USB controller.
> 
> + When the SMI is enabled for USB legacy support, the SMI_EN bit (PM2C[0])
> is
>   the only bit that needs to be enabled for the USB SMI generation. The
>   interrupt status has to be evaluated from the USB controller, not from the
>   PMIO space. The USBSMI_EN bit (PM2A[4]) should not be enabled for the USB
>   legacy support.
> 
>         - Rich Brunner @ AMD

--

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to