Hi Krzysztof,

Thanks for this patch. Please add my

Tested-by: Anand Moon <linux.am...@gmail.com>

[snip]

Could you integrate below small changes into this patch.
with these below changes suspend and resume work correctly at my end.

[1] XU4_suspendresume.patch

As per S2MPS11B PMIC 1.2.1 Regulator (Features)
Fix the min max value for *Buck7* and *Buck8*

-- Buck7 (VDD_1.0V_LDO) 1.5 A (1.2 V to 1.5 V, 12.5 mV step, default on 1.35 V)
-- Buck8 (VDD_1.8V_LDO) 2.5 A (1.8 V to 2.1 V, 12.5 mV step, default on 2.0 V)

Also add suspend-off for *Buck9*
Buck9 internally controls the power of USB hub.
Adding suspend the this node help proper reset of USB hub on Odroid
XU4 / HC1/ XU3
during suspend and resume. Below it the logs from my testing.

[2] https://pastebin.com/pRJJmWL6

Best Regards
-Anand
[root@archl-xu4e ~]#  rtcwake -d /dev/rtc0 -m mem -s 10
rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Sun Jun 23 14:29:56 2019
[   72.707852] PM: suspend entry (deep)
[   72.712727] Filesystems sync: 0.002 seconds
[   72.722108] Freezing user space processes ... (elapsed 0.002 seconds) done.
[   72.730550] OOM killer disabled.
[   72.733462] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) 
done.
[   72.815847] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[   72.971552] wake enabled for irq 151
[   73.007942] wake enabled for irq 155
[   73.128081] samsung-pinctrl 13400000.pinctrl: Setting external wakeup 
interrupt mask: 0xffffffe7
[   73.146535] Disabling non-boot CPUs ...
[   73.225374] s3c2410-wdt 101d0000.watchdog: watchdog disabled
[   73.229930] usb usb1: root hub lost power or was reset
[   73.299725] usb usb2: root hub lost power or was reset
[   73.304474] wake disabled for irq 155
[   73.314064] wake disabled for irq 151
[   73.331117] exynos-tmu 10060000.tmu: More trip points than supported by this 
TMU.
[   73.337297] exynos-tmu 10060000.tmu: 2 trip points should be configured in 
polling mode.
[   73.345343] exynos-tmu 10064000.tmu: More trip points than supported by this 
TMU.
[   73.352807] exynos-tmu 10064000.tmu: 2 trip points should be configured in 
polling mode.
[   73.360916] exynos-tmu 10068000.tmu: More trip points than supported by this 
TMU.
[   73.368295] exynos-tmu 10068000.tmu: 2 trip points should be configured in 
polling mode.
[   73.376429] exynos-tmu 1006c000.tmu: More trip points than supported by this 
TMU.
[   73.383742] exynos-tmu 1006c000.tmu: 2 trip points should be configured in 
polling mode.
[   73.394345] usb usb3: root hub lost power or was reset
[   73.394704] s3c-rtc 101e0000.rtc: rtc disabled, re-enabling
[   73.394840] usb usb5: root hub lost power or was reset
[   73.394864] usb usb6: root hub lost power or was reset
[   73.398063] usb usb4: root hub lost power or was reset
[   73.806876] usb 4-1: reset SuperSpeed Gen 1 USB device number 2 using 
xhci-hcd
[   73.986504] usb 3-1: reset high-speed USB device number 2 using xhci-hcd
[   74.026814] usb 5-1: reset high-speed USB device number 2 using xhci-hcd
[   74.266364] usb 4-1.1: reset SuperSpeed Gen 1 USB device number 3 using 
xhci-hcd
[   74.988689] OOM killer enabled.
[   74.990372] Restarting tasks ... done.
[   74.997529] PM: suspend exit
[   75.014009] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 
400000Hz, actual 396825HZ div = 63)
[root@archl-xu4e ~]# [   75.243019] mmc_host mmc0: Bus speed (slot 0) = 
200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0)
[   75.255929] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 
52000000Hz, actual 50000000HZ div = 0)
[   75.290096] mmc_host mmc0: Bus speed (slot 0) = 400000000Hz (slot req 
200000000Hz, actual 200000000HZ div = 1)

[root@archl-xu4e ~]#  rtcwake -d /dev/rtc0 -m mem -s 10
rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Sun Jun 23 14:30:20 2019
[   86.308500] PM: suspend entry (deep)
[   86.311962] Filesystems sync: 0.001 seconds
[   86.320781] Freezing user space processes ... (elapsed 0.002 seconds) done.
[   86.328542] OOM killer disabled.
[   86.331644] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) 
done.
[   86.435700] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[   86.591293] wake enabled for irq 151
[   86.626989] wake enabled for irq 155
[   86.747140] samsung-pinctrl 13400000.pinctrl: Setting external wakeup 
interrupt mask: 0xffffffe7
[   86.765605] Disabling non-boot CPUs ...
[   86.841073] s3c2410-wdt 101d0000.watchdog: watchdog disabled
[   86.845648] usb usb1: root hub lost power or was reset
[   86.919564] usb usb2: root hub lost power or was reset
[   86.924314] wake disabled for irq 155
[   86.933852] wake disabled for irq 151
[   86.950827] exynos-tmu 10060000.tmu: More trip points than supported by this 
TMU.
[   86.957003] exynos-tmu 10060000.tmu: 2 trip points should be configured in 
polling mode.
[   86.965055] exynos-tmu 10064000.tmu: More trip points than supported by this 
TMU.
[   86.972496] exynos-tmu 10064000.tmu: 2 trip points should be configured in 
polling mode.
[   86.980632] exynos-tmu 10068000.tmu: More trip points than supported by this 
TMU.
[   86.988014] exynos-tmu 10068000.tmu: 2 trip points should be configured in 
polling mode.
[   86.996148] exynos-tmu 1006c000.tmu: More trip points than supported by this 
TMU.
[   87.003452] exynos-tmu 1006c000.tmu: 2 trip points should be configured in 
polling mode.
[   87.013926] usb usb3: root hub lost power or was reset
[   87.014295] s3c-rtc 101e0000.rtc: rtc disabled, re-enabling
[   87.014473] usb usb5: root hub lost power or was reset
[   87.014498] usb usb6: root hub lost power or was reset
[   87.017644] usb usb4: root hub lost power or was reset
[   87.427075] usb 4-1: reset SuperSpeed Gen 1 USB device number 2 using 
xhci-hcd
[   87.606386] usb 3-1: reset high-speed USB device number 2 using xhci-hcd
[   87.646461] usb 5-1: reset high-speed USB device number 2 using xhci-hcd
[   87.886242] usb 4-1.1: reset SuperSpeed Gen 1 USB device number 3 using 
xhci-hcd
[   88.607881] OOM killer enabled.
[   88.609562] Restarting tasks ... done.
[   88.614340] PM: suspend exit
[   88.632953] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 
400000Hz, actual 396825HZ div = 63)
[root@archl-xu4e ~]# [   88.896900] mmc_host mmc0: Bus speed (slot 0) = 
200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0)
[   88.912970] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 
52000000Hz, actual 50000000HZ div = 0)
[   88.929810] mmc_host mmc0: Bus speed (slot 0) = 400000000Hz (slot req 
200000000Hz, actual 200000000HZ div = 1)

[root@archl-xu4e ~]#  rtcwake -d /dev/rtc0 -m mem -s 10
rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Sun Jun 23 14:30:41 2019
[   97.024433] PM: suspend entry (deep)
[   97.030395] Filesystems sync: 0.003 seconds
[   97.036715] Freezing user space processes ... (elapsed 0.002 seconds) done.
[   97.044507] OOM killer disabled.
[   97.047753] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) 
done.
[   97.105552] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[   97.261608] wake enabled for irq 151
[   97.299424] wake enabled for irq 155
[   97.415885] samsung-pinctrl 13400000.pinctrl: Setting external wakeup 
interrupt mask: 0xffffffe7
[   97.433150] Disabling non-boot CPUs ...
[   97.526880] s3c2410-wdt 101d0000.watchdog: watchdog disabled
[   97.531343] usb usb1: root hub lost power or was reset
[   97.609426] usb usb2: root hub lost power or was reset
[   97.614169] wake disabled for irq 155
[   97.623676] wake disabled for irq 151
[   97.640212] exynos-tmu 10060000.tmu: More trip points than supported by this 
TMU.
[   97.646403] exynos-tmu 10060000.tmu: 2 trip points should be configured in 
polling mode.
[   97.654436] exynos-tmu 10064000.tmu: More trip points than supported by this 
TMU.
[   97.661883] exynos-tmu 10064000.tmu: 2 trip points should be configured in 
polling mode.
[   97.670005] exynos-tmu 10068000.tmu: More trip points than supported by this 
TMU.
[   97.677395] exynos-tmu 10068000.tmu: 2 trip points should be configured in 
polling mode.
[   97.685522] exynos-tmu 1006c000.tmu: More trip points than supported by this 
TMU.
[   97.692834] exynos-tmu 1006c000.tmu: 2 trip points should be configured in 
polling mode.
[   97.703438] usb usb3: root hub lost power or was reset
[   97.703790] s3c-rtc 101e0000.rtc: rtc disabled, re-enabling
[   97.707156] usb usb4: root hub lost power or was reset
[   97.719084] usb usb5: root hub lost power or was reset
[   97.722931] usb usb6: root hub lost power or was reset
[   98.116558] usb 4-1: reset SuperSpeed Gen 1 USB device number 2 using 
xhci-hcd
[   98.296240] usb 3-1: reset high-speed USB device number 2 using xhci-hcd
[   98.336318] usb 5-1: reset high-speed USB device number 2 using xhci-hcd
[   98.576097] usb 4-1.1: reset SuperSpeed Gen 1 USB device number 3 using 
xhci-hcd
[   99.300281] OOM killer enabled.
[   99.301995] Restarting tasks ... done.
[   99.309311] PM: suspend exit
[root@archl-xu4e ~]# [   99.326729] mmc_host mmc0: Bus speed (slot 0) = 
50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
[   99.563622] mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 
200000000Hz, actual 200000000HZ div = 0)
[   99.577778] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 
52000000Hz, actual 50000000HZ div = 0)
[   99.587818] mmc_host mmc0: Bus speed (slot 0) = 400000000Hz (slot req 
200000000Hz, actual 200000000HZ div = 1)

[root@archl-xu4e ~]# lsusb -t
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 480M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/2p, 5000M
        |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=uas, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/2p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=exynos-ohci/3p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=exynos-ehci/3p, 480M



Attachment: XU4_suspendresume.patch
Description: Binary data

Reply via email to