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.

AM437X Power Problem

Other Parts Discussed in Thread: TPS65218

I am working on AM437X custom board based on Processor SDK 2.00.00.00. The kernel version is Linux 4.1. Everything is fine except that I got the following messages during boot up.

[ 5.716024] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22
[ 5.904589] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22

The log appears after loading am335x-pm-firmware.elf version 0x191

I also noticed that I cannot get into suspend mode by

# echo mem > /sys/power/state

It complains about some I/O error. The kernel config and device tree file pretty follow the guide here http://processors.wiki.ti.com/index.php/Linux_Core_Power_Management_User's_Guide_(v4.1)

My PMIC is TPS65218. Any idea?

  • I will ask the software team to comment.
  • This is the related log.

    [ 3.258662] c_can_platform 481d0000.can: c_can_platform device registered (regs=fa1d0000, irq=257)
    [ 3.308446] remoteproc0: Booting fw image am335x-pm-firmware.elf, size 219787
    [ 3.452945] input: tps65218_pwrbutton as /devices/platform/44000000.ocp/4802a000.i2c/i2c-1/1-0024/4802a000.i2c:tps@24:power-button/input/input0
    [ 3.478076] remoteproc0: remote processor wkup_m3 is now up
    [ 3.483858] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x191
    [ 4.299710] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22
    [ 4.541038] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22
    [ 6.574494] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 8.478817] usbcore: registered new interface driver usbfs
  • Biser,
    I am wondering how long it usually take to wait for your feedback from your software team?
    -Eric
  • This depends on their workload and priorities. I will try to see if this can be escalated.
  • Eric,

    Before you enter suspend, run the command below and report back the full console output:

    # echo no > /sys/module/printk/parameters/console_suspend

    Thanks,
    Mike

  • According to Linux PM expert, the log is unrelated to issue, that 'Fail calculating voltage latency' appears on our boards as well and is not an error, it's just a message.

    >It complains about some I/O error.

    It helps if you can post the details of errors or full log during suspend/resume.
  • Shin,
    Thanks for your prompt reply. I sorted out why the messages "Fail calculating voltage latency[950000<->1325000]:-22" coming from. However, I cannot enter into suspend mode. Below is my log messages. Is this a proper way to enter suspend mode? I cat the /sys/power/state and get nothing.

    root@smarct437x:~# cat /sys/power/state
    root@smarct437x:~#
    root@smarct437x:~# echo no > /sys/module/printk/parameters/console_suspend
    root@smarct437x:~# echo mem > /sys/power/state
    -sh: echo: write error: Invalid argument
    root@smarct437x:~#
    -Eric
  • Hi Eric,

    I work with Shin.

    /sys/power/state should be populated.  Can you attach these three bits of information:

    1) full kernel boot log (dmesg > ~/boot.txt)
    2) kernel configuration (zcat /proc/config.gz > ~/config.txt)
    3) output from lsmod after the kernel boots (lsmod > ~/lsmod.txt)

    I have attached the same from my AM437x GP EVM with a fresh installation of Processor SDK 2.0.0 for your reference.

    If you need any help attaching a file, see this: https://e2e.ti.com/group/helpcentral/w/e2e/148.4-5-attaching-a-file

    Regards,
    Mike

    am437x.zip

  • [    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.10-g55d8623 (linux@developer) (gcc version 4.9.3 20150413 (prerelease) (Linaro GCC 4.9-2015.05) ) #1 PREEMPT Mon Jan 18 13:29:12 CST 2016
    [    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine model: TI AM437x SMARCT437X
    [    0.000000] cma: Reserved 24 MiB at 0xbe800000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] On node 0 totalpages: 262144
    [    0.000000] free_area_init_node: node 0, pgdat c083f4a0, node_mem_map eeef9000
    [    0.000000]   Normal zone: 1710 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 194560 pages, LIFO batch:31
    [    0.000000]   HighMem zone: 67584 pages, LIFO batch:15
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM437x ES1.2 (sgx neon )
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0 
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260434
    [    0.000000] Kernel command line: console=ttyS4,115200n8 root=/dev/mmcblk1p2 ro rootfstype=ext4 rootwait fixrtc consoleblank=0 mem=1024M
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 1005044K/1048576K available (5863K kernel code, 226K rwdata, 2060K rodata, 264K init, 240K bss, 18956K reserved, 24576K cma-reserved, 245760K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc07c5024   (7925 kB)
    [    0.000000]       .init : 0xc07c6000 - 0xc0808000   ( 264 kB)
    [    0.000000]       .data : 0xc0808000 - 0xc08408e8   ( 227 kB)
    [    0.000000]        .bss : 0xc0843000 - 0xc087f068   ( 241 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.000010] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000025] clocksource timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000033] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000167] Console: colour dummy device 80x30
    [    0.000200] Calibrating delay loop... 1993.93 BogoMIPS (lpj=9969664)
    [    0.059248] pid_max: default: 32768 minimum: 301
    [    0.059346] Security Framework initialized
    [    0.059387] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.059395] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.060028] Initializing cgroup subsys blkio
    [    0.060052] Initializing cgroup subsys memory
    [    0.060095] Initializing cgroup subsys devices
    [    0.060110] Initializing cgroup subsys freezer
    [    0.060122] Initializing cgroup subsys perf_event
    [    0.060145] CPU: Testing write buffer coherency: ok
    [    0.060487] Setting up static identity map for 0x80008200 - 0x80008270
    [    0.061956] devtmpfs: initialized
    [    0.070865] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [    0.082304] omap_hwmod: tptc0 using broken dt data from edma
    [    0.082421] omap_hwmod: tptc1 using broken dt data from edma
    [    0.082516] omap_hwmod: tptc2 using broken dt data from edma
    [    0.128183] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.129925] pinctrl core: initialized pinctrl subsystem
    [    0.130974] NET: Registered protocol family 16
    [    0.132261] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.159293] cpuidle: using governor ladder
    [    0.189282] cpuidle: using governor menu
    [    0.190611] omap_l3_noc 44000000.ocp: L3 debug error: target 8 mod:0 (unclearable)
    [    0.190662] omap_l3_noc 44000000.ocp: L3 application error: target 8 mod:0 (unclearable)
    [    0.193760] OMAP GPIO hardware version 0.1
    [    0.203225] No ATAGs?
    [    0.203259] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [    0.203268] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [    0.235808] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [    0.239060] SCSI subsystem initialized
    [    0.239684] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c0_pins, deferring probe
    [    0.239729] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c1_pins, deferring probe
    [    0.239758] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c2_pins, deferring probe
    [    0.239896] pps_core: LinuxPPS API ver. 1 registered
    [    0.239903] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.239930] PTP clock support registered
    [    0.240588] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.240832] Advanced Linux Sound Architecture Driver Initialized.
    [    0.241490] Switched to clocksource timer1
    [    0.249423] NET: Registered protocol family 2
    [    0.250077] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.250147] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.250220] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.250366] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [    0.250388] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [    0.250559] NET: Registered protocol family 1
    [    0.250875] RPC: Registered named UNIX socket transport module.
    [    0.250886] RPC: Registered udp transport module.
    [    0.250890] RPC: Registered tcp transport module.
    [    0.250895] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.252868] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.252949] audit: initializing netlink subsys (disabled)
    [    0.253002] audit: type=2000 audit(0.240:1): initialized
    [    0.257959] VFS: Disk quotas dquot_6.6.0
    [    0.258133] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.259706] NFS: Registering the id_resolver key type
    [    0.259756] Key type id_resolver registered
    [    0.259764] Key type id_legacy registered
    [    0.259819] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
    [    0.262085] NET: Registered protocol family 38
    [    0.262179] bounce: pool size: 64 pages
    [    0.262194] io scheduler noop registered
    [    0.262205] io scheduler deadline registered
    [    0.262263] io scheduler cfq registered (default)
    [    0.264117] pinctrl-single 44e10800.pinmux: 199 pins at pa f9e10800 size 796
    [    0.265990] backlight supply power not found, using dummy regulator
    [    0.267544] 4832a000.dss supply vdda_video not found, using dummy regulator
    [    0.267653] OMAP DSS rev 2.0
    [    0.267962] omapdss_dss 4832a000.dss: bound 4832a400.dispc (ops dispc_component_ops)
    [    0.269425] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [    0.314416] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.317285] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 25, base_baud = 3000000) is a 8250
    [    0.318214] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 26, base_baud = 3000000) is a 8250
    [    0.319069] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 27, base_baud = 3000000) is a 8250
    [    0.319902] console [ttyS4] disabled
    [    0.319963] 481a8000.serial: ttyS4 at MMIO 0x481a8000 (irq = 28, base_baud = 3000000) is a 8250
    [    1.067087] console [ttyS4] enabled
    [    1.071619] [drm] Initialized drm 1.1.0 20060810
    [    1.086123] brd: module loaded
    [    1.093813] loop: module loaded
    [    1.097847] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.106028] m25p80 spi1.0: mx25u3235f (4096 Kbytes)
    [    1.110954] 3 ofpart partitions found on MTD device spi1.0
    [    1.116578] Creating 3 MTD partitions on "spi1.0":
    [    1.121398] 0x000000000000-0x000000100000 : "U-Boot"
    [    1.127236] 0x000000100000-0x000000180000 : "U-Boot Environment"
    [    1.134030] 0x000000180000-0x000000380000 : "Flattened Device Tree"
    [    1.143868] CAN device driver interface
    [    1.148951] mousedev: PS/2 mouse device common for all mice
    [    1.154730] i2c /dev entries driver
    [    1.159240] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    1.231954] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.238315] omap-aes 53501000.aes: OMAP AES hw accel rev: 0.1
    [    1.245349] omap-des 53701000.des: OMAP DES hw accel rev: 0.33
    [    1.255464] omap-sham 53100000.sham: hw accel on OMAP rev 0.0
    [    1.263469]  remoteproc0: wkup_m3 is available
    [    1.267944]  remoteproc0: Note: remoteproc is still under development and considered experimental.
    [    1.277162]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    1.287869]  remoteproc0: Direct firmware load for am335x-pm-firmware.elf failed with error -2
    [    1.302728] oprofile: no performance counters
    [    1.307208] oprofile: using timer interrupt.
    [    1.311639]  remoteproc0: Falling back to user helper
    [    1.317084] Initializing XFRM netlink socket
    [    1.321417] NET: Registered protocol family 17
    [    1.326012] NET: Registered protocol family 15
    [    1.330508] can: controller area network core (rev 20120528 abi 9)
    [    1.336842] NET: Registered protocol family 29
    [    1.341427] Key type dns_resolver registered
    [    1.345939] omap_voltage_late_init: Voltage driver support not added
    [    1.352846] ThumbEE CPU extension supported.
    [    1.357154] Registering SWP/SWPB emulation handler
    [    1.363087] mmc0: MAN_BKOPS_EN bit is not set
    [    1.368319] omapdrm omapdrm.0: DMM not available, disable DMM support
    [    1.375752] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    1.382664] [drm] No driver support for vblank timestamp query.
    [    1.388905] mmc0: new high speed MMC card at address 0001
    [    1.401904] mmcblk0: mmc0:0001 4YMD3R 3.64 GiB 
    [    1.402134] mmcblk0boot0: mmc0:0001 4YMD3R partition 1 4.00 MiB
    [    1.402304] mmcblk0boot1: mmc0:0001 4YMD3R partition 2 4.00 MiB
    [    1.403299]  mmcblk0: p1 p2
    [    1.440377] Console: switching to colour frame buffer device 100x30
    [    1.483209] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
    [    1.489154] omapdrm omapdrm.0: registered panic notifier
    [    1.521528] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
    [    1.528675] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz
    [    1.572785] rtc-s35390a 1-0030: rtc core: registered rtc-s35390a as rtc0
    [    1.579717] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
    [    1.586819] at24 1-0057: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
    [    1.594849] sgtl5000 1-000a: sgtl5000 revision 0x11
    [    1.618791] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 100 kHz
    [    1.625538] at24 2-0076: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
    [    1.632537] omap_i2c 4819c000.i2c: bus 2 rev0.12 at 100 kHz
    [    1.639191] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    1.682716] sgtl5000 1-000a: Using internal LDO instead of VDDD
    [    1.702042] asoc-simple-card sound@0: sgtl5000 <-> 4803c000.mcasp mapping ok
    [    1.709155] asoc-simple-card sound@0: ASoC: no source widget found for HPLOUT
    [    1.716392] asoc-simple-card sound@0: ASoC: Failed to add route HPLOUT -> direct -> Headphone Jack
    [    1.725435] asoc-simple-card sound@0: ASoC: no source widget found for HPROUT
    [    1.732630] asoc-simple-card sound@0: ASoC: Failed to add route HPROUT -> direct -> Headphone Jack
    [    1.741665] asoc-simple-card sound@0: ASoC: no sink widget found for LINE1L
    [    1.748672] asoc-simple-card sound@0: ASoC: Failed to add route Line In -> direct -> LINE1L
    [    1.757086] asoc-simple-card sound@0: ASoC: no sink widget found for LINE1R
    [    1.764104] asoc-simple-card sound@0: ASoC: Failed to add route Line In -> direct -> LINE1R
    [    1.790027] mmc1: host does not support reading read-only switch, assuming write-enable
    [    1.800098] mmc1: new high speed SDHC card at address 0007
    [    1.806091] mmcblk1: mmc1:0007 SD16G 14.4 GiB 
    [    1.811949]  mmcblk1: p1 p2
    [    1.831526] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    1.837656] davinci_mdio 4a101000.mdio: detected phy mask ffffff3f
    [    1.845228] libphy: 4a101000.mdio: probed
    [    1.849274] davinci_mdio 4a101000.mdio: phy[6]: device 4a101000.mdio:06, driver Atheros 8035 ethernet
    [    1.858638] davinci_mdio 4a101000.mdio: phy[7]: device 4a101000.mdio:07, driver Atheros 8035 ethernet
    [    1.868658] cpsw 4a100000.ethernet: Detected MACID = c4:be:84:cc:77:95
    [    1.876073] cpsw 4a100000.ethernet: cpsw: Detected MACID = c4:be:84:cc:77:97
    [    1.884718] rtc-s35390a 1-0030: setting system clock to 2016-01-20 03:01:53 UTC (1453258913)
    [    1.896722] ALSA device list:
    [    1.899727]   #0: SMARCT437X SOUND CARD
    [    1.913404] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [    1.921675] VFS: Mounted root (ext4 filesystem) readonly on device 179:26.
    [    1.931713] devtmpfs: mounted
    [    1.935171] Freeing unused kernel memory: 264K (c07c6000 - c0808000)
    [    2.554664] udevd[117]: starting version 182
    [    2.969039] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    3.257193] c_can_platform 481cc000.can: c_can_platform device registered (regs=fa1cc000, irq=256)
    [    3.400674] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    3.428001] c_can_platform 481d0000.can: c_can_platform device registered (regs=fa1d0000, irq=257)
    [    3.452333]  remoteproc0: powering up wkup_m3
    [    3.457607]  remoteproc0: Booting fw image am335x-pm-firmware.elf, size 219787
    [    3.662488]  remoteproc0: remote processor wkup_m3 is now up
    [    3.668201] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x191
    [    3.717992] input: tps65218_pwrbutton as /devices/platform/44000000.ocp/4802a000.i2c/i2c-1/1-0024/4802a000.i2c:tps@24:power-button/input/input0
    [    6.348969] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    6.786297] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    8.656512] usbcore: registered new interface driver usbfs
    [    8.663056] usbcore: registered new interface driver hub
    [    8.669271] usbcore: registered new device driver usb
    [    8.690118] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [    8.696470] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [    8.704890] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f06d hci version 0x100 quirks 0x00010010
    [    8.713810] xhci-hcd xhci-hcd.0.auto: irq 293, io mem 0x48390000
    [    8.719985] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [    8.726844] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    8.734107] usb usb1: Product: xHCI Host Controller
    [    8.739002] usb usb1: Manufacturer: Linux 4.1.10-g55d8623 xhci-hcd
    [    8.745218] usb usb1: SerialNumber: xhci-hcd.0.auto
    [    8.751410] hub 1-0:1.0: USB hub found
    [    8.755319] hub 1-0:1.0: 1 port detected
    [    8.759630] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [    8.765222] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [    8.773010] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [    8.781224] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
    [    8.788115] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    8.795386] usb usb2: Product: xHCI Host Controller
    [    8.800282] usb usb2: Manufacturer: Linux 4.1.10-g55d8623 xhci-hcd
    [    8.806499] usb usb2: SerialNumber: xhci-hcd.0.auto
    [    8.812603] hub 2-0:1.0: USB hub found
    [    8.816419] hub 2-0:1.0: 1 port detected
    [    8.820869] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [    8.826500] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
    [    8.834743] xhci-hcd xhci-hcd.1.auto: hcc params 0x0238f06d hci version 0x100 quirks 0x00010010
    [    8.843597] xhci-hcd xhci-hcd.1.auto: irq 294, io mem 0x483d0000
    [    8.849764] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
    [    8.856720] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    8.863994] usb usb3: Product: xHCI Host Controller
    [    8.868890] usb usb3: Manufacturer: Linux 4.1.10-g55d8623 xhci-hcd
    [    8.875107] usb usb3: SerialNumber: xhci-hcd.1.auto
    [    8.881228] hub 3-0:1.0: USB hub found
    [    8.885131] hub 3-0:1.0: 1 port detected
    [    8.889468] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [    8.895060] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
    [    8.902868] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
    [    8.911085] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003
    [    8.918041] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    8.925350] usb usb4: Product: xHCI Host Controller
    [    8.930248] usb usb4: Manufacturer: Linux 4.1.10-g55d8623 xhci-hcd
    [    8.936469] usb usb4: SerialNumber: xhci-hcd.1.auto
    [    8.942593] hub 4-0:1.0: USB hub found
    [    8.946410] hub 4-0:1.0: 1 port detected
    [    9.062194] cryptodev: driver 1.6 loaded.
    [    9.201542] usb 3-1: new high-speed USB device number 2 using xhci-hcd
    [    9.341792] usb 3-1: New USB device found, idVendor=0424, idProduct=2514
    [    9.348539] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    9.386893] hub 3-1:1.0: USB hub found
    [    9.399098] hub 3-1:1.0: 4 ports detected
    [    9.652064] EXT4-fs (mmcblk1p2): re-mounted. Opts: data=ordered
    [    9.876142] random: nonblocking pool is initialized
    [   11.751653] net eth0: initializing cpsw version 1.15 (0)
    [   11.831994] net eth0: phy found : id is : 0x4dd072
    [   15.832447] cpsw 4a100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [   19.783250] NET: Registered protocol family 10
    
    3441.config.txt
    Module                  Size  Used by
    ipv6                  307396  28 
    cryptodev              33670  1 
    xhci_plat_hcd           4353  0 
    xhci_hcd              100500  1 xhci_plat_hcd
    usbcore               185181  2 xhci_plat_hcd,xhci_hcd
    evdev                  10076  1 
    dwc3                   60151  0 
    udc_core               11612  1 dwc3
    cpufreq_voltdm          3401  0 
    thermal_sys            39499  1 cpufreq_voltdm
    hwmon                   3947  1 thermal_sys
    omapdrm_pvr           334225  4 
    tps65218_pwrbutton      2034  0 
    dwc3_omap               4306  0 
    phy_omap_usb2           4352  2 
    extcon                 13829  2 dwc3,dwc3_omap
    omap_rng                4470  0 
    rng_core                7712  2 omap_rng
    c_can_platform          6531  0 
    omap_wdt                4479  0 
    
    Hi Mike,

    Here they are. I did not find anything odd.

    -Eric

  • Eric,

    Thank you, we will take a look at these.

    One think I noticed right away is you are on kernel version 4.1.10, however TI processor SDK 2.0.0 is on kernel version 4.1.6, and the latest release, TI processor SDK 2.0.1, is on kernel 4.1.13 (this is an LTS kernel version).

    Are you the creator of the custom board, or a user?  It is possible your kernel is missing some power management patches.

    At any rate, I will get back with you when I looked deeper at your logs.

    Regards,
    Mike

  • Mike,
    We are the creator of the custom board. I can't quite remember how come our kernel version is not same as that released. However, I will try again 4.1.13 and see if it will make any differences. I will let you know tomorrow.
    -Eric
  • Eric,

    I see a one critical entry missing from your kernel config:

     CONFIG_AMX3_PM=y

    You will also need (a dependency of CONFIG_AMX3_PM):

     CONFIG_RTC_DRV_OMAP=y


    For future reference, this link has all required kernel modules to support suspend/ resume (I already checked your config, and you have all other modules selected): processors.wiki.ti.com/.../Linux_Core_Power_Management_User's_Guide_(v4.1)

    I received feedback that the PM drivers are already in the kernel, so this should just work.  If you are indifferent to kernel version, I would recommend going up to 4.1.13 so we can better support you, and you have the benefit of being on an LTS kernel version.


    Regards,
    Mike

  • Mike,
    I will update to 4.1.13. However, our board uses an external Seiko S35390A as the RTC chip. That's why we disable the CONFIG_RTC_DRV_OMAP=y
    Is there any way to workaround this without enable the CPU internal RTC? Instead, by external RTC?
    -Eric
  • Eric,

    I see you've been through this already:

    To disable omap-rtc, you can edit your top-level device tree file like this:

    &rtc {
        ti, no-init;  /* prevent omap-rtc from taking /dev/rtc0 */ 
        /* status = "okay"; */
    };

    You will still need to enable CONFIG_RTC_DRV_OMAP with CONFIG_AMX3_PM.  

    Regards,
    Mike

  • Mike,
    The CONFIG_AMX3_PM=y and CONFIG_RTC_DRV_OMAP=y did the trick. It does not matter if the kernel is 4.1.10 or 4.1.13. However, I upgrade to 4.1.13 now. The "ti, no-init;" node seems to depreciate in 4.1.13. However, I just disabled it at device tree node.
    smarct437x login: root
    root@smarct437x:~# cat /sys/power/state
    freeze standby mem
    root@smarct437x:~# echo mem > /sys/power/state
    [ 61.422104] PM: Syncing filesystems ... done.
    [ 63.809252] Freezing user space processes ... (elapsed 0.001 seconds) done.
    [ 63.819319] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
    [ 63.828266] Suspending console(s) (use no_console_suspend to debug)

    Thanks very much for your support.
    -Eric