Hi ,
I'm working on i.MX6 Dual Solidrun's SOM + Hummingboard and build Linux Kernel 4.9.102 as my system.
I'm trying to designed OTG device mode using GadgetFS.
I could make /dev/gadget/2184000.usb. and ep0in/out ~ ep7in/out.
EP 2 and EP6 work using /dev/ep2out and /dev/ep6in.
I can make that my board send and recevice usb data with PC Applicaiion.
However My host side APP Program use Endpoint 2,4,6,8.
So I have to make /dev/ep8out device file.
I could found that the enpoint device files are made in /drivers/usb/gadget/legacy/inode.c
And I could found that number of enpoint value is in /drivers/usb/chipidea/core.c as below.
------------------------------------------------------------------------------------------------
reg = hw_read(ci, CAP_DCCPARAMS, DCCPARAMS_DEN) >>
__ffs(DCCPARAMS_DEN);
ci->hw_ep_max = reg * 2; /* cache hw ENDPT_MAX */
------------------------------------------------------------------------------------------------
I could read the value of ci->hw_ep_max is 0x08.
So It can make only 16 nodes for enpoint device file (ep0in ~ ep7in 8ea and ep0out ~ ep7out 8ea)
----------------------------------------------------------------------
Device Controller Capability Parameters
DEN -> Device Enpoint Number
---------------------------------------------------------------------
Is it hardware specification of I.MX6 ?
How can I make /dev/ep8out file for Endpoint 8 ?
I have assigned EP address 0x08 to ep7out or ep6out But it didn't work.
Maybe Endpoints are mapped to each /dev/#ENDPOINT files.
Please let me know how can I do for it.
Thanks in Advanced!
Hi,
Can anybody provide update on how to support endpoint number 8 when USB is configured in device mode?
PC side host software uses endpoint 8 for communication with device but iMX6ULL only provides 0-7 IN and 0-7 OUT endpoints, no way to configure endpoint number 8.
Hi @uranos74 did you get answer to this?