Firefly Open Source Community

   Login   |   Register   |
New_Topic
Print Previous Topic Next Topic

Firefily Reload USB OTG port with mainline kernel

7

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
7

Firefily Reload USB OTG port with mainline kernel

Posted at 3/6/2017 15:36:53      View:3757 | Replies:1        Print      Only Author   [Copy Link] 1#
Hello,
I'm using a Firefly Reload board with the Linux mainline kernel, and I'm having trouble getting the USB OTG port to work in peripheral mode: it works fine in host mode but not in peripheral mode. I can successfully load the DWC2 driver and also load a gadget driver which gets correctly bound to the USB controller, but if I plug in a USB host into the OTG port nothing happens.
Has anyone managed to get this to work with the Linux mainline kernel 4.x?
Below is my log from the DWC2 driver (with debug prints enabled):

[    1.498030] dwc2 ff580000.usb: ff580000.usb supply vusb_d not found, using dummy regulator
[    1.507431] dwc2 ff580000.usb: ff580000.usb supply vusb_a not found, using dummy regulator
[    1.880012] dwc2 ff580000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g-tx-fifo-size, setting to default average
[    1.892596] dwc2 ff580000.usb: EPs: 10, dedicated fifos, 972 entries in SPRAM
[    1.901018] dwc2 ff580000.usb: DCFG=0x08100000, DCTL=0x00000002, DIEPMSK=00000000
[    1.909432] dwc2 ff580000.usb: GAHBCFG=0x00000000, GHWCFG1=0x00006664
[    1.916698] dwc2 ff580000.usb: GRXFSIZ=0x00000400, GNPTXFSIZ=0x00100400
[    1.924161] dwc2 ff580000.usb: DPTx[1] FSize=256, StAddr=0x00000410
[    1.931224] dwc2 ff580000.usb: DPTx[2] FSize=256, StAddr=0x00000900
[    1.938261] dwc2 ff580000.usb: DPTx[3] FSize=256, StAddr=0x00000a00
[    1.945318] dwc2 ff580000.usb: DPTx[4] FSize=256, StAddr=0x00000b00
[    1.952375] dwc2 ff580000.usb: DPTx[5] FSize=256, StAddr=0x00000c00
[    1.959410] dwc2 ff580000.usb: DPTx[6] FSize=256, StAddr=0x00000d00
[    1.966456] dwc2 ff580000.usb: DPTx[7] FSize=0, StAddr=0x00000e00
[    1.973317] dwc2 ff580000.usb: DPTx[8] FSize=0, StAddr=0x00000f00
[    1.980180] dwc2 ff580000.usb: DPTx[9] FSize=256, StAddr=0x00000410
[    1.987216] dwc2 ff580000.usb: ep0-in: EPCTL=0x00008800, SIZ=0x00000000, DMA=0x379a4f2d
[    1.996232] dwc2 ff580000.usb: ep0-out: EPCTL=0x00008000, SIZ=0x00000000, DMA=0xe3103c4f
[    2.005352] dwc2 ff580000.usb: ep1-in: EPCTL=0x00001000, SIZ=0x00000000, DMA=0x5cf9a35d
[    2.014369] dwc2 ff580000.usb: ep1-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x8b00a168
[    2.023482] dwc2 ff580000.usb: ep2-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0xfef360cf
[    2.032497] dwc2 ff580000.usb: ep2-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x9f637bc4
[    2.041609] dwc2 ff580000.usb: ep3-in: EPCTL=0x00002000, SIZ=0x00000000, DMA=0xf03470c5
[    2.050625] dwc2 ff580000.usb: ep3-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x8b00a168
[    2.059715] dwc2 ff580000.usb: ep4-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0xfef360cf
[    2.068731] dwc2 ff580000.usb: ep4-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0xb6c8c271
[    2.077843] dwc2 ff580000.usb: ep5-in: EPCTL=0x00003000, SIZ=0x00000000, DMA=0x84245611
[    2.086858] dwc2 ff580000.usb: ep5-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x8b00a168
[    2.095970] dwc2 ff580000.usb: ep6-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0xfef360cf
[    2.104986] dwc2 ff580000.usb: ep6-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x0a6c1c90
[    2.114102] dwc2 ff580000.usb: ep7-in: EPCTL=0x00004000, SIZ=0x00000000, DMA=0xaccb75ec
[    2.123111] dwc2 ff580000.usb: ep7-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x8b00a168
[    2.132222] dwc2 ff580000.usb: ep8-in: EPCTL=0x00004800, SIZ=0x00000000, DMA=0x4625773c
[    2.141254] dwc2 ff580000.usb: ep8-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x437c9154
[    2.150371] dwc2 ff580000.usb: ep9-in: EPCTL=0x00005000, SIZ=0x00000000, DMA=0x9cb1c89c
[    2.159365] dwc2 ff580000.usb: ep9-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x6ec79617
[    2.168476] dwc2 ff580000.usb: DVBUSDIS=0x00000b8f, DVBUSPULSE=000002c6
[    2.175996] usb 1-1: new high-speed USB device number 2 using dwc2
[    2.176105] dwc2 ff580000.usb: DWC OTG Controller
[    2.176147] dwc2 ff580000.usb: new USB bus registered, assigned bus number 2
[    2.176195] dwc2 ff580000.usb: irq 41, io mem 0xff580000
[    2.176450] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    2.176462] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.176470] usb usb2: Product: DWC OTG Controller
[    2.176478] usb usb2: Manufacturer: Linux 4.10.0+ dwc2_hsotg
[    2.176485] usb usb2: SerialNumber: ff580000.usb

and here is what I get when I load a gadget driver:

[ 1147.035367] dwc2 ff580000.usb: bound driver g_audio
[ 1147.041203] dwc2 ff580000.usb: dwc2_hsotg_pullup: is_on: 1 op_state: 3
[ 1147.041250] dwc2 ff580000.usb: dwc2_core_reset()
[ 1147.041345] dwc2 ff580000.usb: FIFOs reset, timeout at 100
[ 1147.041405] dwc2 ff580000.usb: EP0: DIEPCTL0=0x00008000, DOEPCTL0=0x00008000
[ 1147.041447] dwc2 ff580000.usb: gsintmsk now 0xd08c3cc4
[ 1147.041554] dwc2 ff580000.usb: DCTL=0x00000002
[ 1147.041631] dwc2 ff580000.usb: dwc2_hsotg_enqueue_setup: queueing setup request
[ 1147.041692] dwc2 ff580000.usb: ep0: req ee241680: 8@ee241198, noi=0, zero=0, snok=0
[ 1147.041757] dwc2 ff580000.usb: dwc2_hsotg_start_req: DxEPCTL=0x80008000, ep 0, dir out
[ 1147.041799] dwc2 ff580000.usb: ureq->length:8 ureq->actual:0
[ 1147.041896] dwc2 ff580000.usb: dwc2_hsotg_start_req: 1@8/8, 0x00080008 => 0x00000b10
[ 1147.041975] dwc2 ff580000.usb: dwc2_hsotg_start_req: 2e243000 pad => 0x00000b14
[ 1147.042014] dwc2 ff580000.usb: ep0 state:0
[ 1147.042055] dwc2 ff580000.usb: dwc2_hsotg_start_req: DxEPCTL=0x80008000
[ 1147.042097] dwc2 ff580000.usb: dwc2_hsotg_start_req: DXEPCTL=0x80008000
[ 1147.042169] dwc2 ff580000.usb: EP0: DIEPCTL0=0x00008000, DOEPCTL0=0x80008000


Thanks,
Francesco

Reply

Use props Report

1821

Credits

10

Prestige

17

Contribution

super moderator

Rank: 8Rank: 8

Credits
1821
Posted at 3/9/2017 10:02:49        Only Author  2#
Hi
have you tested it in our kernel 4.4
https://github.com/T-Firefly/kernel_4.4
Reply

Use props Report

You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list