hi guys.
i found something really confusing.
i reference from linux code, i'm not using linux. i want to config the USB OTG core to work as device.
i enable the endpoint 0, and it works fine. i event can pass the device enumeration process with host (PC).
but after that the other endpoints can not work. i can not capture bulk data from USB bus. since the endpoints initializations are all passed. but the endptctrl1-7 is still 0. that means these endpoints are failed to be enabled.
after my testing, i found if only i enable endpoint 1 first, then i can capture buld data via endpoint 7. i can get the interrupt from endpoint 7. but the value of endptctr7 is still 0.
so confusing.
so is there anyone could supply me advices.
many thanks.
victor
oh my goodness, i solved this problem.
the register addresses of endpoint 1 to 7 are all wrong accroding to the iMX53RM.
it should be start from 0x53f801c4 to 0x53f801dc.
because of this, when i enable endpoint 1, the endpoint 7 works!!!!!