Problem with OMAP 5912 USB device controller endpoint configuration registers.

hi,

i am developing firmware for OMAP 5912 USB device controller on OSK5912 board. i am finding difficulty with writing the OMAP USB device endpoint configuration register (register 0x20 to 0x3F). Following is my flow of initialization before writing the configuration registers.

1- Configure the top level pin multiplexing for USB port 0 and integrator tranciever. 2- Enable USB clock from clock_ctrl_reg and soft_req_reg. 3- Assert soft reset from otg_syscon_1 register. 4- Enable clock from otg_syscon_1 (dev_idle_enable) 5-Configure tranceiver mode and hmc_mode etc in otg_syscon_2. 6- Assert bsessvld bit manually, not connected to gpio 7- disable all interrupts and clear syscon1 register in device controller. 8- Configure endpoints using configuration register at this point. 9- Enable fields in syscon1 (pull-up, cfg_lock etc) 10- Enable interrupts.

When i connect it to PC, endpoint 0 operation works fine and device is enumerated without any problem. but data endpoints dont work. device timeouts any transactions on them.

When i single stepped the endpoint configuration routine. i observed following things.

1- When i clear the EP0 configuration register, all configuration register cleard. 2- When i write 1 to EP0 register (used maxp 8 and pointer to start), 1 was written to all registers. 3- When i clear other register EP1, EP2 etc register, it had not effect. 4- When i write the proper value to EP1 and other configuration registers, lower 15 bit (14:0) remains unchanged at 1. but bit 15 is set. which is not desired configuration. this behavior persists for all registers.

Kindly some help to solve this problem. let me know, if i am missing something or doing the intialization with wrong sequence.

i will be thankful

regards, Amir

Reply to
Amir Amin
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.