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.
- Registers other than USB Host controller (for example CCTL, IOMUX, MCR etc.) can be accessed without any problem.
- 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.
- 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
- 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.
- 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.
- 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 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.