Message ID | 20230413131705.3073911-2-brgl@bgdev.pl (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | arm64: qcom: fix the reboot reason handling on sa8775p | expand |
On 13/04/2023 15:17, Bartosz Golaszewski wrote: > From: Parikshit Pareek <quic_ppareek@quicinc.com> > > Remove the power on reasons with reboot from the pmm8654au_0_pon. > Instead, the PoN reaons should be part of different sdam_0 mode, to typo: reasons > be interoduced. introduced Anyway it does not say why. Are these power reasons not correct? > > Signed-off-by: Parikshit Pareek <quic_ppareek@quicinc.com> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > --- Best regards, Krzysztof
On 4/13/2023 9:42 PM, Krzysztof Kozlowski wrote: > On 13/04/2023 15:17, Bartosz Golaszewski wrote: >> From: Parikshit Pareek <quic_ppareek@quicinc.com> >> >> Remove the power on reasons with reboot from the pmm8654au_0_pon. >> Instead, the PoN reaons should be part of different sdam_0 mode, to > > typo: reasons > >> be interoduced. > > introduced > > Anyway it does not say why. Are these power reasons not correct? > Hi Krzysztof, Since sm8350 the PMIC PON peripheral was split into PON_HLOS and PON_PBS to avoid security concerns with HLOS APPS being able to trigger a PMIC WARM_RESET unilaterally. When the split occurred, the spare registers ended up in PON_PBS, not PON_HLOS. Thus at that time, we moved to using an SDAM register for Linux “reboot reason” configuration. And bootloader also SDAM register to get these reboot region data to get into bootloader/edl, so to have this working we need to use SDAM. >> >> Signed-off-by: Parikshit Pareek <quic_ppareek@quicinc.com> >> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> >> --- > > Best regards, > Krzysztof > -Shazad
On 18/04/2023 06:39, Shazad Hussain wrote: > > > On 4/13/2023 9:42 PM, Krzysztof Kozlowski wrote: >> On 13/04/2023 15:17, Bartosz Golaszewski wrote: >>> From: Parikshit Pareek <quic_ppareek@quicinc.com> >>> >>> Remove the power on reasons with reboot from the pmm8654au_0_pon. >>> Instead, the PoN reaons should be part of different sdam_0 mode, to >> >> typo: reasons >> >>> be interoduced. >> >> introduced >> >> Anyway it does not say why. Are these power reasons not correct? >> > > Hi Krzysztof, > Since sm8350 the PMIC PON peripheral was split into PON_HLOS and PON_PBS > to avoid security concerns with HLOS APPS being able to trigger a PMIC > WARM_RESET unilaterally. When the split occurred, the spare registers > ended up in PON_PBS, not PON_HLOS. Thus at that time, we moved to using > an SDAM register for Linux “reboot reason” configuration. And bootloader > also SDAM register to get these reboot region data to get into > bootloader/edl, so to have this working we need to use SDAM. The explanation of their correctness should be in commit msg. Best regards, Krzysztof
On 18.04.2023 06:39, Shazad Hussain wrote: > > > On 4/13/2023 9:42 PM, Krzysztof Kozlowski wrote: >> On 13/04/2023 15:17, Bartosz Golaszewski wrote: >>> From: Parikshit Pareek <quic_ppareek@quicinc.com> >>> >>> Remove the power on reasons with reboot from the pmm8654au_0_pon. >>> Instead, the PoN reaons should be part of different sdam_0 mode, to >> >> typo: reasons >> >>> be interoduced. >> >> introduced >> >> Anyway it does not say why. Are these power reasons not correct? >> > > Hi Krzysztof, > Since sm8350 the PMIC PON peripheral was split into PON_HLOS and PON_PBS > to avoid security concerns with HLOS APPS being able to trigger a PMIC > WARM_RESET unilaterally. When the split occurred, the spare registers > ended up in PON_PBS, not PON_HLOS. Thus at that time, we moved to using > an SDAM register for Linux “reboot reason” configuration. And bootloader > also SDAM register to get these reboot region data to get into > bootloader/edl, so to have this working we need to use SDAM. > Does that imply all PMICs following the PMK8350 scheme (separate HLOS and PBS) should direct reboot mode writes to SDAM? Konrad >>> >>> Signed-off-by: Parikshit Pareek <quic_ppareek@quicinc.com> >>> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> >>> --- >> >> Best regards, >> Krzysztof >> > > -Shazad
On 4/18/2023 3:13 PM, Konrad Dybcio wrote: > > > On 18.04.2023 06:39, Shazad Hussain wrote: >> >> >> On 4/13/2023 9:42 PM, Krzysztof Kozlowski wrote: >>> On 13/04/2023 15:17, Bartosz Golaszewski wrote: >>>> From: Parikshit Pareek <quic_ppareek@quicinc.com> >>>> >>>> Remove the power on reasons with reboot from the pmm8654au_0_pon. >>>> Instead, the PoN reaons should be part of different sdam_0 mode, to >>> >>> typo: reasons >>> >>>> be interoduced. >>> >>> introduced >>> >>> Anyway it does not say why. Are these power reasons not correct? >>> >> >> Hi Krzysztof, >> Since sm8350 the PMIC PON peripheral was split into PON_HLOS and PON_PBS >> to avoid security concerns with HLOS APPS being able to trigger a PMIC >> WARM_RESET unilaterally. When the split occurred, the spare registers >> ended up in PON_PBS, not PON_HLOS. Thus at that time, we moved to using >> an SDAM register for Linux “reboot reason” configuration. And bootloader >> also SDAM register to get these reboot region data to get into >> bootloader/edl, so to have this working we need to use SDAM. >> > Does that imply all PMICs following the PMK8350 scheme (separate HLOS and > PBS) should direct reboot mode writes to SDAM? > > Konrad Yes, that's what the expectation is with bootloader using SDAM as well. >>>> >>>> Signed-off-by: Parikshit Pareek <quic_ppareek@quicinc.com> >>>> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> >>>> --- >>> >>> Best regards, >>> Krzysztof >>> >> >> -Shazad -Shazad
diff --git a/arch/arm64/boot/dts/qcom/sa8775p-pmics.dtsi b/arch/arm64/boot/dts/qcom/sa8775p-pmics.dtsi index 7602cca47bae..5abdc239d3a6 100644 --- a/arch/arm64/boot/dts/qcom/sa8775p-pmics.dtsi +++ b/arch/arm64/boot/dts/qcom/sa8775p-pmics.dtsi @@ -108,8 +108,6 @@ pmm8654au_0_pon: pon@1200 { compatible = "qcom,pmk8350-pon"; reg = <0x1200>, <0x800>; reg-names = "hlos", "pbs"; - mode-recovery = <0x1>; - mode-bootloader = <0x2>; pmm8654au_0_pon_pwrkey: pwrkey { compatible = "qcom,pmk8350-pwrkey";