This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux: AM437x pin toggling at boot time

Other Parts Discussed in Thread: TPS65218, STRIKE

Tool/software: Linux

During my linux boot up the G21 PIN seems to be going on for some reason.  I have enabled the earlyprintk printouts and even before anything is spit out of the command line with that the G21 PIN goes on for about 1 second and then off.  Editing the device tree does not make a difference as it has been set to PULL DOWN.  Messing around with the device tree does make it perform correctly so it means that this is happening before the device tree is even enable.  The pin does not go high during power up as UBoot has no problem keeping it low.  So I'm just curious what during the linux bootup could potentially be controlling this pin.  Any help regarding this would be greatly appreciated.

  • Pin G21 is USB0_DRVVBUS. Do you have USB0 included in the boot sequence (SYSBOOT settings)?
  • We disabled this option with no luck.  We didn't think that it would be the problem as we are past the bootup of the processor.  The problem here is when during the kernel pre-kernel loading phase or in the initial boot sequence of the linux kernel.  The problem is that it happens before I can really see any debugging information.  I suspect it could be something the pre-kernel loading phase that is manipulating the ARM registers in such a way that the USB0 signal goes on for a brief moment.  I have also tried disabling usb from the kernel command line with no luck either.  I'm open to try anything.

  • So this happens after U-boot starts loading the kernel, is my understanding correct? Can you post the boot log files and Linux version you use?
  • Here is the log output from the beginning. The G21 Pin goes on before anything gets printed out from the linux kernel( After Starting the kernel... output and before anything else gets printed). This is using Linux 4.1.6 kernel.

    DAQ Stargate5 U-Boot SPL 2015.07-g614c2f9-dirty (Oct 10 2017 - 10:29:51)
    gpmc_init
    gpmc_cfg (0x80a00000) = 0x50000000
    SPL: Please implement spl_start_uboot() for your board
    SPL: Direct Linux boot not active!


    U-Boot 2015.07-g614c2f9-dirty (Oct 10 2017 - 10:29:51 -0700)

    U-Boot code: 80800000 -> 8085CA40 BSS: -> 808BFC5C
    I2C: ready
    DRAM: Monitor len: 000BFC5C
    Ram size: 20000000
    Ram top: A0000000
    TLB table from 9fff0000 to 9fff4000
    Reserving 767k for U-Boot at: 9ff30000
    Reserving 16448k for malloc() at: 9ef20000
    Reserving 80 Bytes for Board Info at: 9ef1ffb0
    Reserving 184 Bytes for Global Data at: 9ef1fef8

    RAM Configuration:
    Bank #0: 80000000
    DRAM: 512 MiB
    New Stack Pointer is: 9ef1fed0
    about to copy 184 bytes from 4033fe88 to 9ef1fef8
    Relocation Offset is: 1f730000
    Relocating to 9ff30000, new gd at 9ef1fef8, sp at 9ef1fed0
    setup_reloc returning
    board_init_r is at 0x9ff3308d
    Run initcall list at line 922
    board_init
    gpmc_init
    gpmc_cfg (0x9ff8ca40) = 0x50000000
    gpmc_init returned
    power_init_board
    PMIC: TPS65218
    power_init_board done
    NAND: 512 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    initr_env
    call env_relocate
    env_relocate
    call env_relocate_spec
    env_relocate_spec
    call readenv
    call env_import
    env_import memcpy to 9ef0fe2c from 9ef0fe60
    check crc
    decrypt
    himport
    himport_r done
    himport returned
    env_relocate_spec done
    env_relocate done
    initr_env getenv_ulong
    initr_env getenv_ulong done
    initr_env done
    Incorrect magic number (0xffffffff) in EEPROM
    Could not get board ID.
    Net: cpsw, usb_ether
    Configure Stargate5 GPIO5 Output 0xc7e7be00
    Hit any key to stop autoboot: 1 0

    NAND read: device 0 offset 0x100000, size 0x80000
    524288 bytes read: OK

    NAND read: device 0 offset 0xa00000, size 0x800000
    8388608 bytes read: OK
    ## Current stack ends at 0x9ef1fcf8 Kernel image @ 0x82000000 [ 0x000000 - 0x6fd7e0 ]
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    using: FDT
    Loading Device Tree to 8fff2000, end 8ffff5d5 ... OK
    ## Transferring control to Linux (at address 82000000)...

    Starting kernel ...

    [ 0.000000] Pre anything run
    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Initializing cgroup subsys cpuset
    [ 0.000000] Initializing cgroup subsys cpu
    [ 0.000000] Initializing cgroup subsys cpuacct
    [ 0.000000] Linux version 4.1.6-g614ddf5-dirty (bspinner@ubuntu) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #6 PREEMPT Thu Oct 26 12:02:54 PDT 2017
    [ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c52879
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine model: DAQ Stargate5
    [ 0.000000] cma: Reserved 24 MiB at 0x9e800000
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM437x ES1.2 (neon )
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129920
    [ 0.000000] Kernel command line: earlyprintk console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=NAND.es-file-system,4096 rootfstype=ubifs rootwait=1 eth=00:13:22:00:24:66 utility.HeartbeatLED=28
    [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] Memory: 480580K/524288K available (6807K kernel code, 281K rwdata, 2472K rodata, 3996K init, 244K bss, 19132K reserved, 24576K cma-reserved, 0K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc0918064 (9281 kB)
    [ 0.000000] .init : 0xc0919000 - 0xc0d00000 (3996 kB)
    [ 0.000000] .data : 0xc0d00000 - 0xc0d46580 ( 282 kB)
    [ 0.000000] .bss : 0xc0d49000 - 0xc0d862bc ( 245 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] Additional per-CPU info printed with stalls.
    [ 0.000000] NR_IRQS:16 nr_irqs:16 16
    [ 0.000000] L2C: platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [ 0.000000] L2C: DT/platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [ 0.000000] OMAP L2C310: ROM does not support power control setting
    [ 0.000000] L2C-310 ID prefetch enabled, offset 1 lines
    [ 0.000000] L2C-310 dynamic clock gating disabled, standby mode disabled
    [ 0.000000] L2C-310 cache controller enabled, 16 ways, 256 kB
    [ 0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x7e430000
    [ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [ 0.000033] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000095] clocksource timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000137] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000509] Console: colour dummy device 80x30
    [ 0.000600] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.000630] This ensures that you still see kernel messages. Please
    [ 0.000659] update your kernel commandline.
    [ 0.000705] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
    [ 0.076095] pid_max: default: 32768 minimum: 301
    [ 0.076428] Security Framework initialized
    [ 0.076582] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.076632] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.078904] Initializing cgroup subsys blkio
    [ 0.078963] Initializing cgroup subsys memory
    [ 0.079090] Initializing cgroup subsys devices
    [ 0.079144] Initializing cgroup subsys freezer
    [ 0.079195] Initializing cgroup subsys perf_event
    [ 0.079277] CPU: Testing write buffer coherency: ok
    [ 0.079965] Setting up static identity map for 0x800082c0 - 0x80008330
    [ 0.084661] devtmpfs: initialized
    [ 0.136263] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [ 0.196756] omap_hwmod: tptc0 using broken dt data from edma
    [ 0.197273] omap_hwmod: tptc1 using broken dt data from edma
    [ 0.197788] omap_hwmod: tptc2 using broken dt data from edma
    [ 0.265637] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.272720] pinctrl core: initialized pinctrl subsystem
    [ 0.276871] NET: Registered protocol family 16
    [ 0.281857] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.306094] cpuidle: using governor ladder
    [ 0.336080] cpuidle: using governor menu
    [ 0.342308] omap_l3_noc 44000000.ocp: L3 debug error: target 8 mod:0 (unclearable)
    [ 0.342500] omap_l3_noc 44000000.ocp: L3 application error: target 8 mod:0 (unclearable)
    [ 0.359345] OMAP GPIO hardware version 0.1
    [ 0.380819] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/my_gpmc_1_pins_default, deferring probe
    [ 0.388901] No ATAGs?
    [ 0.389011] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [ 0.389052] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [ 0.480983] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [ 0.496110] vgaarb: loaded
    [ 0.498088] SCSI subsystem initialized
    [ 0.499288] usbcore: registered new interface driver usbfs
    [ 0.499585] usbcore: registered new interface driver hub
    [ 0.499896] usbcore: registered new device driver usb
    [ 0.501434] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/my_i2c_1_pins_default, deferring probe
    [ 0.501981] pps_core: LinuxPPS API ver. 1 registered
    [ 0.502019] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.502145] PTP clock support registered
    [ 0.504842] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.506001] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.509488] Switched to clocksource timer1
    [ 0.546709] NET: Registered protocol family 2
    [ 0.549942] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.550338] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.550715] TCP: Hash tables configured (established 4096 bind 4096)
    [ 0.550900] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.551017] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.551560] NET: Registered protocol family 1
    [ 0.552408] RPC: Registered named UNIX socket transport module.
    [ 0.552449] RPC: Registered udp transport module.
    [ 0.552481] RPC: Registered tcp transport module.
    [ 0.552514] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 1.889964] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 1.890239] audit: initializing netlink subsys (disabled)
    [ 1.890372] audit: type=2000 audit(1.890:1): initialized
    [ 1.919593] VFS: Disk quotas dquot_6.6.0
    [ 1.920362] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [ 1.926068] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 1.929110] NFS: Registering the id_resolver key type
    [ 1.929229] Key type id_resolver registered
    [ 1.929265] Key type id_legacy registered
    [ 1.929670] jffs2: version 2.2. (NAND) (SUMMARY) 2001-2006 Red Hat, Inc.
    [ 1.937912] NET: Registered protocol family 38
    [ 1.938128] io scheduler noop registered
    [ 1.938188] io scheduler deadline registered
    [ 1.938375] io scheduler cfq registered (default)
    [ 1.947833] pinctrl-single 44e10800.pinmux: 199 pins at pa f9e10800 size 796
    [ 1.956733] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [ 1.961045] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 1.972550] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
    [ 1.973981] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 25, base_baud = 3000000) is a 8250
    [ 2.713699] console [ttyS0] enabled
    [ 2.718733] omap8250 48022000.serial: No clock speed specified: using default: 48000000
    [ 2.728221] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 26, base_baud = 3000000) is a 8250
    [ 2.738595] omap8250 481a6000.serial: No clock speed specified: using default: 48000000
    [ 2.748102] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 27, base_baud = 3000000) is a 8250
    [ 2.758428] omap8250 481a8000.serial: No clock speed specified: using default: 48000000
    [ 2.767917] 481a8000.serial: ttyS2 at MMIO 0x481a8000 (irq = 28, base_baud = 3000000) is a 8250
    [ 2.781100] [drm] Initialized drm 1.1.0 20060810
    [ 2.821568] brd: module loaded
    [ 2.842264] loop: module loaded
    [ 2.851539] mtdoops: mtd device (mtddev=name/number) must be supplied
    [ 2.862528] vcan: Virtual CAN interface driver
    [ 2.867056] CAN device driver interface
    [ 2.874948] c_can_platform 481d0000.can: c_can_platform device registered (regs=fa1d0000, irq=187)
    [ 3.296560] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [ 3.302299] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [ 3.310786] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f06d hci version 0x100 quirks 0x00010010
    [ 3.319730] xhci-hcd xhci-hcd.0.auto: irq 220, io mem 0x483d0000
    [ 3.326387] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [ 3.333333] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.340680] usb usb1: Product: xHCI Host Controller
    [ 3.345626] usb usb1: Manufacturer: Linux 4.1.6-g614ddf5-dirty xhci-hcd
    [ 3.352358] usb usb1: SerialNumber: xhci-hcd.0.auto
    [ 3.360131] hub 1-0:1.0: USB hub found
    [ 3.364054] hub 1-0:1.0: 1 port detected
    [ 3.369398] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [ 3.375143] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [ 3.383184] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [ 3.391778] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
    [ 3.398652] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.405999] usb usb2: Product: xHCI Host Controller
    [ 3.410987] usb usb2: Manufacturer: Linux 4.1.6-g614ddf5-dirty xhci-hcd
    [ 3.417675] usb usb2: SerialNumber: xhci-hcd.0.auto
    [ 3.424876] hub 2-0:1.0: USB hub found
    [ 3.428768] hub 2-0:1.0: 1 port detected
    [ 3.434287] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 3.441034] ehci-pci: EHCI PCI platform driver
    [ 3.445780] ehci-platform: EHCI generic platform driver
    [ 3.452139] ehci-omap: OMAP-EHCI Host Controller driver
    [ 3.457888] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    [ 3.464562] ohci-platform: OHCI generic platform driver
    [ 3.470523] uhci_hcd: USB Universal Host Controller Interface driver
    [ 3.477845] usbcore: registered new interface driver usb-storage
    [ 3.485092] mousedev: PS/2 mouse device common for all mice
    [ 3.491620] omap_rtc 44e3e000.rtc: already running
    [ 3.497556] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [ 3.505398] i2c /dev entries driver
    [ 3.511764] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 3.550625] ledtrig-cpu: registered to indicate activity on CPUs
    [ 3.557596] omap-aes 53501000.aes: OMAP AES hw accel rev: 0.1
    [ 3.566456] omap-des 53701000.des: OMAP DES hw accel rev: 0.33
    [ 3.575557] omap-sham 53100000.sham: hw accel on OMAP rev 0.0
    [ 3.587488] remoteproc0: wkup_m3 is available
    [ 3.592382] remoteproc0: Note: remoteproc is still under development and considered experimental.
    [ 3.601597] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [ 3.620244] utility IoE3 driver, Result=0 Major =248
    [ 3.625302] utilityC.c 248 Mapped gpio0 base to 0xf9e07000
    [ 3.631025] utilityC.c 294 Mapped gpio4 base to 0xfa320000
    [ 3.636578] utilityC.c 318 Mapped gpio5 base to 0xfa322000
    [ 3.642236] cdev_add returned 0
    [ 3.646054] /proc/ioe3 created
    [ 3.649164] created /proc/ioe3/gpio
    [ 3.656791] oprofile: no performance counters
    [ 3.661734] oprofile: using timer interrupt.
    [ 3.667450] Initializing XFRM netlink socket
    [ 3.671980] NET: Registered protocol family 17
    [ 3.676577] NET: Registered protocol family 15
    [ 3.681196] can: controller area network core (rev 20120528 abi 9)
    [ 3.687678] NET: Registered protocol family 29
    [ 3.692301] can: raw protocol (rev 20120528)
    [ 3.696647] can: broadcast manager protocol (rev 20120528 t)
    [ 3.702448] can: netlink gateway (rev 20130117) max_hops=1
    [ 3.708968] Key type dns_resolver registered
    [ 3.714559] omap_voltage_late_init: Voltage driver support not added
    [ 3.722683] ThumbEE CPU extension supported.
    [ 3.727069] Registering SWP/SWPB emulation handler
    [ 3.739131] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [ 3.744581] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [ 3.754663] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
    [ 3.761245] nand: Micron MT29F4G08ABAEAWP
    [ 3.765319] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
    [ 3.773142] using OMAP_ECC_BCH16_CODE_HW ECC scheme
    [ 3.778400] 12 ofpart partitions found on MTD device 8000000.nand
    [ 3.784607] Creating 12 MTD partitions on "8000000.nand":
    [ 3.790115] 0x000000000000-0x000000040000 : "NAND.SPL"
    [ 3.799012] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
    [ 3.808489] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
    [ 3.817922] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
    [ 3.826917] 0x000000100000-0x000000180000 : "NAND.u-boot-spl-os"
    [ 3.836183] 0x000000180000-0x000000280000 : "NAND.u-boot"
    [ 3.844960] 0x000000280000-0x0000002c0000 : "NAND.u-boot-env"
    [ 3.854034] 0x0000002c0000-0x000000300000 : "NAND.u-boot-env.backup1"
    [ 3.863879] 0x000000300000-0x000000a00000 : "NAND.kernel"
    [ 3.873494] 0x000000a00000-0x000001200000 : "NAND.kernelwithinitramfs"
    [ 3.884491] 0x000001200000-0x000007200000 : "NAND.daq-file-system"
    [ 3.905176] 0x000007200000-0x000020100000 : "NAND.es-file-system"
    [ 3.911407] mtd: partition "NAND.es-file-system" extends beyond the end of device "8000000.nand" -- size truncated to 0x18e00000
    [ 3.975349] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
    [ 4.029915] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 100 kHz
    [ 4.040981] remoteproc0: powering up wkup_m3
    [ 4.045421] remoteproc0: Booting fw image am335x-pm-firmware.elf, size 219735
    [ 4.053644] remoteproc0: remote processor wkup_m3 is now up
    [ 4.059396] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x191
    [ 4.080942] ubi0: attaching mtd11
    [ 4.947457] ubi0: scanning is finished
    [ 4.965140] ubi0 warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 36, need 40
    [ 4.981756] ubi0: attached mtd11 (name "NAND.es-file-system", size 398 MiB)
    [ 4.988806] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
    [ 4.995848] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 1024
    [ 5.002764] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
    [ 5.009837] ubi0: good PEBs: 1592, bad PEBs: 0, corrupted PEBs: 0
    [ 5.015995] ubi0: user volume: 4, internal volumes: 1, max. volumes count: 128
    [ 5.023333] ubi0: max/mean erase counter: 11/6, WL threshold: 4096, image sequence number: 1403185571
    [ 5.032673] ubi0: available PEBs: 0, total reserved PEBs: 1592, PEBs reserved for bad PEB handling: 36
    [ 5.042241] ubi0: background thread "ubi_bgt0d" started, PID 66
    [ 5.109848] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [ 5.116036] davinci_mdio 4a101000.mdio: detected phy mask fffffff5
    [ 5.125067] libphy: 4a101000.mdio: probed
    [ 5.129169] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver unknown
    [ 5.137491] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver unknown
    [ 5.151772] cpsw 4a100000.ethernet: Detected MACID = 00:13:22:00:24:66
    [ 5.163000] cpsw 4a100000.ethernet: cpsw: Detected MACID = a0:f6:fd:1a:f0:5c
    [ 5.173253] omap_rtc 44e3e000.rtc: setting system clock to 2017-10-30 18:07:10 UTC (1509386830)
    [ 5.198775] ALSA device list:
    [ 5.201914] No soundcards found.
    [ 5.205630] Warning: unable to open an initial console.
    [ 5.221030] Freeing unused kernel memory: 3996K (c0919000 - c0d00000)
    [ 5.289796] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 83
    [ 5.323602] UBIFS (ubi0:1): recovery needed
    [ 5.539669] UBIFS (ubi0:1): recovery completed
    [ 5.544502] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs"
    [ 5.552051] UBIFS (ubi0:1): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [ 5.562109] UBIFS (ubi0:1): FS size: 31236096 bytes (29 MiB, 123 LEBs), journal size 7110656 bytes (6 MiB, 28 LEBs)
    [ 5.572670] UBIFS (ubi0:1): reserved for root: 0 bytes (0 KiB)
    [ 5.578588] UBIFS (ubi0:1): media format: w4/r0 (latest is w4/r0), UUID 01D885CC-5730-46E3-A36D-CEC577EDD76B, small LPT model
    [ 5.669654] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started, PID 97
    [ 5.706792] UBIFS (ubi0:2): recovery needed
    [ 5.876188] UBIFS (ubi0:2): recovery completed
    [ 5.881044] UBIFS (ubi0:2): UBIFS: mounted UBI device 0, volume 2, name "remsdaq"
    [ 5.888612] UBIFS (ubi0:2): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [ 5.898687] UBIFS (ubi0:2): FS size: 31236096 bytes (29 MiB, 123 LEBs), journal size 7110656 bytes (6 MiB, 28 LEBs)
    [ 5.909250] UBIFS (ubi0:2): reserved for root: 0 bytes (0 KiB)
    [ 5.915207] UBIFS (ubi0:2): media format: w4/r0 (latest is w4/r0), UUID BC39AF2B-3CEB-46C9-9A6B-BF5B9937D3F2, small LPT model
    [ 6.009690] UBIFS (ubi0:3): background thread "ubifs_bgt0_3" started, PID 110
    [ 6.050631] UBIFS (ubi0:3): recovery needed
    [ 6.849711] UBIFS (ubi0:3): recovery completed
    [ 6.854494] UBIFS (ubi0:3): UBIFS: mounted UBI device 0, volume 3, name "user"
    [ 6.869563] UBIFS (ubi0:3): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [ 6.896086] UBIFS (ubi0:3): FS size: 276807680 bytes (263 MiB, 1090 LEBs), journal size 9404416 bytes (8 MiB, 38 LEBs)
    [ 6.906914] UBIFS (ubi0:3): reserved for root: 0 bytes (0 KiB)
    [ 6.912866] UBIFS (ubi0:3): media format: w4/r0 (latest is w4/r0), UUID B44FA440-7380-4112-B871-94BA79DC1FF8, small LPT model
    [ 8.342748] udevd[154]: starting version 182
    [ 8.520259] random: dd urandom read with 15 bits of entropy available
    [ 9.200753] net eth0: initializing cpsw version 1.15 (0)
    [ 9.300193] net eth0: phy found : id is : 0x221622
    [ 9.779752] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 202
    [ 9.994263] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "boot"
    [ 10.019715] UBIFS (ubi0:0): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [ 10.040233] UBIFS (ubi0:0): FS size: 6094848 bytes (5 MiB, 24 LEBs), journal size 2285569 bytes (2 MiB, 8 LEBs)
    [ 10.060332] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
    [ 10.066280] UBIFS (ubi0:0): media format: w4/r0 (latest is w4/r0), UUID 5057CBE1-137D-4519-BD2B-69344CA3AB5E, small LPT model
    [ 10.209872] UBIFS (ubi0:0): un-mount UBI device 0
    [ 10.214694] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" stops
    [ 13.300719] cpsw 4a100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [ 57.011716] random: nonblocking pool is initialized
  • What is this Linux version? Where did yo get it from?
  • I am almost positive this version was given to us from TI from the SDK given to us from the board development package.
  • Benjamin,

    Before we try to figure out why the pin goes high, my first question is what is the problem with the pin goes high?
    I didn't look at the datasheet, but I assume Biser is right that this pin is USB0_DRVVBUS pin. It goes high means software tries to put the USB0 controller into the host mode.
  • We use that pin as an output to a Relay and when the board boots causing it to go high is unacceptable because it could turn on anything that was connected to it. I would say that you are right that the software is driving it high but I have tried the nousb from the kernel command line so that none of the drivers are loaded but it still drives up the pin. Unless there is something else besides the driver that can cause the usb to go into host mode. Nothing in the technical manual talks about the processor putting the usb into host mode on startup or anything like that.
    Talking with my hardware engineer we are thinking that something during the boot sequence is causing the pin to go into pullup mode. The pin drives an output with a resister in the middle and when the resister is there the voltage is very low to the point where it doesn't actually strike the coil for the relay but does turn on the LED associated with the PIN. He thinks that because of this behavior there is some pullup resister being configured that is causing this.
  • Benjamin,

    USB0_DRVVBUS pin is a USB pin, even though the TRM says it can be configured as a GPIO for general use, the software (including ROM, uboot and Linux kernel) delivered in the TI Processor Linux SDK uses this pin to drive USB host mode, so it is intended not for general purpose.

    So the quickly way to solve your issue is redesign your board to not use this pin as a GPIO.
  • Our device tree has been modified to account for this so I'm not sure exactly why we can't use this pin for GPIO.  It works fine for our usage except during this boot up sequence.  When we put a scope on the pins for the USB0_DRVVBUS and USB1_DRVVBUS we notice that the pins do not act in similar fashion.  USB1_DRVVBUS stays low on load but USB0_DRVVBUS goes high but not high like it was turned on.  The behavior looks like there is a pulldown resistor connected to USB0_DRVVBUS but we know there isn't one on the hardware or configured to be pulldown by the device tree.  Once the USB controller software has been loaded by the kernel the USB1_DRVVBUS goes high as expected and USB0_DRVVBUS goes low as expected.  This is a strange behavior to us here and we're curious what in the distributed kernel SDK could possibly be telling that PIN to go high and the one we actually configured in the device tree goes low.  

  • I didn't say you cannot use it as gpio, what I meant is the pin is a USB pin out of reset, and the whole Linux software package expects it to be a USB pin, so possible somewhere in software causes the glitch, especially given it lasts for 1 second, which is not a typical electrical glitch.

    Have you confirmed the glitch happens in kernel booting process? It doesn't happen if uboot doesn't load kernel image?
    if so, please provide the exact version number of the TI Processor SDK you use, and the patches you have which modified the kernel, including device tree files.
  • Ben,

    No further information from you, so I am closing this ticket.