On 21/05/2019 11:35, Amit Kucheria wrote: > Add device bindings for cpuidle states for cpu devices. > > Cc: Marc Gonzalez <marc.w.gonzalez@xxxxxxx> > Signed-off-by: Amit Kucheria <amit.kucheria@xxxxxxxxxx> > Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> > --- > arch/arm64/boot/dts/qcom/msm8998.dtsi | 50 +++++++++++++++++++++++++++ > 1 file changed, 50 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi > index 3fd0769fe648..54810980fcf9 100644 > --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi > @@ -78,6 +78,7 @@ > compatible = "arm,armv8"; > reg = <0x0 0x0>; > enable-method = "psci"; > + cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>; > efficiency = <1024>; > next-level-cache = <&L2_0>; > L2_0: l2-cache { NB: this patch does not apply cleanly to v5.2-rc1 ;-) 86f93c93dd50 arm64: dts: msm8998: efficiency is not valid property commit 86f93c93dd5005f0aeb8ce84c2113e21a6006c7d Author: Amit Kucheria <amit.kucheria@xxxxxxxxxx> AuthorDate: Fri Mar 29 15:42:08 2019 +0530 Commit: Andy Gross <agross@xxxxxxxxxx> CommitDate: Tue Apr 9 23:08:17 2019 -0500 After manually fixing up the trivial conflict, the DTB builds without errors. I then enable +CONFIG_CPU_IDLE=y +CONFIG_ARM_CPUIDLE=y (because I'm using a board-specific tiny defconfig) And... the system starts to boot, hangs a few seconds, then silently reboots: scsi 0:0:0:3: Direct-Access SAMSUNG KLUBG4G1CE-B0B1 0800 PQ: 0 ANSI: 6 sd 0:0:0:1: [sdb] 16384-byte physical blocks sd 0:0:0:2: [sdc] 2048 4096-byte logical blocks: (8.39 MB/8.00 MiB) sd 0:0:0:2: [sdc] 16384-byte physical blocks Format: Log Type - Time(microsec) - Message - Optional Info Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic S - QC_IMAGE_VERSION_STRING=BOOT.XF.1.2.2-00157-M8998LZB-1 S - IMAGE_VARIANT_STRING=Msm8998LA Looks like the "helpful" behavior of the secure OS... Regards.