Synopsis OTG driver (DWC / S3C / IFX) porting question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Mon, 23 Jan 2012, Sztupák_Sz._Zsolt wrote:

> Hi!
>
> This might be a bit off topic, but I hope someone might be able to help me.
>
> I'm currently doing a port of the USB Host mode driver for Samsung 
> Galaxy S and similar devices (S5PV210 / S5PC110 platform). This chipset 
> uses the same Synopsys OTG, as some other devices, liek the designware 
> one. One of the major problems with the driver that it doesn't support 
> split transactions (and neither does it isochronous transactions, but 
> that's a smaller problem yet), so no USB 1.x support through USB 2 hubs. 
> (And besides the driver does reset the hubs a lot of times, making the 
> usb access jerky. This might be a hardware issue though)
>
> As far as I know I'm using the latest avialable version of this driver, 
> so the above two things seem to be not implemented in the latest release 
> either.
>
> Now I'm thinking of either porting the split and isochronous support 
> back to the S3C driver, or simply replaceing the driver with some of the 
> alternatives. My questions are:
> 1. Are the drivers, that I've found the latest/best one, or are there 
> more of them?
> 2. What do you suggest: porting split/isochronous transactions to the 
> the curent code, or dropping the whole code and try to get another 
> driver working? (Mainly looking at the DWC implementation, as in the IFX 
> one the bit order in the structs are the opposite than of the S3C one. 
> Both of them are MIPS not ARM though afaik). I did already had some 
> success with the DWC implementation (probe successed and the root hub 
> was created. It didn't see external devices, so probably the IRQ handler 
> didn't work). I only want to port the USB host part, as the USB client 
> part is working fine (the changing between them is done by simply 
> disabling the irqs in the client driver then probeing the host driver. 
> they aren't really interconnected)
> 3. What other suggestions you have to me while doing the port?
>
> Here are the sources of the files I'm currently using:
> Source of S3C OTG Host driver: 
> https://github.com/sztupy/samsung-kernel-aries/tree/android-samsung-3.0-ics/drivers/usb/host/s3c-otg
> Source of DWC OTG driver: 
> https://dev.openwrt.org/browser/trunk/target/linux/ramips/files/drivers/usb/dwc_otg
> Source of IFX driver: 
> ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3370/x_misc/opensrc/

You could have some legal issues if you use the code from openwrt.org. That
code still has the proprietary Synopsys license, so unless you work for a
company that has bought the Synopsys DWC OTG controller IP, you will not be
able to obtain authorization to release it or your modifications under the
GPL.

There is another version of that code floating around that has already been
relicensed under the GPL. You can search the linux-usb mailing list to find it.

-- 
paul (speaking for myself, not for Synopsys)

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


B and H Foto and Electronics Corp.

[Linux Media]     [Video for Linux]     [Linux Input]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]     [More Archives]

Add to Google Powered by Linux