Hello, We are developping hardware based on Freescale's i.MX31 SoC. I'm working on the Linux support of our devices. Currently I'm running tests on a mx31ADS dev board with Freescale 2.6.16.19 kernel release (which can be found here: http://www.bitshrine.org/autodocs/bsp_ext_ava_imx31ads.html)
First I found this very interesting post on this mailing-list: http://sourceforge.net/mailarchive/message.php?msg_id=38134069. From what I read in this post, the USB block used in i.MX31 is very similar to the one used in MPC834x family. Could someone confirm this and quickly explain the differences in the USB blocks ? Since MPC834x USB module seems to be already quite well advanced, I would be happy to try to port the work which was done for i.MX31 in order to help i.MX31 mainline support, or at least help me to have a functionnal USB support on our i.MX31 hardware. Now I have a more precise question about the actual implementation of Freescale i.MX31 kernel release (here is the patch: http://bitshrine.org/gpp/linux-2.6.16-mx31-usb-2.patch). It works well, but only with low-current devices (I have tested the ehci support with USB pendrive flash disk). But when I try to plug in some higher current consumers like a wifi pendrive for instance, which needs 300 mA, the configuration is rejected because of this from the choose_configuration function in drivers/usb/core/hub.c : > /* > * The next test may not be as effective as it should be. > * Some hubs have errors in their descriptor, claiming > * to be self-powered when they are really bus-powered. > * We will overestimate the amount of current such hubs > * make available for each port. > * > * This is a fairly benign sort of failure. It won't > * cause us to reject configurations that we should have > * accepted. > */ > > /* Rule out configs that draw too much bus current */ > if (c->desc.bMaxPower * 2 > udev->bus_mA) > continue; >From what I understand (I'm not very familiar with kernel USB code) c->desc.bMaxPower is what the hub makes available for each port and udev->bus_mA is what the device requests. This has failed for me with a device requesting 300 mA. Now I was not able to find in the code where this limit is fixed for my ehci hardware. Because I haven't found a current limitation in the USB block or transceiver (Phillips ISP1504) documentation (quick look). Thank you for your help. Valentin Longchamp ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel