Hi Freescale!
I have the imx28 EVK board running 2.6.35.3 kernel, I am trying to make the USB Host to work but I am only measuring up 0.5 V. Which is quite far from the required 5 V. Here is my kernel log with a USB memory stick attached to the port!
Linux version 2.6.35.3-571-gcca29a0 (madfsl@ubuntu) (gcc version 4.4.4 (4.4.4_09.06.2010) ) #1 PREEMPT Thu Feb 6 05:28:44 MST 2014
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Freescale MX28EVK board
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 32768
free_area_init_node: node 0, pgdat c0534f88, node_mem_map c0580000
DMA zone: 32 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 4064 pages, LIFO batch:0
Normal zone: 224 pages used for memmap
Normal zone: 28448 pages, LIFO batch:7
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: -e noinitrd console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait ip=none gpmi
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 120220k/120220k available, 10852k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xfde00000 - 0xffe00000 ( 32 MB)
vmalloc : 0xc8800000 - 0xf0000000 ( 632 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0030000 ( 160 kB)
.text : 0xc0030000 - 0xc04f7000 (4892 kB)
.data : 0xc04f8000 - 0xc0535960 ( 247 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:288
Console: colour dummy device 80x30
console [ttyAM0] enabled
Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
pid_max: default: 32768 minimum: 301
Security Framework initialized
SELinux: Initializing.
SELinux: Starting in permissive mode
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
NET: Registered protocol family 16
regulator: vddd: 800 <--> 1575 mV at 1500 mV fast normal
regulator: vdddbo: 800 <--> 1575 mV fast normal
regulator: vdda: 1500 <--> 2275 mV at 1800 mV fast normal
vddio = 3380000, val=10
regulator: vddio: 2880 <--> 3680 mV at 3380 mV fast normal
regulator: overall_current: fast normal
regulator: vbus5v:
regulator: mxs-duart-1: fast normal
regulator: mxs-bl-1: fast normal
regulator: mxs-i2c-1: fast normal
regulator: mmc_ssp-1: fast normal
regulator: mmc_ssp-2: fast normal
regulator: charger-1: fast normal
regulator: power-test-1: fast normal
regulator: cpufreq-1: fast normal
i.MX IRAM pool: 124 KB@0xc8820000
Initializing GPMI pins
usb DR wakeup device is registered
IMX usb wakeup probe
the wakeup pdata is 0xc0500c1c
audit: cannot initialize inotify handle
bio: create slab <bio-0> at 0
SCSI subsystem initialized
Freescale USB OTG Driver loaded, $Revision: 1.55 $
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Advanced Linux Sound Architecture Driver Version 1.0.23.
Switching to clocksource mxs clock source
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (junk in compressed archive); looks like an initrd
Freeing initrd memory: 4096K
Bus freq driver module loaded
IMX usb wakeup probe
the wakeup pdata is 0xc05010cc
usb h1 wakeup device is registered
mxs_cpu_init: cpufreq init finished
audit: initializing netlink socket (disabled)
type=2000 audit(0.670:1): initialized
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 242
alg: No test for stdrng (krng)
cryptodev: driver loaded.
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 100x30
mxs-duart.0: ttyAM0 at MMIO 0x80074000 (irq = 47) is a DebugUART
mxs-auart.0: ttySP0 at MMIO 0x8006a000 (irq = 112) is a mxs-auart.0
Found APPUART 3.1.0
mxs-auart.1: ttySP1 at MMIO 0x8006c000 (irq = 113) is a mxs-auart.1
Found APPUART 3.1.0
mxs-auart.2: ttySP2 at MMIO 0x8006e000 (irq = 114) is a mxs-auart.2
Found APPUART 3.1.0
mxs-auart.3: ttySP3 at MMIO 0x80070000 (irq = 115) is a mxs-auart.3
Found APPUART 3.1.0
brd: module loaded
loop: module loaded
i.MX GPMI NFC
NFC: Version 1, 8-chip GPMI and BCH
Boot ROM: Version 1, Single-chip boot area, block mark swapping supported
Scanning for NAND Flash chips...
No NAND device found.
gpmi-nfc gpmi-nfc.0: Chip scan failed
mxs-spi mxs-spi.0: Max possible speed 24000 = 24000000/2 kHz
mxs-spi mxs-spi.0: at 0x80014000 mapped to 0xF0014000, irq=84, bus 1, DMA ver_major 4
FEC Ethernet Driver
fec_enet_mii_bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci: irq 93, io base 0x80080000
fsl-ehci fsl-ehci: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.0: irq 92, io base 0x80090000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ARC USBOTG Device Controller driver (1 August 2005)
mice: PS/2 mouse device common for all mice
input: mxs-kbd as /devices/platform/mxs-kbd.0/input/input0
input: MXS touchscreen as /devices/virtual/input/input1
MXS RTC driver v1.0 hardware v2.3.0
mxs-rtc mxs-rtc.0: rtc core: registered mxs-rtc as rtc0
IR NEC protocol handler initialized
IR RC5(x) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
Linux video capture interface: v2.00
mxs-pxp mxs-pxp.0: initialized
mxs watchdog: initialized, heartbeat 19 sec
mxs-mmc: MXS SSP Controller MMC Interface driver
mxs-mmc mxs-mmc.0: mmc0: MXS SSP MMC DMAIRQ 82 ERRIRQ 96
Registered led device: led-pwm0
Registered led device: led-pwm1
dcp dcp.0: DCP crypto enabled.!
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
4P2 rail started. 5V current limit set to 450mA
sgtl5000-i2c 0-000a: SGTL5000 revision 17
mxs-spdif mxs-spdif.0: MXS SPDIF Audio Transmitter
No device for codec mxs spdif
No device for DAI mxs spdif
No device for DAI mxs-saif
No device for DAI mxs-spdif
asoc: SGTL5000 <-> mxs-saif mapping ok
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SU04G 3.69 GiB
mmcblk0: p1 p2 p3
Failed to add route LINE_OUT->Ext Spk
asoc: mxs spdif <-> mxs-spdif mapping ok
ALSA device list:
#0: mxs-evk (SGTL5000)
#1: mxs-evk (mxs spdif)
TCP cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
mxs-rtc mxs-rtc.0: setting system clock to 1970-01-01 00:03:53 UTC (233)
EXT2-fs (mmcblk0p3): warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem) on device 179:3.
Freeing init memory: 160K
USB Host suspend begins
will suspend roothub and its children
ehci_fsl_bus_suspend, DR
host suspend ends
ehci_fsl_bus_suspend, Host 1
EXT2-fs (mmcblk0p3): error: ext2_lookup: deleted inode referenced: 212676
EXT2-fs (mmcblk0p3): error: ext2_lookup: deleted inode referenced: 212676
EXT2-fs (mmcblk0p3): error: ext2_lookup: deleted inode referenced: 212676
Dumb question,
You've switched the switch on board so that the usb is powered?
I'm at home now, but I'll get the refdes for you tomorrow. It's pretty obvious which one it is though.
Peter, the USB 5V switch is switched on and it doesn't help:smileysad:
I've used the USB OTG to update the kernel using the MFG tool and the EVK has enumerated as a USB HID device as well as using the USB OTG jack as the power source. So the USB OTG jack seems to work fine.
In which case everything looks good from the log file,
Assuming you are using the host port (The big USB A Connector) and not the OSB OTG port.
I notice it is suspending the USB host functionality at the end, without going too far into it, it might just be power saving?
Do you get anything when you type : lsusb from the cmd prompt?
Also, can you put a scope probe on the Vbus line as well as R194, You should be able to see some waveform activity?
I'll try a build later with my USB port enabled and see what happens on my EVK.
Running lsusb -v-t gives
cannot open /proc/bus/usb/devices, No such file or directory (2)
forcing power to on makes the autosuspend to resume.
echo "on" > /sys/bus/usb/devices/2-0\:1.0/power/control
echo "on" > /sys/bus/usb/devices/1-0\:1.0/power/control
ehci_fsl_bus_resume, Host 1
ehci_fsl_bus_resume, DR
I havn't been able to scope the R194 and the VBUS line, yet.