Message ID | 20201028210813.49874-1-pawel.mikolaj.chmiel@gmail.com |
---|---|
State | New |
Headers | show |
Series | arm64: dts: exynos: Fix reboot/poweroff issues on Exynos7 | expand |
Hi On 29.10.2020 18:50, Krzysztof Kozlowski wrote: > On Wed, Oct 28, 2020 at 10:08:13PM +0100, Paweł Chmiel wrote: >> In vendor sources for Exynos 7420, psci is not used to reboot or >> poweroff device. Instead we should use syscon reboot/poweroff. >> Previously it was not possible to poweroff (no syscon poweroff node) or >> reboot (because it was handled by psci and this way is not working for >> Exynos). > > Do you want to say that PSCI cannot be used to power off or reboot? Yes > >> >> Fixes: fb026cb65247 ("arm64: dts: Add reboot node for exynos7") >> Fixes: b9024cbc937d ("arm64: dts: Add initial device tree support for exynos7") >> Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> >> --- >> arch/arm64/boot/dts/exynos/exynos7.dtsi | 11 ++++++++++- >> 1 file changed, 10 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi >> index 959918f4ca45..47d54c369d03 100644 >> --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi >> +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi >> @@ -117,8 +117,10 @@ cpu_atlas3: cpu@3 { >> }; >> >> psci { >> - compatible = "arm,psci-0.2"; >> + compatible = "arm,psci"; > > Please explain how is it related to this issue? You onle mentioned > a problem of lacking syscon-reboot node. > >> method = "smc"; >> + cpu_off = <0x84000002>; >> + cpu_on = <0xC4000003>; > > The same question. Thanks for feedback. I'll split this patch into two - one for inclusion of exynos-syscon-restart.dtsi and second one fixing psci compatible (so syscon-poweroff/restart will be working). > >> }; >> >> soc: soc@0 { >> @@ -552,6 +554,13 @@ pmu_system_controller: system-controller@105c0000 { >> compatible = "samsung,exynos7-pmu", "syscon"; >> reg = <0x105c0000 0x5000>; >> >> + poweroff: syscon-poweroff { >> + compatible = "syscon-poweroff"; >> + regmap = <&pmu_system_controller>; >> + offset = <0x330C>; /* PS_HOLD_CONTROL */ >> + mask = <0x5200>; /* reset value */ >> + }; >> + > > Instead, please include arm/exynos-syscon-restart.dtsi. Will do this. > > Best regards, > Krzysztof >
diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi index 959918f4ca45..47d54c369d03 100644 --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi @@ -117,8 +117,10 @@ cpu_atlas3: cpu@3 { }; psci { - compatible = "arm,psci-0.2"; + compatible = "arm,psci"; method = "smc"; + cpu_off = <0x84000002>; + cpu_on = <0xC4000003>; }; soc: soc@0 { @@ -552,6 +554,13 @@ pmu_system_controller: system-controller@105c0000 { compatible = "samsung,exynos7-pmu", "syscon"; reg = <0x105c0000 0x5000>; + poweroff: syscon-poweroff { + compatible = "syscon-poweroff"; + regmap = <&pmu_system_controller>; + offset = <0x330C>; /* PS_HOLD_CONTROL */ + mask = <0x5200>; /* reset value */ + }; + reboot: syscon-reboot { compatible = "syscon-reboot"; regmap = <&pmu_system_controller>;
In vendor sources for Exynos 7420, psci is not used to reboot or poweroff device. Instead we should use syscon reboot/poweroff. Previously it was not possible to poweroff (no syscon poweroff node) or reboot (because it was handled by psci and this way is not working for Exynos). Fixes: fb026cb65247 ("arm64: dts: Add reboot node for exynos7") Fixes: b9024cbc937d ("arm64: dts: Add initial device tree support for exynos7") Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> --- arch/arm64/boot/dts/exynos/exynos7.dtsi | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)