Problem with OMAP5912 usb device controller's endpoint configuration


1- i am facing problem in configuration of endpoints in USB device controller on OMAP5912. When i write the configuration registers (register number 0x20 to 0x3F of device controller), value is not displayed correctly in memory windows. but if it read in code, right value is read. In memory windows, only bit 15 of specific register is shown modified and rest remains unchanged. 2- After configuration, only endpoint 0 responds to the Host and device is enumerated properly. but device controller does not responde to other endpoint traffic. 3- When endpoint0 configuraion register is written, values is shown to be copied to all configuration registers in memory window. but when read in software, actual value is read.

Below is initialization before writing configuration registers.

1- Enable the top level multiplexing for USB device controller on Port
  1. - Enable the clock for USB device controller from clock_ctrl_reg and soft_req_reg.
3- Set the tranciever mode for USB controller. 4- Set the HMC mode and other otg_syscon_2 register bits for proper operation. 5- Assert the bssessvld bit in otg_ctrl register (as vbus is connected to any GPIO or GPIO0 on OSK5912 board. 6- Clear contol registers of device controller, (irq_en, syscon1, syscon2 etc) 7- Write configuration registers EP0, EPn_RX and EPn_TX registers with appropriate value. values are written all bit simultaneously. 8- Set the config_lock and pullup_en bits in syscon1 and enable the interrupts.

After that when connected to Host, device is enumerated but device timeouts the non-control endpoint traffic. behavior is same if configuration register writing is not done.

Please let me know if i am skipping some initalization or doing something in wrong order.

i will be thankful


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.