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 08 Dec 2017 07:53 AM by  Adam Ford
ISP1763 and mainline kernel
 8 Replies
Sort:
You are not authorized to post a reply.
Author Messages

Marco Fonseca



New Member


Posts:15
New Member


--
25 Apr 2017 12:34 PM

    Hello,

    I'm currently trying to upgrade from the older 3.0 bsp (dm3730 torpedo + wireless som) to a newer mainline supported one (4.9.18 kernel).  Unfortunatly, I've just learned that its not supported by mainline.

     

    I've seen atleast one patch to bring in the isp1763 in 2013 but it apperently didn't go anywhere.

     

    Adam, you said that some prelimiary work has been started on a bsp release based on a 4.9.x kernel?  Has any work been done to forward port the isp1763 driver from 3.0 yet?  I can only imagine that it it will be a PITA to foreward port, and really hope to not go down that road.

     

    Thanks,

    Marco


    Adam Ford



    Advanced Member


    Posts:788
    Advanced Member


    --
    25 Apr 2017 01:29 PM
    Marco,

    Unfortunately, we don't have have plans to forward-port the ISP1763 since we don't own the IP inside that chipset. We have worked with a customer to port another USB driver that had mainline support but not device tree support. That was fairly straight forward. While I cannot give you their source code, I can certainly give you some pointers if you want to try and port it.

    It's one of the reasons that the Linux support remains in a 'beta' state for the newer kernels. I have been looking for newer drivers to see what was available. The newest attempted patch I could find is: https://www.spinics.net/lists/linux-usb/msg85958.html

    There was some mainline references to it from a juno-motherboard, but that was removed from the kernel with the following patch:
    https://patchwork.kernel.org/patch/9523521/

    The ISP1760 and ISP1761 are supported in the mainline, and it might be possible to adapt that driver to the 1763, but I don't have know the register sets to know if they are compatible or how difficult it would be to adapt.

    I can connect you with our design services group if you wanted to hire them to do the work to port it for your application.


    adam


    Marco Fonseca



    New Member


    Posts:15
    New Member


    --
    25 Apr 2017 02:33 PM

    Thank you for the fast reply Adam. 

    Well that stinks.  I'm going to take a better look at it then.  I'm sure the usb subsystem hasn't changed that much since 3.0 (haha).

    Marco


    Marco Fonseca



    New Member


    Posts:15
    New Member


    --
    27 Apr 2017 10:17 AM

    Hi Adam,

    So I ported the isp1763 to 4.9.18 without too much trouble (compiling wise).  The platform data was more troublesome, I hacked in some of the platform data from the 3.0.0 board-omap3logic.c that relates to the isp1763 (I'll deal with device tree stuff later).  I've gotten to the point when I start the driver the system hangs because its continuously servicing interrupts from gpio_128 line.  

    A comment in the omap3logic_init_isp1763(), mentions that the pbias needs to be setup correctly or you will get an IRQ storm, which then calls omap3torpedo_fix_fbias_voltage().

    As far as I can tell the omap3torpedo_fix_fbias_voltage() function runs correctly.

     


    I've probed the GPIO line and its around 900-1000mv, which is probably why its continuously triggering the interrupt handler.

    I've also read somewhere that the PMIC needs to be up and running to make this work right, which I'm not sure why that would be the case for an input?

    I also see omap3_gpio126_127_129() which runs early without problems seems to play with pbias as well.

     

    Do you have any experience/insight with this?

     

    Thanks,

    Marco


    Adam Ford



    Advanced Member


    Posts:788
    Advanced Member


    --
    27 Apr 2017 10:59 AM
    Marco,

    The guy who did the original port of this board to the device tree (not an employee of Logic PD) created a function to initialize the pbias-regulator for the gpio pins for the MMC card. Look inside arch/arm/mach-omap2/pdata-quirks.c from the 4.9 kernel and look for omap3_gpio126_127_129(void) and you'll see his comment.

    I haven't spend much time on reviewing his code, but if you make changes to that code, double check to the voltage levels of the MMC card to make sure that changing the pbias doesn't break the MMC card functionality. Another possibility could be pin-muxing configuration on that pin.

    adam




    Marco Fonseca



    New Member


    Posts:15
    New Member


    --
    27 Apr 2017 01:44 PM
    Thanks Adam,

    Looks like the secret was ignoring the omap3torpedo_fix_fbias_voltage(), and just setting up the pinmux like normal. I was able to enumerate and mount my usb flash stick.

    I can post the isp1763 changes after I'm done with the rest of my changes if theres any interest.

    Thanks again.

    Adam Ford



    Advanced Member


    Posts:788
    Advanced Member


    --
    27 Apr 2017 02:07 PM
    I would be interested. I can send you a private e-mail and you can send us your patches. If you don't mind, I'd like to review them and include them in a future BSP.

    adam

    John Woods



    New Member


    Posts:1
    New Member


    --
    07 Dec 2017 08:48 PM

    Can I assume the USB 2.0 and 3.0 host ports don't work on the Torpedo Launcher dev board if the ISP1763 driver isn't part of the BSP? How can I test with a USB device on this dev board?


    Adam Ford



    Advanced Member


    Posts:788
    Advanced Member


    --
    08 Dec 2017 07:53 AM
    There are no USB 3.0 host ports on the Torpedo development kit, and unfortunately the ISP1763 isn't in the mainline kernel. This is one of the reasons it's been listed as 'beta'

    The USB OTG port does work and it can operate as either device or host. You can enable it with 'modprobe g_zero' and it will enable a zero gadget. A gadget driver is required for operating the OTG controller as either host or device with it's default configuration, but you can reconfigure the kernel to operate it as host-only using make menuconfig

    I have heard rumors that someone was able to adapt ISP1763 to operate with a modern kernel, so I will reach out to that customer to see if he is willing to share that code with others.

    adam
    You are not authorized to post a reply.