Hi,
We have 3 usb otg cores (2 High Speed cores + 1 full speed core).Right
now, we are using one High Speed core in OTG mode and the other Full
Speed core in Host only Mode.
1. High Speed OTG Core Which we are using are right now has been
implemented for both Host and peripheral Mode. Basic ID pin detection is
done in the OTG driver and correspondingly starts the Host and
Peripheral. This core has an internal PHY.
2. Full Speed OTG core is used only for the Host Mode and is connected
to a serial PHY.
3. Both the Host Controller driver implementations(HS core and FS core)
that we are using has been implemented in a single file (ehci-msm.c). To
differentiate between these two cores (HS and FS) in the Host controller
driver(ehci-msm.c), we are making use of the PHY, which is different and
this PHY info is sent from platform data.
4. The FS Host Mode implementation is dependent on RPC callbacks from
other processor. Means, the cable connect/disconnect happens on other
processor and communicates to this processor through RPC's.
5. PHY reset code and LPM code is implemented in the OTG
driver(msm72k_otg.c)
The above is the background information about implementation, which we
have right now.
Problem statement: Now we have to third HS core for Host only Mode,
which has the internal PHY as the first core. So, should I implement the
Host controller driver in the same file(ehci-msm.c), Which already has
the two Host controller drivers support. Moreover the First HS core host
controller driver is tightly coupled with OTG, so If I should implement
the second HS Host core implementation in the same file (ehci-msm.c), it
will be tough to debug the driver, if any issues are reported.
Can I implement the second HS Host mode in a seperate file like
(ehci-msm2.c)? If this is accepted solution, then there will be lot of
duplicate code for PHY reset and LPM both in the OTG(msm72k_otg.c)
driver and this ehci-msm2.c?
Any pointers regarding where to implement the second HS Host mode in the
same existing file(ehci-msm.c) or a seperate file (ehci-msm2.c) will help?
Thanks,
Chiru.
--
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