usb host port3 on pxa310?

Igor Grinberg grinberg at compulab.co.il
Sun Aug 8 02:02:54 EDT 2010


On 08/08/10 04:21, Chen Wenjie wrote:
> Hi, Igor,
> Thank you very much for your warm and professional help!
> I will try to upgrade the codes for ohci-pxa27x first.
> > Do you really have sl811 and r8a66597 usb host controllers on your
> board?
> I think no real IC installed on my board, I just configure it on
> menuconfig by choose something
> seems related to USB (--blindly)

I'd rather remove the unused drivers from the configuration,
then have them built-in and do something with the missing hardware...

> Actually, my board use a ISP1105 as the PHY interface,the schematic is :
> http://picasaweb.google.com/114830881710721561783/Public#5502732460750351090
>

As far as I know DNP, stands for "Do Not Populate".
It states: "ISP1105BS(DNP)" - is it assembled at all?

> Do you think there is anything wrong?
> GPIO setting is :
> //file: mfp-pxa300.h
> /* USB P3 */
> #define GPIO77_USB_P3_1 MFP_CFG(GPIO77, AF2)
> #define GPIO78_USB_P3_2 MFP_CFG(GPIO78, AF2)
> #define GPIO79_USB_P3_3 MFP_CFG(GPIO79, AF2)
> #define GPIO80_USB_P3_4 MFP_CFG(GPIO80, AF2)
> #define GPIO81_USB_P3_5 MFP_CFG(GPIO81, AF2)
> #define GPIO82_USB_P3_6 MFP_CFG(GPIO82, AF2)
> #define GPIO126_USB_SPEED MFP_CFG_LPM(GPIO126, AF5, PULL_HIGH)

Indeed, those are the defines, but you need to do the actual configuration
for them, by calling pxa3xx_mfp_config() with appropriate parameters.

> I will upgrade the driver and test it again.
> Thank you very very much!
> 2010-08-08
> ------------------------------------------------------------------------
> Chen Wenjie
> ------------------------------------------------------------------------
> *发件人:* Igor Grinberg
> *发送时间:* 2010-08-07 21:42:57
> *收件人:* Chen Wenjie
> *抄送:* linux-arm-kernel
> *主题:* Re: usb host port3 on pxa310?
> On 08/06/10 21:43, Chen Wenjie wrote:
> > I want to use PXA310 to realize a USB HOST.
> >
> > (My kernel version: 2.6.27)
> >
> There was a relatively big change in ohci-pxa27x driver, I think
> around 2.6.28-rc1. May be you should consider upgrading...
> > Zylonite have implemented a USB host through USBH_N(USBH1_N)
> USBH_P(USBH1_P).
> > Unfortunatly, In PXA310, the pins of USBH1_N and USBH1_P does not exist.
> >
> > So I have to use "usb host port3 " described in the manual "Vol. IV:
> Monahans
> > L Processor and
> > Monahans LV Processor Developers Manual"
> >
> >
> >
> > GPIO
> > Alternate
> > Function
> > Port UP3OCR[CFG]
> > 0x0 0x2
> > USB_P3_1 UHC Rx Data (RCV - in) — UHC Rx Data (RCV -
> > out) —
> > USB_P3_2 UHC OE (OE_n - out) — UHC OE (OE_n - in)
> > —
> > USB_P3_3 UHC Rx D– (VM - in) — UHC Rx D- (VM -
> > out) —
> > USB_P3_4 UHC Tx D– (VMO - out) — UHC Tx D- (VMO -
> > in) —
> > USB_P3_5 UHC Rx D+ (VP - in) — UHC Rx D+ (VP -
> > out) —
> > USB_P3_6 UHC Tx D+ (VPO - out) — UHC Tx D+ (VPO -
> > in) —
> >
> > In the schematic, I have connected GPIO77~82 to USB_P3_1 ~ USB_P3_6.
> >
> You need also to configure those gpios to alternate function 2 in the
> MFPRs.
> If you use a transceiver mode, then may be you need USBHPEN signal
> connected to your PHY and configured accordingly in MFPR.
> Also, in pxa310 there is a U2DP3CR register, which controls output
> and serial mode selection of the usb port3.
> >
> >
> > However, The USB port 3 does not work.
> > Here is the log:
> >
> > ======================================
> > pxa27x-ohci pxa27x-ohci: PXA27x OHCI
> > pxa27x-ohci pxa27x-ohci: new USB bus registered, assigned bus number 1
> > pxa27x-ohci pxa27x-ohci: irq 3, io mem 0x4c000000
> > usb usb1: configuration #1 chosen from 1 choice
> > hub 1-0:1.0: USB hub found
> > hub 1-0:1.0: 3 ports detected
> > usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
> > usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> > usb usb1: Product: PXA27x OHCI
> > usb usb1: Manufacturer: Linux 2.6.27-dirty ohci_hcd
> > usb usb1: SerialNumber: pxa27x
> > sl811: driver sl811-hcd, 19 May 2005
> > r8a66597_hcd: driver r8a66597_hcd, 10 Apr 2008
> >
> Do you really have sl811 and r8a66597 usb host controllers on your board?
> > usb 1-3: new full speed USB device using pxa27x-ohci and address 2
> > usb 1-3: device descriptor read/64, error -62
> > usb 1-3: device descriptor read/64, error -62
> > usb 1-3: new full speed USB device using pxa27x-ohci and address 3
> > usb 1-3: device descriptor read/64, error -62
> > usb 1-3: device descriptor read/64, error -62
> > usb 1-3: new full speed USB device using pxa27x-ohci and address 4
> > usb 1-3: device not accepting address 4, error -62
> > usb 1-3: new full speed USB device using pxa27x-ohci and address 5
> > usb 1-3: device not accepting address 5, error -62
> > hub 1-0:1.0: unable to enumerate USB device on port 3
> > ======================================
> >
> >
> > Then I found a bit in UP2OCR -- (VPMBlockEnbN).
> > It is quite strange (if not ugly:( ) the this bit is to control port 3
> > (In UP2OCR--a register for port 2, while there is too many unused
> bits in
> > UP3OCR)
> >
> > But I am not very sure how to use this bit.
> > I grep the source tree, but found nothing about VPMBlockEnbN.
> >
> >
> > Can anyone tell me that how to write a driver for USB-host-port-3?
> >
> As far as I know pxa310 usb port3 does not need any special driver
> to work in host mode, ohci-pxa27x is enough.
> Currently, the setup of registers, which are not related to UHC
> (UP2OCR, UP3OCR, etc.), is done in the board code, in the ohci
> callback.
> > High appreciation for your kind help!
> >
> >
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >
> -- 
> Regards,
> Igor.

-- 
Regards,
Igor.




More information about the linux-arm-kernel mailing list