Message ID | 20241018-arm-psci-system_reset2-vendor-reboots-v6-5-50cbe88b0a24@quicinc.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Implement vendor resets for PSCI SYSTEM_RESET2 | expand |
On 18.10.2024 9:39 PM, Elliot Berman wrote: > Add nodes for the vendor-defined system resets. "bootloader" will cause > device to reboot and stop in the bootloader's fastboot mode. "edl" will > cause device to reboot into "emergency download mode", which permits > loading images via the Firehose protocol. > > Co-developed-by: Shivendra Pratap <quic_spratap@quicinc.com> > Signed-off-by: Shivendra Pratap <quic_spratap@quicinc.com> > Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> > --- > arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi | 7 +++++++ > arch/arm64/boot/dts/qcom/sa8775p.dtsi | 2 +- > include/linux/arm-smccc.h | 5 +++++ [...] > diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h > index 083f85653716..bdc974b76df8 100644 > --- a/include/linux/arm-smccc.h > +++ b/include/linux/arm-smccc.h > @@ -85,6 +85,11 @@ > ARM_SMCCC_SMC_32, \ > 0, 2) > > +#define ARM_SMCCC_ARCH_FEATURE_AVAILABILITY_ID \ > + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ > + ARM_SMCCC_SMC_32, \ > + 0, 3) > + > #define ARM_SMCCC_ARCH_WORKAROUND_1 \ > ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ > ARM_SMCCC_SMC_32, \ > Unused hunk Konrad
diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi index 2a6170623ea9..b0eb779b3ec5 100644 --- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi +++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi @@ -498,6 +498,13 @@ &pmm8654au_3_gpios { "GNSS_BOOT_MODE"; }; +&psci { + reset-types { + mode-bootloader = <0x10001 0x2>; + mode-edl <0 0x1>; + }; +}; + &qupv3_id_1 { status = "okay"; }; diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qcom/sa8775p.dtsi index 23f1b2e5e624..dd36eea80f7c 100644 --- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi +++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi @@ -329,7 +329,7 @@ pmu { interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; }; - psci { + psci: psci { compatible = "arm,psci-1.0"; method = "smc"; }; diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h index 083f85653716..bdc974b76df8 100644 --- a/include/linux/arm-smccc.h +++ b/include/linux/arm-smccc.h @@ -85,6 +85,11 @@ ARM_SMCCC_SMC_32, \ 0, 2) +#define ARM_SMCCC_ARCH_FEATURE_AVAILABILITY_ID \ + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ + ARM_SMCCC_SMC_32, \ + 0, 3) + #define ARM_SMCCC_ARCH_WORKAROUND_1 \ ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ ARM_SMCCC_SMC_32, \