Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 31 May 2007 06:24 PM by  zonque
Linux USB Support
 3 Replies
Sort:
You are not authorized to post a reply.
Author Messages
bwil@willers2000.de
New Member
New Member
Posts:


--
16 May 2007 02:28 AM
    Hello folks,
    did anyone get the USB ports up&running using Linux?
    I tried, but failed.
    The problems:

    a) usb is disabled after applying the linux-2.6.16-mx31-lite1.patch (it adds a skeleton usb_lite.c file with just enough to compile)
    b) after enabeling the USB-code for the ADS board again my system says

    initializing FSL-SOC USB Controller
    usbh1_init: grab H1 pins
    USB_CLK=49410000, should be 60MHz
    fsl-ehci fsl-ehci.0: init fsl-ehci.0 fail, -19
    usbh1_uninit:


    c) to solve b) i tried to fix the USB_CLK by tweaking the USBPLL, but i didn't find an easy way to do that yet.
    d)the second attemt to "solve" b) was to disable the frequency check in the driver. this finally made the driver load. drawbacks here:
    usb still not working. ethernet stopped working.
    usbh1_init: grab H1 pins
    USB_CLK=49410000, should be 60MHz
    irq 90: nobody cared (try booting with the "irqpoll" option)
    handlers:
    [<c016e630>] (smsc911x_irqhandler+0x0/0x1f8)
    Disabling IRQ #90
    fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
    fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
    fsl-ehci fsl-ehci.0: irq 35, io base 0x43f88200
    fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
    usb usb1: Product: Freescale On-Chip EHCI Host Controller
    usb usb1: Manufacturer: Linux 2.6.19.2 ehci_hcd
    usb usb1: SerialNumber: fsl-ehci.0
    usb usb1: configuration #1 chosen from 1 choice
    hub 1-0:1.0: USB hub found

    i also followed the kernel's suggestion to use irqpoll. didn't help either.

    thanks,

    ben
    zonque
    New Member
    New Member
    Posts:


    --
    29 May 2007 01:10 PM
    Posted By bwillers on 16 May 2007 2:28 AM

    c) to solve b) i tried to fix the USB_CLK by tweaking the USBPLL, but i didn''t find an easy way to do that yet.
    d)the second attemt to "solve" b) was to disable the frequency check in the driver. this finally made the driver load. drawbacks here:
    usb still not working. ethernet stopped working.




    ethernet stops working because the line USBH1_SUSPEND is grabbed by mr31lite.c:999. If you comment that one out, ethernet works again.
    So this makes me believe that this very part of the code has never actually been tested. Is the author reading this? I would be interested in any findings about the PLL issue and the reason why there is an 10% frequency error detected by the driver.

    I'll do some more investigations later.

    Thanks and greets,
    Daniel
    kurtl@logicpd.com
    New Member
    New Member
    Posts:


    --
    29 May 2007 04:07 PM
    Some things to watch out for those working on 3rd party USB drivers:
    - alpha and beta hardware have U16 pin 16 and U17 pin 16 tied to ground, however, NXP changed their chip requirements to require that pin to be floating. The result is that alpha and beta board USB PHys may not lock at the require 60Mhz to support the UPLI link. Pilot boards and beyond have this issue resolved.
    - during initialization you should reset the MX31 usb registers and reset the UPLI interface
    - on the MX31 the PLL clock is required until the PORTSC register is programmed with the correct PHY setting
    -K
    zonque
    New Member
    New Member
    Posts:


    --
    31 May 2007 06:24 PM
    Those two pins on the PHYs are not tied down on my PCB revision. The clock pin actually has 26MHz as required according to the datasheet.

    Thus, I commented out the clock check in the source and it actually worked.

    For the USB OTG port, you need to solder yourself a cable with a mini-B plug on one side and another mini-B plug on the other side. It looks strange, but it works, even in HS mode

    So in the end, I got it working - see my posting at http://www.logicpd.com/su...viewtopic.php?t=1135

    Let me know if that works for you as well.

    Best regards,
    Daniel
    You are not authorized to post a reply.