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.

TISDK 05.06.00.00 - AM335x - Suspend/Resume not working

Other Parts Discussed in Thread: TPS65910, DA8XX, TMP275

Dear Friends,

I am having AM335x EVM, and currently using TI's latest SDK 05.06.00.00 for development. While testing the Suspend/Resume functionality using the 05.06.00.00 kernel source, found that the device gets in to SUSPEND state but couldn't able to RESUME it even by touching the Touchscreen or UART input. 

With the Previous SDK version 05.04.01.00 , the Suspend/Resume works fine. 

Can anyone confirm that if the Suspend/Resume functionality works with 05.06.00.00 SDK or not? or share suggestions.

Command Used to put system into Suspend: "sync; echo mem > /sys/power/state" 

Thank you,

Ankur

Please find the nonworking Suspend/Resume kernel log below from default 05.06.00.00 SDK:

U-Boot SPL 2011.09 (Jun 15 2012 - 17:25:37)
Texas Instruments Revision detection unimplemented
U-Boot 2011.09 (Feb 06 2013 - 15:52:47)
I2C: ready
DRAM: 256 MiB
WARNING: Caches not enabled
Found a daughter card connected
NAND: HW ECC Hamming Code selected
256 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Net: cpsw
Hit any key to stop autoboot: 0
Card did not respond to voltage select!
Booting from nand ...
HW ECC BCH8 Selected
NAND read: device 0 offset 0x280000, size 0x500000
5242880 bytes read: OK
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: Linux-3.2.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3387976 Bytes = 3.2 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Linux version 3.2.0 (cirrus@cirrus-development) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #3 Tue Feb 12 12:21:38 IST 2013
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: am335xevm
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] AM335X ES1.0 (sgx neon )
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mtdblock7 noinitrd rw rootfstype=jffs2 mem=256M ip=none
[ 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: 256MB = 256MB total
[ 0.000000] Memory: 252824k/252824k available, 9320k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0604000 (6128 kB)
[ 0.000000] .init : 0xc0604000 - 0xc0644000 ( 256 kB)
[ 0.000000] .data : 0xc0644000 - 0xc06af308 ( 429 kB)
[ 0.000000] .bss : 0xc06af32c - 0xc06dd818 ( 186 kB)
[ 0.000000] NR_IRQS:396
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
[ 0.000000] omap_dm_timer_switch_src: Switching to HW default clocksource(sys_clkin_ck) for timer1, this may impact timekeeping in low power state
[ 0.000000] OMAP clocksource: GPTIMER1 at 24000000 Hz
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000192] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[ 0.057159] pid_max: default: 32768 minimum: 301
[ 0.057290] Security Framework initialized
[ 0.057393] Mount-cache hash table entries: 512
[ 0.057772] CPU: Testing write buffer coherency: ok
[ 0.078337] omap_hwmod: pruss: failed to hardreset
[ 0.079492] print_constraints: dummy:
[ 0.079855] NET: Registered protocol family 16
[ 0.081990] OMAP GPIO hardware version 0.1
[ 0.084552] omap_mux_init: Add partition: #1: core, flags: 0
[ 0.086492] omap_i2c.1: alias fck already exists
[ 0.087444] omap2_mcspi.1: alias fck already exists
[ 0.087689] omap2_mcspi.2: alias fck already exists
[ 0.088616] edma.0: alias fck already exists
[ 0.088638] edma.0: alias fck already exists
[ 0.088657] edma.0: alias fck already exists
[ 0.116062] bio: create slab <bio-0> at 0
[ 0.118339] SCSI subsystem initialized
[ 0.119966] usbcore: registered new interface driver usbfs
[ 0.120287] usbcore: registered new interface driver hub
[ 0.120484] usbcore: registered new device driver usb
[ 0.120641] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3
[ 0.120912] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1
[ 0.137227] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
[ 0.139111] tps65910 1-002d: JTAGREVNUM 0x0
[ 0.141510] print_constraints: VRTC:
[ 0.142959] print_constraints: VIO: at 1800 mV
[ 0.145270] print_constraints: VDD1: 600 <--> 1500 mV at 1262 mV normal
[ 0.147567] print_constraints: VDD2: 600 <--> 1500 mV at 1137 mV normal
[ 0.148581] print_constraints: VDD3: 5000 mV
[ 0.149998] print_constraints: VDIG1: at 1800 mV
[ 0.151426] print_constraints: VDIG2: at 1800 mV
[ 0.152848] print_constraints: VPLL: at 1800 mV
[ 0.154279] print_constraints: VDAC: at 1800 mV
[ 0.155710] print_constraints: VAUX1: at 1800 mV
[ 0.157143] print_constraints: VAUX2: at 3300 mV
[ 0.158601] print_constraints: VAUX33: at 3300 mV
[ 0.160018] print_constraints: VMMC: at 3300 mV
[ 0.160523] tps65910 1-002d: No interrupt support, no core IRQ
[ 0.161780] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 0.162908] Switching to clocksource gp timer
[ 0.178338] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 0.178519] musb-hdrc musb-hdrc.0: dma type: pio
[ 0.178832] MUSB0 controller's USBSS revision = 4ea20800
[ 0.179475] musb-hdrc musb-hdrc.0: USB OTG mode controller at d083c000 using PIO, IRQ 18
[ 0.179641] musb-hdrc musb-hdrc.1: dma type: pio
[ 0.179942] MUSB1 controller's USBSS revision = 4ea20800
[ 0.180133] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[ 0.180208] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
[ 0.180342] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.180358] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.180373] usb usb1: Product: MUSB HDRC host driver
[ 0.180384] usb usb1: Manufacturer: Linux 3.2.0 musb-hcd
[ 0.180394] usb usb1: SerialNumber: musb-hdrc.1
[ 0.181168] hub 1-0:1.0: USB hub found
[ 0.181199] hub 1-0:1.0: 1 port detected
[ 0.181743] musb-hdrc musb-hdrc.1: USB Host mode controller at d083e800 using PIO, IRQ 19
[ 0.182173] NET: Registered protocol family 2
[ 0.182365] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.182716] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.182875] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.183045] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.183059] TCP reno registered
[ 0.183074] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.183097] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.183290] NET: Registered protocol family 1
[ 0.183558] RPC: Registered named UNIX socket transport module.
[ 0.183574] RPC: Registered udp transport module.
[ 0.183583] RPC: Registered tcp transport module.
[ 0.183592] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.183844] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.196001] VFS: Disk quotas dquot_6.5.2
[ 0.196082] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.196622] JFFS2 version 2.2. (NAND) (SUMMARY) ?© 2001-2006 Red Hat, Inc.
[ 0.196923] msgmni has been set to 493
[ 0.200119] alg: No test for stdrng (krng)
[ 0.200829] io scheduler noop registered
[ 0.200845] io scheduler deadline registered
[ 0.200918] io scheduler cfq registered (default)
[ 0.204615] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[ 0.841846] console [ttyO0] enabled
[ 0.846131] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[ 0.853959] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[ 0.861721] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[ 0.869501] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[ 0.877285] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[ 0.885528] omap4_rng omap4_rng: OMAP4 Random Number Generator ver. 2.00
[ 0.901857] brd: module loaded
[ 0.909881] loop: module loaded
[ 0.913396] i2c-core: driver [tsl2550] using legacy suspend method
[ 0.919839] i2c-core: driver [tsl2550] using legacy resume method
[ 0.926274] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 0.940187] Detected a daughter card on AM335x EVM..
[ 0.945195] Unknown CPLD version found
[ 0.949331] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 0.964497] Board name: A33515BB
[ 0.967858] Board version: 1.1A
[ 0.971128] SKU: SKU#01
[ 0.974219] The board is general purpose EVM in profile 0
[ 0.980924] da8xx_lcdc.0: alias fck already exists
[ 0.986464] da8xx_lcdc da8xx_lcdc.0: GLCD: Found TFC_S9700RTWV35TR_01B panel
[ 1.010141] Console: switching to colour frame buffer device 100x30
[ 1.026853] omap-gpmc omap-gpmc: GPMC revision 6.0
[ 1.031861] Registering NAND on CS0
[ 1.036264] omap_i2c.2: alias fck already exists
[ 1.053149] omap_i2c omap_i2c.2: bus 2 rev2.4.0 at 100 kHz
[ 1.059675] tsl2550 2-0039: standard operating mode
[ 1.065487] tsl2550 2-0039: support ver. 1.2 enabled
[ 1.071322] davinci-mcasp.1: alias fck already exists
[ 1.077187] omap_hsmmc.0: alias fck already exists
[ 1.082570] omap_hsmmc.2: alias fck already exists
[ 1.087991] Configure Bluetooth Enable pin...
[ 1.093962] registered am33xx_sr device
[ 1.098183] _regulator_get: 2-0018 supply Vdd not found, using dummy regulator
[ 1.105831] _regulator_get: 2-0018 supply Vdd_IO not found, using dummy regulator
[ 1.134274] lis3lv02d: 8 bits 3DLH sensor found
[ 1.223383] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input0
[ 1.235182] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.242482] omap2-nand driver initializing
[ 1.247117] ONFI flash detected
[ 1.250516] ONFI param page 0 valid
[ 1.254181] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08ABAEAWP)
[ 1.262747] Creating 8 MTD partitions on "omap2-nand.0":
[ 1.268324] 0x000000000000-0x000000020000 : "SPL"
[ 1.274670] 0x000000020000-0x000000040000 : "SPL.backup1"
[ 1.281526] 0x000000040000-0x000000060000 : "SPL.backup2"
[ 1.288453] 0x000000060000-0x000000080000 : "SPL.backup3"
[ 1.295370] 0x000000080000-0x000000260000 : "U-Boot"
[ 1.302544] 0x000000260000-0x000000280000 : "U-Boot Env"
[ 1.309400] 0x000000280000-0x000000780000 : "Kernel"
[ 1.317951] 0x000000780000-0x000010000000 : "File System"
[ 1.428126] OneNAND driver initializing
[ 1.433605] CAN device driver interface
[ 1.437605] CAN bus driver for Bosch D_CAN controller 1.0
[ 1.492975] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[ 1.499424] davinci_mdio davinci_mdio.0: detected phy mask fffffffe
[ 1.506877] davinci_mdio.0: probed
[ 1.510428] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown
[ 1.518146] usbcore: registered new interface driver zd1201
[ 1.524167] usbcore: registered new interface driver cdc_ether
[ 1.530415] usbcore: registered new interface driver cdc_eem
[ 1.536481] usbcore: registered new interface driver dm9601
[ 1.542334] cdc_ncm: 04-Aug-2011
[ 1.545869] usbcore: registered new interface driver cdc_ncm
[ 1.551769] Initializing USB Mass Storage driver...
[ 1.557082] usbcore: registered new interface driver usb-storage
[ 1.563361] USB Mass Storage support registered.
[ 1.568626] mousedev: PS/2 mouse device common for all mice
[ 1.575378] input: matrix-keypad as /devices/platform/matrix-keypad/input/input1
[ 1.584369] input: ti-tsc as /devices/platform/omap/ti_tscadc/tsc/input/input2
[ 1.592999] omap_rtc am33xx-rtc: rtc core: registered am33xx-rtc as rtc0
[ 1.600220] i2c /dev entries driver
[ 1.604529] Linux video capture interface: v2.00
[ 1.609670] usbcore: registered new interface driver uvcvideo
[ 1.615686] USB Video Class driver (1.1.1)
[ 1.620872] lm75 2-0048: hwmon0: sensor 'tmp275'
[ 1.628667] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 1.637267] cpuidle: using governor ladder
[ 1.642032] cpuidle: using governor menu
[ 1.719952] omap4_aes_mod_init: loading AM33X AES driver
[ 1.725640] omap4-aes omap4-aes: AM33X AES hw accel rev: 3.02
[ 1.732184] omap4_aes_probe: probe() done
[ 1.736632] omap4_sham_mod_init: loading AM33X SHA/MD5 driver
[ 1.742768] omap4-sham omap4-sham: AM33X SHA/MD5 hw accel rev: 4.03
[ 1.754623] omap4_sham_probe: probe() done
[ 1.761336] usbcore: registered new interface driver usbhid
[ 1.767190] usbhid: USB HID core driver
[ 1.771892] usbcore: registered new interface driver snd-usb-audio
[ 1.782817] mmc1: card claims to support voltages below the defined range. These will be ignored.
[ 1.792927] _regulator_get: 2-001b supply IOVDD not found, using dummy regulator
[ 1.800750] _regulator_get: 2-001b supply DVDD not found, using dummy regulator
[ 1.808441] _regulator_get: 2-001b supply AVDD not found, using dummy regulator
[ 1.816110] _regulator_get: 2-001b supply DRVDD not found, using dummy regulator
[ 1.826760] asoc: tlv320aic3x-hifi <-> davinci-mcasp.1 mapping ok
[ 1.834644] ALSA device list:
[ 1.837755] #0: AM335X EVM
[ 1.840752] oprofile: hardware counters not available
[ 1.846044] oprofile: using timer interrupt.
[ 1.850675] nf_conntrack version 0.5.0 (3950 buckets, 15800 max)
[ 1.857400] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1.863161] ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
[ 1.869855] arp_tables: (C) 2002 David S. Miller
[ 1.874768] TCP cubic registered
[ 1.878287] NET: Registered protocol family 10
[ 1.883640] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 1.889287] IPv6 over IPv4 tunneling driver
[ 1.894659] NET: Registered protocol family 17
[ 1.899318] can: controller area network core (rev 20090105 abi 8)
[ 1.905935] NET: Registered protocol family 29
[ 1.910567] can: raw protocol (rev 20090105)
[ 1.915031] can: broadcast manager protocol (rev 20090105 t)
[ 1.920979] Registering the dns_resolver key type
[ 1.925962] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 1.933969] ThumbEE CPU extension supported.
[ 1.938486] mux: Failed to setup hwmod io irq -22
[ 1.944057] Power Management for AM33XX family
[ 1.948920] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[ 1.955605] Copied the M3 firmware to UMEM
[ 1.960086] smartreflex smartreflex: am33xx_sr_probe: Zero NValue read from EFUSE
[ 1.967929] smartreflex: probe of smartreflex failed with error -22
[ 1.975021] sr_init: platform driver register failed
[ 1.985435] clock: disabling unused clocks to save power
[ 1.999805] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
[ 2.008080] mmc1: new SDIO card at address 0001
[ 2.018881] input: gpio-keys as /devices/platform/gpio-keys/input/input3
[ 2.026580] omap_rtc am33xx-rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[ 16.476196] Empty flash at 0x0e8dd9b0 ends at 0x0e8de000
[ 16.635810] JFFS2 notice: (1) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0.
[ 16.655193] VFS: Mounted root (jffs2 filesystem) on device 31:7.
[ 16.661893] Freeing init memory: 256K
INIT: version 2.86 booting
Please wait: booting...
Starting udev
[ 24.258691] Disabling lock debugging due to kernel taint
[ 24.264347] ufsd: module license 'Commercial product' taints kernel.
[ 24.296600] ufsd: driver (8.6 U86_r184991_b2, LBD=ON, delalloc, acl, ioctl, bdi) loaded at bf000000
[ 24.296615] NTFS (with native replay) support included
[ 24.296622] Hfs+/HfsX support included
[ 24.296627] optimized: speed

root@-87654321:~# sync; echo mem > /sys/power/state
[ 199.605175] PM: Syncing filesystems ... done.
[ 199.611907] Freezing user space processes ... (elapsed 0.01 seconds) done.
[ 199.635846] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[ 199.655946] Suspending console(s) (use no_console_suspend to debug)

  • Dear Friends,

    I got Suspend/Resume working. Found the issue. The Kernel TI's Ethernet driver as in .config: CONFIG_TI_CPSW and CONFIG_TI_CPSW_DUAL_EMAC are disable and enabling them to True solved the issue. I am not sure, how Suspend/Resume functionality of the processor depends on it.

    Thank you all,

    Ankur.