Auto-reset vf61 viola plus with USB device

Problem: When booting up, my colibri keeps auto-reseting just after loading USB EHCI driver.

With the usb device disconnected, Angstrom works just flawlessy.

When connecting usb device after the system has been booted up, the system continues to work, and properly enumerates usb devices.

My suggestion is, this behavior is power related. When Viola boots up, it needs more power, usb hub needs some power, then the power is (somehow?) lacking for CPU/SoC, so it resets itself.

When powering using X4 Micro Usb Connector (using +5V 3A power source) with USB Power Jumper JP2 Closed the problem does not(!) occur.

lsusb output, obtained with booting up the system and after that, connecting the usb device:

    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 002: ID 12d1:1573 Huawei Technologies Co., Ltd. 
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

UART sample output:

U-Boot 2015.04+fslc+gb66337d (Dec 15 2015 - 16:31:56)

CPU: Freescale Vybrid VF610 at 500 MHz
Reset cause: POWER ON RESET
DRAM:  256 MiB
NAND:  512 MiB
MMC:   FSL_SDHC: 0
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri VF61 256MB IT V1.2A, Serial# 02849521
Net:   FEC
Hit any key to stop autoboot:  0 
Booting from NAND...
UBI: default fastmap pool size: 200
UBI: default fastmap WL pool size: 25
UBI: attaching mtd1 to ubi0
UBI: attached by fastmap
UBI: fastmap pool size: 200
UBI: fastmap WL pool size: 100
UBI: attached mtd1 (name "mtd=3", size 510 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 4075, bad PEBs: 5, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
UBI: available PEBs: 0, total reserved PEBs: 4075, PEBs reserved for bad PEB handling: 75
Loading file '/boot/zImage' to addr 0x82000000 with size 4396200 (0x004314a8)...
Done
Loading file '/boot/vf610-colibri-eval-v3.dtb' to addr 0x84000000 with size 24675 (0x00006063)...
Done
Kernel image @ 0x82000000 [ 0x000000 - 0x4314a8 ]
## Flattened Device Tree blob at 84000000
   Booting using the fdt blob at 0x84000000
   Loading Device Tree to 8f2ef000, end 8f2f8062 ... OK
   Updating MTD partitions...

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.1.15-v2.5b3+ge6d111c (linuxdev@linuxdev.toradex.int) (gcc version 4.9.3 20150311 (prerelease) (Linaro GCC 4.9-2015.03) ) #1 Tue Dec 15 16:32:48 CET 2015
[    0.000000] CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Toradex Colibri VF61 on Colibri Evaluation Board
[    0.000000] cma: Reserved 16 MiB at 0x8e000000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64516
[    0.000000] Kernel command line: ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs ubi.fm_autoconvert=1 console=tty1 console=ttyLP0,115200n8 consoleblank=0
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 233116K/260096K available (5631K kernel code, 205K rwdata, 1928K rodata, 204K init, 171K bss, 10596K reserved, 16384K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x90000000 - 0xff000000   (1776 MB)
[    0.000000]     lowmem  : 0x80000000 - 0x8fe00000   ( 254 MB)
[    0.000000]     modules : 0x7f000000 - 0x80000000   (  16 MB)
[    0.000000]       .text : 0x80008000 - 0x8076a024   (7561 kB)
[    0.000000]       .init : 0x8076b000 - 0x8079e000   ( 204 kB)
[    0.000000]       .data : 0x8079e000 - 0x807d15a0   ( 206 kB)
[    0.000000]        .bss : 0x807d15a0 - 0x807fc420   ( 172 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x06060000
[    0.000043] sched_clock: 64 bits at 166MHz, resolution 5ns, wraps every 4398046511102ns
[    0.000089] clocksource arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x2674622ffc, max_idle_ns: 440795203810 ns
[    0.000718] Console: colour dummy device 80x30
[    0.001753] console [tty1] enabled
[    0.001814] Calibrating delay loop... 331.77 BogoMIPS (lpj=1658880)
[    0.060148] pid_max: default: 32768 minimum: 301
[    0.060375] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.060438] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.061639] CPU: Testing write buffer coherency: ok
[    0.062200] Setting up static identity map for 0x80008200 - 0x80008258
[    0.064150] devtmpfs: initialized
[    0.075605] VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
[    0.076251] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.078271] pinctrl core: initialized pinctrl subsystem
[    0.080360] NET: Registered protocol family 16
[    0.083075] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.084591] cpuidle: using governor menu
[    0.106021] PM: CKE/RESET pulls available, enable Suspend-to-RAM
[    0.107058] hw-breakpoint: found 2 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.107147] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.107824] vf610-pinctrl 40048000.iomuxc: initialized IMX pinctrl driver
[    0.129197] SCSI subsystem initialized
[    0.129815] usbcore: registered new interface driver usbfs
[    0.129988] usbcore: registered new interface driver hub
[    0.130259] usbcore: registered new device driver usb
[    0.131691] i2c i2c-0: IMX I2C adapter registered
[    0.131822] i2c i2c-0: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers
[    0.132132] Linux video capture interface: v2.00
[    0.132355] pps_core: LinuxPPS API ver. 1 registered
[    0.132408] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.132545] PTP clock support registered
[    0.133299] Advanced Linux Sound Architecture Driver Initialized.
[    0.135191] Switched to clocksource arm_global_timer
[    0.152828] NET: Registered protocol family 2
[    0.154383] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.154502] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.154601] TCP: Hash tables configured (established 2048 bind 2048)
[    0.154848] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.154928] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.155344] NET: Registered protocol family 1
[    0.155901] RPC: Registered named UNIX socket transport module.
[    0.155967] RPC: Registered udp transport module.
[    0.156016] RPC: Registered tcp transport module.
[    0.156063] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.157777] hw perfevents: enabled with armv7_cortex_a5 PMU driver, 3 counters available
[    0.160007] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.175693] NFS: Registering the id_resolver key type
[    0.175846] Key type id_resolver registered
[    0.175899] Key type id_legacy registered
[    0.175984] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.176990] ntfs: driver 2.1.32 [Flags: R/W].
[    0.177916] fuse init (API version 7.23)
[    0.181485] io scheduler noop registered
[    0.181559] io scheduler deadline registered
[    0.181675] io scheduler cfq registered (default)
[    0.188662] backlight supply power not found, using dummy regulator
[    0.204256] Console: switching to colour frame buffer device 80x30
[    0.213673] fb0: fb device registered successfully.
[    0.217768] fb1: fb device registered successfully.
[    0.221548] fb2: fb device registered successfully.
[    0.225244] fb3: fb device registered successfully.
[    0.228752] fb4: fb device registered successfully.
[    0.232149] fb5: fb device registered successfully.
[    0.236775] 40027000.serial: ttyLP0 at MMIO 0x40027000 (irq = 20, base_baud = 5210526) is a FSL_LPUART
[    0.806662] console [ttyLP0] enabled
[    0.814106] 40028000.serial: ttyLP1 at MMIO 0x40028000 (irq = 21, base_baud = 5210526) is a FSL_LPUART
[    0.830740] 40029000.serial: ttyLP2 at MMIO 0x40029000 (irq = 22, base_baud = 5210526) is a FSL_LPUART
[    0.858042] loop: module loaded
[    0.867120] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xdc
[    0.876860] nand: Macronix MX30LF4G28AB
[    0.884010] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 112
[    0.898639] Bad block table found at page 262080, version 0x01
[    0.908161] Bad block table found at page 262016, version 0x01
[    0.917616] nand_read_bbt: bad block at 0x0000013c0000
[    0.926492] 4 ofpart partitions found on MTD device vf610_nfc
[    0.935843] Creating 4 MTD partitions on "vf610_nfc":
[    0.944432] 0x000000000000-0x000000020000 : "vf-bcb"
[    0.953586] 0x000000020000-0x000000180000 : "u-boot"
[    0.962577] 0x000000180000-0x000000200000 : "u-boot-env"
[    0.971958] 0x000000200000-0x000020000000 : "ubi"
[    0.991954] libphy: fec_enet_mii_bus: probed
[    1.001111] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.012067] usbcore: registered new interface driver usb-storage
[    1.022396] usbcore: registered new interface driver usbserial
[    1.032090] usbcore: registered new interface driver usbserial_generic
[    1.042309] usbserial: USB Serial support registered for generic
[    1.052067] usbcore: registered new interface driver ftdi_sio
[    1.061499] usbserial: USB Serial support registered for FTDI USB Serial Device
[    1.075836] usbcore: registered new interface driver pl2303
[    1.084959] usbserial: USB Serial support registered for pl2303
[    1.097696] mousedev: PS/2 mouse device common for all mice
[    1.108866] rtc-ds1307 0-0068: rtc core: registered m41t00 as rtc0
[    1.119653] snvs_rtc 400a7034.snvs-rtc-lp: rtc core: registered 400a7034.snvs-rtc-l as rtc1
[    1.135208] i2c /dev entries driver
[    1.144587] imx2-wdt 4003e000.wdog: timeout 60 sec (nowayout=0)
[    1.154457] sdhci: Secure Digital Host Controller Interface driver
[    1.164303] sdhci: Copyright(c) Pierre Ossman
[    1.172264] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.182405] /soc/aips-bus@40080000/esdhc@400b2000: voltage-ranges unspecified
[    1.193372] sdhci-esdhc-imx 400b2000.esdhc: Got CD GPIO
[    1.202661] sdhci-esdhc-imx 400b2000.esdhc: No vmmc regulator found
[    1.212857] sdhci-esdhc-imx 400b2000.esdhc: No vqmmc regulator found
[    1.255387] mmc0: SDHCI controller on 400b2000.esdhc [400b2000.esdhc] using ADMA
[    1.274800] hidraw: raw HID events driver (C) Jiri Kosina
[    1.284583] usbcore: registered new interface driver usbhid
[    1.294226] usbhid: USB HID core driver
[    1.356166] wm97xx-ts 0-0:wm9712-codec: detected a wm9712 codec
[    1.368752] input: wm97xx touchscreen as /devices/platform/sound/0-0:wm9712-codec/input/input0
[    1.388592] fsl-sai-ac97-dt-driver sound: wm9712-hifi <-> 40031000.sai mapping ok
[    1.408993] Netfilter messages via NETLINK v0.30.
[    1.418057] nfnl_acct: registering with nfnetlink.
[    1.427171] nf_conntrack version 0.5.0 (3898 buckets, 15592 max)
[    1.438572] nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>
[    1.450437] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.461154] NET: Registered protocol family 10
[    1.471523] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    1.481286] sit: IPv6 over IPv4 tunneling driver
[    1.490066] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.507624] NET: Registered protocol family 17
[    1.516374] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    1.537628] Bridge firewalling registered
[    1.547164] mmc0: new high speed SDHC card at address 0007
[    1.557187] 8021q: 802.1Q VLAN Support v1.8
[    1.566399] Key type dns_resolver registered
[    1.575163] Registering SWP/SWPB emulation handler
[    1.584241] mmcblk0: mmc0:0007 SD04G 3.70 GiB 
[    1.594429]  mmcblk0: p1 p2
[    1.602248] registered taskstats version 1
[    1.615148] 40034000.usb supply vbus not found, using dummy regulator
[    1.630540] ci_hdrc ci_hdrc.0: EHCI Host Controller
[    1.639504] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[    1.665230] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[    1.676040] hub 1-0:1.0: USB hub found
[    1.683706] hub 1-0:1.0: 1 port detected
[    1.692788] usbh_vbus: supplied by 5v0
[    1.704349] ci_hdrc ci_hdrc.1: EHCI Host Controller
[    1.713029] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
[    1.735248] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[    1.745805] hub 2-0:1.0: USB hub found
[    1.753270] hub 2-0:1.0: 1 port detected


U-Boot 2015.04+fslc+gb66337d (Dec 15 2015 - 16:31:56)

CPU: Freescale Vybrid VF610 at 500 MHz
Reset cause: POWER ON RESET
DRAM:  256 MiB
NAND:  512 MiB
MMC:   FSL_SDHC: 0
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri VF61 256MB IT V1.2A, Serial# 02849521
Net:   FEC
Hit any key to stop autoboot:  0 
Booting from NAND...
UBI: default fastmap pool size: 200
UBI: default fastmap WL pool size: 25
UBI: attaching mtd1 to ubi0
UBI: attached by fastmap
UBI: fastmap pool size: 200
UBI: fastmap WL pool size: 100
UBI: attached mtd1 (name "mtd=3", size 510 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 4075, bad PEBs: 5, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
UBI: available PEBs: 0, total reserved PEBs: 4075, PEBs reserved for bad PEB handling: 75
Loading file '/boot/zImage' to addr 0x82000000 with size 4396200 (0x004314a8)...
Done
Loading file '/boot/vf610-colibri-eval-v3.dtb' to addr 0x84000000 with size 24675 (0x00006063)...
Done
Kernel image @ 0x82000000 [ 0x000000 - 0x4314a8 ]
## Flattened Device Tree blob at 84000000
   Booting using the fdt blob at 0x84000000
   Loading Device Tree to 8f2ef000, end 8f2f8062 ... OK
   Updating MTD partitions...

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.1.15-v2.5b3+ge6d111c (linuxdev@linuxdev.toradex.int) (gcc version 4.9.3 20150311 (prerelease) (Linaro GCC 4.9-2015.03) ) #1 Tue Dec 15 16:32:48 CET 2015
[    0.000000] CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Toradex Colibri VF61 on Colibri Evaluation Board
[    0.000000] cma: Reserved 16 MiB at 0x8e000000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64516
[    0.000000] Kernel command line: ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs ubi.fm_autoconvert=1 console=tty1 console=ttyLP0,115200n8 consoleblank=0
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 233116K/260096K available (5631K kernel code, 205K rwdata, 1928K rodata, 204K init, 171K bss, 10596K reserved, 16384K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x90000000 - 0xff000000   (1776 MB)
[    0.000000]     lowmem  : 0x80000000 - 0x8fe00000   ( 254 MB)
[    0.000000]     modules : 0x7f000000 - 0x80000000   (  16 MB)
[    0.000000]       .text : 0x80008000 - 0x8076a024   (7561 kB)
[    0.000000]       .init : 0x8076b000 - 0x8079e000   ( 204 kB)
[    0.000000]       .data : 0x8079e000 - 0x807d15a0   ( 206 kB)
[    0.000000]        .bss : 0x807d15a0 - 0x807fc420   ( 172 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x06060000
[    0.000041] sched_clock: 64 bits at 166MHz, resolution 5ns, wraps every 4398046511102ns
[    0.000088] clocksource arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x2674622ffc, max_idle_ns: 440795203810 ns
[    0.000718] Console: colour dummy device 80x30
[    0.001753] console [tty1] enabled
[    0.001814] Calibrating delay loop... 331.77 BogoMIPS (lpj=1658880)
[    0.060147] pid_max: default: 32768 minimum: 301
[    0.060375] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.060439] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.061643] CPU: Testing write buffer coherency: ok
[    0.062206] Setting up static identity map for 0x80008200 - 0x80008258
[    0.064154] devtmpfs: initialized
[    0.075605] VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
[    0.076248] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.078267] pinctrl core: initialized pinctrl subsystem
[    0.080360] NET: Registered protocol family 16
[    0.083073] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.084581] cpuidle: using governor menu
[    0.106042] PM: CKE/RESET pulls available, enable Suspend-to-RAM
[    0.107082] hw-breakpoint: found 2 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.107173] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.107847] vf610-pinctrl 40048000.iomuxc: initialized IMX pinctrl driver
[    0.129173] SCSI subsystem initialized
[    0.129780] usbcore: registered new interface driver usbfs
[    0.129949] usbcore: registered new interface driver hub
[    0.130218] usbcore: registered new device driver usb
[    0.131644] i2c i2c-0: IMX I2C adapter registered
[    0.131776] i2c i2c-0: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers
[    0.132084] Linux video capture interface: v2.00
[    0.132304] pps_core: LinuxPPS API ver. 1 registered
[    0.132357] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.132493] PTP clock support registered
[    0.133239] Advanced Linux Sound Architecture Driver Initialized.
[    0.135143] Switched to clocksource arm_global_timer
[    0.152765] NET: Registered protocol family 2
[    0.154326] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.154442] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.154539] TCP: Hash tables configured (established 2048 bind 2048)
[    0.154788] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.154867] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.155285] NET: Registered protocol family 1
[    0.155852] RPC: Registered named UNIX socket transport module.
[    0.155917] RPC: Registered udp transport module.
[    0.155966] RPC: Registered tcp transport module.
[    0.156013] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.157730] hw perfevents: enabled with armv7_cortex_a5 PMU driver, 3 counters available
[    0.159953] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.175660] NFS: Registering the id_resolver key type
[    0.175819] Key type id_resolver registered
[    0.175872] Key type id_legacy registered
[    0.175957] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.176966] ntfs: driver 2.1.32 [Flags: R/W].
[    0.177904] fuse init (API version 7.23)
[    0.181467] io scheduler noop registered
[    0.181537] io scheduler deadline registered
[    0.181655] io scheduler cfq registered (default)
[    0.188641] backlight supply power not found, using dummy regulator
[    0.204271] Console: switching to colour frame buffer device 80x30
[    0.213695] fb0: fb device registered successfully.
[    0.217791] fb1: fb device registered successfully.
[    0.221574] fb2: fb device registered successfully.
[    0.225274] fb3: fb device registered successfully.
[    0.228780] fb4: fb device registered successfully.
[    0.232176] fb5: fb device registered successfully.
[    0.236799] 40027000.serial: ttyLP0 at MMIO 0x40027000 (irq = 20, base_baud = 5210526) is a FSL_LPUART
[    0.806658] console [ttyLP0] enabled
[    0.814089] 40028000.serial: ttyLP1 at MMIO 0x40028000 (irq = 21, base_baud = 5210526) is a FSL_LPUART
[    0.830703] 40029000.serial: ttyLP2 at MMIO 0x40029000 (irq = 22, base_baud = 5210526) is a FSL_LPUART
[    0.858009] loop: module loaded
[    0.867083] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xdc
[    0.876813] nand: Macronix MX30LF4G28AB
[    0.883959] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 112
[    0.898573] Bad block table found at page 262080, version 0x01
[    0.908093] Bad block table found at page 262016, version 0x01
[    0.917539] nand_read_bbt: bad block at 0x0000013c0000
[    0.926406] 4 ofpart partitions found on MTD device vf610_nfc
[    0.935753] Creating 4 MTD partitions on "vf610_nfc":
[    0.944334] 0x000000000000-0x000000020000 : "vf-bcb"
[    0.953486] 0x000000020000-0x000000180000 : "u-boot"
[    0.962472] 0x000000180000-0x000000200000 : "u-boot-env"
[    0.971846] 0x000000200000-0x000020000000 : "ubi"
[    0.991859] libphy: fec_enet_mii_bus: probed
[    1.001009] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.011974] usbcore: registered new interface driver usb-storage
[    1.022310] usbcore: registered new interface driver usbserial
[    1.032004] usbcore: registered new interface driver usbserial_generic
[    1.042233] usbserial: USB Serial support registered for generic
[    1.051990] usbcore: registered new interface driver ftdi_sio
[    1.061423] usbserial: USB Serial support registered for FTDI USB Serial Device
[    1.075763] usbcore: registered new interface driver pl2303
[    1.084892] usbserial: USB Serial support registered for pl2303
[    1.097633] mousedev: PS/2 mouse device common for all mice
[    1.108810] rtc-ds1307 0-0068: rtc core: registered m41t00 as rtc0
[    1.119596] snvs_rtc 400a7034.snvs-rtc-lp: rtc core: registered 400a7034.snvs-rtc-l as rtc1
[    1.135121] i2c /dev entries driver
[    1.144535] imx2-wdt 4003e000.wdog: timeout 60 sec (nowayout=0)
[    1.154411] sdhci: Secure Digital Host Controller Interface driver
[    1.164260] sdhci: Copyright(c) Pierre Ossman
[    1.172228] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.182373] /soc/aips-bus@40080000/esdhc@400b2000: voltage-ranges unspecified
[    1.193350] sdhci-esdhc-imx 400b2000.esdhc: Got CD GPIO
[    1.202632] sdhci-esdhc-imx 400b2000.esdhc: No vmmc regulator found
[    1.212829] sdhci-esdhc-imx 400b2000.esdhc: No vqmmc regulator found
[    1.255334] mmc0: SDHCI controller on 400b2000.esdhc [400b2000.esdhc] using ADMA
[    1.274755] hidraw: raw HID events driver (C) Jiri Kosina
[    1.284575] usbcore: registered new interface driver usbhid
[    1.294241] usbhid: USB HID core driver
[    1.356116] wm97xx-ts 0-0:wm9712-codec: detected a wm9712 codec
[    1.368716] input: wm97xx touchscreen as /devices/platform/sound/0-0:wm9712-codec/input/input0
[    1.388542] fsl-sai-ac97-dt-driver sound: wm9712-hifi <-> 40031000.sai mapping ok
[    1.408953] Netfilter messages via NETLINK v0.30.
[    1.418025] nfnl_acct: registering with nfnetlink.
[    1.427146] nf_conntrack version 0.5.0 (3898 buckets, 15592 max)
[    1.438545] nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>
[    1.450414] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.461131] NET: Registered protocol family 10
[    1.471519] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    1.481282] sit: IPv6 over IPv4 tunneling driver
[    1.490065] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.507624] NET: Registered protocol family 17
[    1.516377] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    1.537632] Bridge firewalling registered
[    1.547183] mmc0: new high speed SDHC card at address 0007
[    1.557201] 8021q: 802.1Q VLAN Support v1.8
[    1.566416] Key type dns_resolver registered
[    1.575241] mmcblk0: mmc0:0007 SD04G 3.70 GiB 
[    1.584463] Registering SWP/SWPB emulation handler
[    1.594462]  mmcblk0: p1 p2
[    1.602262] registered taskstats version 1
[    1.615122] 40034000.usb supply vbus not found, using dummy regulator
[    1.630554] ci_hdrc ci_hdrc.0: EHCI Host Controller
[    1.639523] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[    1.665181] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[    1.675974] hub 1-0:1.0: USB hub found
[    1.683637] hub 1-0:1.0: 1 port detected
[    1.692723] usbh_vbus: supplied by 5v0
[    1.704285] ci_hdrc ci_hdrc.1: EHCI Host Controller
[    1.712960] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
[    1.735201] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[    1.745761] hub 2-0:1.0: USB hub found
[    1.753229] hub 2-0:1.0: 1 port detected


U-Boot 2015.04+fslc+gb66337d (Dec 15 2015 - 16:31:56)

CPU: Freescale Vybrid VF610 at 500 MHz
Reset cause: POWER ON RESET
DRAM:  256 MiB
NAND:  512 MiB
MMC:   FSL_SDHC: 0
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri VF61 256MB IT V1.2A, Serial# 02849521
Net:   FEC
Hit any key to stop autoboot:  0 
Booting from NAND...
UBI: default fastmap pool size: 200
UBI: default fastmap WL pool size: 25
UBI: attaching mtd1 to ubi0
UBI: attached by fastmap
UBI: fastmap pool size: 200
UBI: fastmap WL pool size: 100
UBI: attached mtd1 (name "mtd=3", size 510 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 4075, bad PEBs: 5, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
UBI: available PEBs: 0, total reserved PEBs: 4075, PEBs reserved for bad PEB handling: 75
Loading file '/boot/zImage' to addr 0x82000000 with size 4396200 (0x004314a8)...
Done
Loading file '/boot/vf610-colibri-eval-v3.dtb' to addr 0x84000000 with size 24675 (0x00006063)...
Done
Kernel image @ 0x82000000 [ 0x000000 - 0x4314a8 ]
## Flattened Device Tree blob at 84000000
   Booting using the fdt blob at 0x84000000
   Loading Device Tree to 8f2ef000, end 8f2f8062 ... OK
   Updating MTD partitions...

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.1.15-v2.5b3+ge6d111c (linuxdev@linuxdev.toradex.int) (gcc version 4.9.3 20150311 (prerelease) (Linaro GCC 4.9-2015.03) ) #1 Tue Dec 15 16:32:48 CET 2015
[    0.000000] CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Toradex Colibri VF61 on Colibri Evaluation Board
[    0.000000] cma: Reserved 16 MiB at 0x8e000000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64516
[    0.000000] Kernel command line: ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs ubi.fm_autoconvert=

Hello Kolorciuk,

If I understood correctly, the system is working properly when you are powered the carrier board using Micro USB Connector (X4) with a +5V DC, 3A power supply with Jumper JP2 closed/short circuited.
And the system resets when you are powering the carrier board using PSU (+5V DC, 30A) connected to the terminal block connector.

From hardware point of view, there is no difference. As in the earlier case (when powering using the USB), the power signal from USB connects to the terminal block power signal via Jumper.

Can you please check, if the output current setting from the PSU is not limited.

Best Regards,
Satyan

Hi! Thank You for Your answer!

Yes, you understood correctly!

No, the output current from the PSU is not limited.

Today I connected another USB device to X6 (WIMOD Starter Kit von IMST), so there were both USB devices connected, and powered up from micro usb. The restart loop also occurred(!). When wating for the OS to boot up, and then connecting usb devices, the colibri didn’t restart.

And i think the question might be similar to this: Device got restart automatically - Technical Support - Toradex Community

Probably the best solution for me, is to use an external powered USB hub.

Best Regards!
Kolorciuk

Whether you power through X3 or X4A (with JP2 closed) really does not matter from the Carrier Boards perspective: Both are connected directly to PWR_IN…

A voltage drop would really explain the issue. I guess the USB device start itself when it gets enumerated, and starts to draw quite some power (probably more than the Colibri VF61 requires by itself). Note that the power design needs a rather stable 5V input. Can you test with a second, different power supply? When using X3, make sure to not use X4 or/and remove JP2.

We had similar problems with i.mx7d boards and a few USB peripherals on a USB hub.
We worked around this with a large capacitor between JP2 and ground (470uF, 16V):
usb cap

Hi Thanks for the Input. Could you provide the specification of your 5V DC Power Supply?

Hi,
tried different stuff, typically 3A 5V dongles, Traco TMG 07105 (6.3W) and - in the case of the photo a Rohde&Schwarz NGE 100 lab power supply.
S

Dear @Kolorciuk,

I think that the issue you are facing is due to a power input voltage drop. I had similar experiences with lab PSU: they are quite slow to react to quick current changes.

I think that the easiest way to verify that this is the case would be hooking-up an oscilloscope to the 5V and 3.3V power supply rails and have a look what happened when the USB device(s) gets enumerated.

I guess that we should see a voltage drop on both the rails and this would explain the reset behavior.

The capacitor solution indicated by @svogl goes also in this direction.

Could you please be so kind to do the recommended measurements to check if this is actually the case?

Thanks a lot for your help!

Sadly my company stopped working with vf61 more than a year ago. It was not because of this issue, our project just ended because of the lack of manpower. If we ever get back to vf61 (it is possible), this is going to be the first thing I check.
Thanks for the help and for writing!

Dear @Kolorciuk,

sorry to hear that. I hope there will be more chances to hear again your “voice” in the support community.

Don’t hesitate to contact us, it is always a pleasure.

Have a nice day!

fyi, I had a look at the Vivanco USB hub that we have been using - it has a 100uF electrolytic capacitor at the input and at the supply of each output port. So it really needs a larger backup upstream.

With a different USB hub, a 22uF capacitance was enough to survive the USB enumeration.

Btw I bricked a Viola board by touching the cap, seems it dis- and reconnected quickly, I guess this fried the step-down converter.

Dear @svogl,
yes, these USB hubs are quite bad from this point of view. Thanks a lot for the additional information provided.