diff mbox series

[v5,3/3] arm64: dts: qcom: move pon reboot-modes from pm8150.dtsi to board files

Message ID 20241128-adds-spmi-pmic-peripherals-for-qcs615-v5-3-ae673596b71c@quicinc.com
State Superseded
Headers show
Series Add SPMI bus, PMIC for qcs615 and fix reboot-modes etc. | expand

Commit Message

Tingguo Cheng Nov. 28, 2024, 11:55 a.m. UTC
Reboot modes were originally managed by PMIC pon driver on mobile and
IoT platforms. But recently, some new platforms are going to adopt PSCI
to manage linux reboot modes, which involves firmwares to co-work with.
In this case, reboot-modes should be removed from pon dts node to avoid
conflicting. This implies that reboot modes go with devices rather than
PMICs as well.

Signed-off-by: Tingguo Cheng <quic_tingguoc@quicinc.com>
---
 arch/arm64/boot/dts/qcom/pm8150.dtsi                      | 2 --
 arch/arm64/boot/dts/qcom/qdu1000-idp.dts                  | 5 +++++
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts                  | 5 +++++
 arch/arm64/boot/dts/qcom/qru1000-idp.dts                  | 5 +++++
 arch/arm64/boot/dts/qcom/sm8150-hdk.dts                   | 5 +++++
 arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts | 5 +++++
 arch/arm64/boot/dts/qcom/sm8150-mtp.dts                   | 5 +++++
 arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi   | 5 +++++
 arch/arm64/boot/dts/qcom/sm8250-hdk.dts                   | 5 +++++
 arch/arm64/boot/dts/qcom/sm8250-mtp.dts                   | 5 +++++
 arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi      | 5 +++++
 arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi  | 5 +++++
 arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts           | 5 +++++
 13 files changed, 60 insertions(+), 2 deletions(-)

Comments

Tingguo Cheng Dec. 2, 2024, 7:42 a.m. UTC | #1
On 11/28/2024 9:09 PM, Dmitry Baryshkov wrote:
> On Thu, Nov 28, 2024 at 07:55:27PM +0800, Tingguo Cheng wrote:
>> Reboot modes were originally managed by PMIC pon driver on mobile and
>> IoT platforms. But recently, some new platforms are going to adopt PSCI
>> to manage linux reboot modes, which involves firmwares to co-work with.
> 
> Which platforms? Please be more exact. Also this patch needs to come
> before patch 2, enabling this PMIC on QCS615 board.
mobile/IoT sm8150/sm8250/qdu1000/... platforms, qcs615 are going to 
adopt PSCI...  Let me add this information in the commit message and 
place this patch before enabling PMIC.
> 
>> In this case, reboot-modes should be removed from pon dts node to avoid
>> conflicting. This implies that reboot modes go with devices rather than
>> PMICs as well.
>>
>> Signed-off-by: Tingguo Cheng <quic_tingguoc@quicinc.com>
>> ---
>>   arch/arm64/boot/dts/qcom/pm8150.dtsi                      | 2 --
>>   arch/arm64/boot/dts/qcom/qdu1000-idp.dts                  | 5 +++++
>>   arch/arm64/boot/dts/qcom/qrb5165-rb5.dts                  | 5 +++++
>>   arch/arm64/boot/dts/qcom/qru1000-idp.dts                  | 5 +++++
>>   arch/arm64/boot/dts/qcom/sm8150-hdk.dts                   | 5 +++++
>>   arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts | 5 +++++
>>   arch/arm64/boot/dts/qcom/sm8150-mtp.dts                   | 5 +++++
>>   arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi   | 5 +++++
>>   arch/arm64/boot/dts/qcom/sm8250-hdk.dts                   | 5 +++++
>>   arch/arm64/boot/dts/qcom/sm8250-mtp.dts                   | 5 +++++
>>   arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi      | 5 +++++
>>   arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi  | 5 +++++
>>   arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts           | 5 +++++
>>   13 files changed, 60 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/pm8150.dtsi b/arch/arm64/boot/dts/qcom/pm8150.dtsi
>> index a74a7ff660d2b1be0df0dc26d79e1921a3935f14..d2568686a098cb4d78573000b34840d8f5f674aa 100644
>> --- a/arch/arm64/boot/dts/qcom/pm8150.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/pm8150.dtsi
>> @@ -49,8 +49,6 @@ pm8150_0: pmic@0 {
>>   		pon: pon@800 {
>>   			compatible = "qcom,pm8998-pon";
>>   			reg = <0x0800>;
>> -			mode-bootloader = <0x2>;
>> -			mode-recovery = <0x1>;
>>   
>>   			pon_pwrkey: pwrkey {
>>   				compatible = "qcom,pm8941-pwrkey";
>> diff --git a/arch/arm64/boot/dts/qcom/qdu1000-idp.dts b/arch/arm64/boot/dts/qcom/qdu1000-idp.dts
>> index e65305f8136c886c076bd9603b48aadedf59730a..82f6b4a3e24aa2caba90715e12bca25b693a0d65 100644
>> --- a/arch/arm64/boot/dts/qcom/qdu1000-idp.dts
>> +++ b/arch/arm64/boot/dts/qcom/qdu1000-idp.dts
>> @@ -239,6 +239,11 @@ vreg_l18a_1p2: ldo18 {
>>   	};
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &qup_i2c1_data_clk {
>>   	drive-strength = <2>;
>>   	bias-pull-up;
>> diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
>> index 52eef88e882c356a62bf563fcd7ce3d54b5ea824..7afa5acac3fcf7cb6f8c5274acdc2e55192c1280 100644
>> --- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
>> +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
>> @@ -964,6 +964,11 @@ led@3 {
>>   	};
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &pon_pwrkey {
>>   	status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/qru1000-idp.dts b/arch/arm64/boot/dts/qcom/qru1000-idp.dts
>> index 1c781d9e24cf4d4f45380860c6d89c21e8df9925..fe0b782aa3ff5f4b73e921880fc3cd9908398705 100644
>> --- a/arch/arm64/boot/dts/qcom/qru1000-idp.dts
>> +++ b/arch/arm64/boot/dts/qcom/qru1000-idp.dts
>> @@ -239,6 +239,11 @@ vreg_l18a_1p2: ldo18 {
>>   	};
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &qup_i2c1_data_clk {
>>   	drive-strength = <2>;
>>   	bias-pull-up;
>> diff --git a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
>> index bac08f00b303ff6e6d47697f1cd9bff53efaf27b..6ea883b1edfa6c511730550f4db0cb9c25fc633d 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
>> @@ -578,6 +578,11 @@ pm8150b_typec_sbu_out: endpoint {
>>   	};
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &pon_pwrkey {
>>   	status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts b/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts
>> index b039773c44653ae8cd5c2b9fdeccbd304ad2c9e5..fc11ef0373c6920e970886ce2eb2c4f20c75154a 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts
>> @@ -430,6 +430,11 @@ &i2c19 {
>>   	/* MAX34417 @ 0x1e */
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &pon_pwrkey {
>>   	status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8150-mtp.dts b/arch/arm64/boot/dts/qcom/sm8150-mtp.dts
>> index 256a1ba9494560b93dc324751ee8327f763aad90..2e1c7afe0aa7d4ad560dd8e5aab2ce835991cc9d 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8150-mtp.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8150-mtp.dts
>> @@ -358,6 +358,11 @@ &gpu {
>>   	status = "okay";
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &pon_pwrkey {
>>   	status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi b/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi
>> index ae0ca48b89a59f669e0f359e48632b335050a2eb..70fd6455518b9101ba25dda6e1fb5f87c1053a71 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi
>> @@ -601,6 +601,11 @@ main_cam_pwr_vmdr_en: main-cam-pwr-vmdr-en-state {
>>   	};
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &pon_pwrkey {
>>   	status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8250-hdk.dts b/arch/arm64/boot/dts/qcom/sm8250-hdk.dts
>> index 1bbb71e1a4fc0f1289663165e0a8f7ef88d9b429..f5c193c6c5f9b4bf007a17926bcce319f2608706 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8250-hdk.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8250-hdk.dts
>> @@ -373,6 +373,11 @@ &gpu {
>>   	status = "okay";
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &pon_pwrkey {
>>   	status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
>> index 21b2ca1def8363cbaf7857215f42ff8492a8f7fa..7f592bd3024868c6ab4c9c61051d3f2cf5707a1a 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
>> @@ -627,6 +627,11 @@ channel@4f {
>>   	};
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &qupv3_id_0 {
>>   	status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi
>> index f6870d3f2886fc68aaf914caecdd3a22ba249c5a..d8289b2698f37bce0501ac20c356bd5ae017e1ab 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi
>> @@ -591,6 +591,11 @@ focus_n: focus-n-state {
>>   	};
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &pon_pwrkey {
>>   	status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
>> index 3596dd328c31d6f0430fed343c7e2307147d21f3..0bf3d6a826fcbad9c84303e6016c4657c5f89ef1 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
>> @@ -673,6 +673,11 @@ &pm8150b_vbus {
>>   	status = "okay";
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &pon_pwrkey {
>>   	status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts
>> index 86e1f7fd1c2058202c9506d7e737fadabf476d5d..668078ea4f04a7ead052d28bf111be6daf25805f 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts
>> @@ -554,6 +554,11 @@ vol_up_n: vol-up-n-state {
>>   	};
>>   };
>>   
>> +&pon {
>> +	mode-bootloader = <0x2>;
>> +	mode-recovery = <0x1>;
>> +};
>> +
>>   &pon_pwrkey {
>>   	status = "okay";
>>   };
>>
>> -- 
>> 2.34.1
>>
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/pm8150.dtsi b/arch/arm64/boot/dts/qcom/pm8150.dtsi
index a74a7ff660d2b1be0df0dc26d79e1921a3935f14..d2568686a098cb4d78573000b34840d8f5f674aa 100644
--- a/arch/arm64/boot/dts/qcom/pm8150.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8150.dtsi
@@ -49,8 +49,6 @@  pm8150_0: pmic@0 {
 		pon: pon@800 {
 			compatible = "qcom,pm8998-pon";
 			reg = <0x0800>;
-			mode-bootloader = <0x2>;
-			mode-recovery = <0x1>;
 
 			pon_pwrkey: pwrkey {
 				compatible = "qcom,pm8941-pwrkey";
diff --git a/arch/arm64/boot/dts/qcom/qdu1000-idp.dts b/arch/arm64/boot/dts/qcom/qdu1000-idp.dts
index e65305f8136c886c076bd9603b48aadedf59730a..82f6b4a3e24aa2caba90715e12bca25b693a0d65 100644
--- a/arch/arm64/boot/dts/qcom/qdu1000-idp.dts
+++ b/arch/arm64/boot/dts/qcom/qdu1000-idp.dts
@@ -239,6 +239,11 @@  vreg_l18a_1p2: ldo18 {
 	};
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &qup_i2c1_data_clk {
 	drive-strength = <2>;
 	bias-pull-up;
diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index 52eef88e882c356a62bf563fcd7ce3d54b5ea824..7afa5acac3fcf7cb6f8c5274acdc2e55192c1280 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -964,6 +964,11 @@  led@3 {
 	};
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &pon_pwrkey {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/qru1000-idp.dts b/arch/arm64/boot/dts/qcom/qru1000-idp.dts
index 1c781d9e24cf4d4f45380860c6d89c21e8df9925..fe0b782aa3ff5f4b73e921880fc3cd9908398705 100644
--- a/arch/arm64/boot/dts/qcom/qru1000-idp.dts
+++ b/arch/arm64/boot/dts/qcom/qru1000-idp.dts
@@ -239,6 +239,11 @@  vreg_l18a_1p2: ldo18 {
 	};
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &qup_i2c1_data_clk {
 	drive-strength = <2>;
 	bias-pull-up;
diff --git a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
index bac08f00b303ff6e6d47697f1cd9bff53efaf27b..6ea883b1edfa6c511730550f4db0cb9c25fc633d 100644
--- a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
@@ -578,6 +578,11 @@  pm8150b_typec_sbu_out: endpoint {
 	};
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &pon_pwrkey {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts b/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts
index b039773c44653ae8cd5c2b9fdeccbd304ad2c9e5..fc11ef0373c6920e970886ce2eb2c4f20c75154a 100644
--- a/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts
+++ b/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts
@@ -430,6 +430,11 @@  &i2c19 {
 	/* MAX34417 @ 0x1e */
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &pon_pwrkey {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8150-mtp.dts b/arch/arm64/boot/dts/qcom/sm8150-mtp.dts
index 256a1ba9494560b93dc324751ee8327f763aad90..2e1c7afe0aa7d4ad560dd8e5aab2ce835991cc9d 100644
--- a/arch/arm64/boot/dts/qcom/sm8150-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sm8150-mtp.dts
@@ -358,6 +358,11 @@  &gpu {
 	status = "okay";
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &pon_pwrkey {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi b/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi
index ae0ca48b89a59f669e0f359e48632b335050a2eb..70fd6455518b9101ba25dda6e1fb5f87c1053a71 100644
--- a/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi
@@ -601,6 +601,11 @@  main_cam_pwr_vmdr_en: main-cam-pwr-vmdr-en-state {
 	};
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &pon_pwrkey {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8250-hdk.dts b/arch/arm64/boot/dts/qcom/sm8250-hdk.dts
index 1bbb71e1a4fc0f1289663165e0a8f7ef88d9b429..f5c193c6c5f9b4bf007a17926bcce319f2608706 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8250-hdk.dts
@@ -373,6 +373,11 @@  &gpu {
 	status = "okay";
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &pon_pwrkey {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
index 21b2ca1def8363cbaf7857215f42ff8492a8f7fa..7f592bd3024868c6ab4c9c61051d3f2cf5707a1a 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
@@ -627,6 +627,11 @@  channel@4f {
 	};
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &qupv3_id_0 {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi
index f6870d3f2886fc68aaf914caecdd3a22ba249c5a..d8289b2698f37bce0501ac20c356bd5ae017e1ab 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi
@@ -591,6 +591,11 @@  focus_n: focus-n-state {
 	};
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &pon_pwrkey {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
index 3596dd328c31d6f0430fed343c7e2307147d21f3..0bf3d6a826fcbad9c84303e6016c4657c5f89ef1 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
@@ -673,6 +673,11 @@  &pm8150b_vbus {
 	status = "okay";
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &pon_pwrkey {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts
index 86e1f7fd1c2058202c9506d7e737fadabf476d5d..668078ea4f04a7ead052d28bf111be6daf25805f 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dts
@@ -554,6 +554,11 @@  vol_up_n: vol-up-n-state {
 	};
 };
 
+&pon {
+	mode-bootloader = <0x2>;
+	mode-recovery = <0x1>;
+};
+
 &pon_pwrkey {
 	status = "okay";
 };