AnsweredAssumed Answered

iMX257 USB Driver : Unable to access USB register space in Armadillo440

Question asked by Sayan Mukherjee on Aug 21, 2016
Latest reply on Aug 31, 2016 by Sayan Mukherjee

While developing USB driver for Atmark Techno Armadillo440 board (iMX257), an issue is found during initialization of the USB controller. The USB register space cannot be accessed. The development IDE crashes while USB register space is accessed.

 

Some observations:

  1. Registers other than USB Host controller (for example CCTL, IOMUX, MCR etc.) can be accessed without any problem.
  2. Registers of USB controller common to OTG and Host (USBOH) [within offset 0x0600 to 0x060c] can only be read though they are R/W registers. Writing on them are not reflected.
  3. Registers of USB Host controller (within offset 0x0200 to 0x03A8) and OTG (within offset 0x0000 to 0x01DC) can neither be read nor write. Trying to access them is crashing the development IDE. Note: USB Base address: 0x53FF4000
  4. From Hardware manual of Armadillo440 (http://armadillo.atmark-techno.com/files/downloads/armadillo-460/document/armadillo-400_series_hardware_manual_en-1.7.0.pdf), it is found in Power Circuit Make-up Diagram, that NFWE_B(GPIO3_26) is needed for USB_PWRSEL.
  5. Tried to access the USB Host controller register after setting IOMUXC_SW_MUX_CTL_PAD_NFWE_B with ALT5 i.e. 0x00000005 but failed to access the registers.
  6. Tried to access the USB Host controller register after setting IOMUXC_SW_MUX_CTL_PAD_NFWE_B with ALT5 i.e. 0x00000005 and setting GDIR[26] of gpio3 to 1 and failed again.

 

Need the pin muxing options (or required settings) for Armadillo440 so that USB Host controller registers can be accessed.

Outcomes