Message ID | 20241219025216.3463527-1-quic_jiegan@quicinc.com (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | 8a6442ec3437083348f32a6159b9a67bf66417bc |
Headers | show |
Series | arm64: dts: qcom: sa8775p: fix the secure device bootup issue | expand |
On 19.12.2024 3:52 AM, Jie Gan wrote: > The secure device(fused) cannot bootup with TPDM_DCC device. So > disable it in DT. > > Fixes: 6596118ccdcd ("arm64: dts: qcom: Add coresight nodes for SA8775p") > Signed-off-by: Jie Gan <quic_jiegan@quicinc.com> > --- I was thinking, is there a QFPROM fuse we could read on both secure and non-secure devices to determine whether all coresight components will be accessible, and enable them based on that information? Konrad
On 12/20/2024 5:25 AM, Konrad Dybcio wrote: > On 19.12.2024 3:52 AM, Jie Gan wrote: >> The secure device(fused) cannot bootup with TPDM_DCC device. So >> disable it in DT. >> >> Fixes: 6596118ccdcd ("arm64: dts: qcom: Add coresight nodes for SA8775p") >> Signed-off-by: Jie Gan <quic_jiegan@quicinc.com> >> --- > > I was thinking, is there a QFPROM fuse we could read on both > secure and non-secure devices to determine whether all coresight > components will be accessible, and enable them based on that > information? > There are two known TPDM devices had been disabled on secure device. One of these devices is TPDM_DCC. In downstream code, we have an API to check the secure status of the device in TPDM's probe function, to avoid unintentional enable. The downstream API will check the register that controls crash dump functionality in TZ and the crash dump functionality is disabled by default on secure devices. We need to verify if the downstream API is supported by the upstream kernel. We plan to upstream a patch to implement this functionality in the TPDM driver or any other device's driver that needed the functionality. For the time being, we need to disable this TPDM device in DT because the TPDM_DCC will break the bootup process on secure devices. > Konrad Thanks, Jie
On 20.12.2024 6:51 AM, Jie Gan wrote: > > > On 12/20/2024 5:25 AM, Konrad Dybcio wrote: >> On 19.12.2024 3:52 AM, Jie Gan wrote: >>> The secure device(fused) cannot bootup with TPDM_DCC device. So >>> disable it in DT. >>> >>> Fixes: 6596118ccdcd ("arm64: dts: qcom: Add coresight nodes for SA8775p") >>> Signed-off-by: Jie Gan <quic_jiegan@quicinc.com> >>> --- >> >> I was thinking, is there a QFPROM fuse we could read on both >> secure and non-secure devices to determine whether all coresight >> components will be accessible, and enable them based on that >> information? >> > There are two known TPDM devices had been disabled on secure device. One of these devices is TPDM_DCC. In downstream code, we have an API to check the secure status of the device in TPDM's probe function, to avoid unintentional enable. The downstream API will check the register that controls crash dump functionality in TZ and the crash dump functionality is disabled by default on secure devices. That's an "eeeh" type solution, crashdump is a separate thing that may be enabled independently, and some prod devices from certain vendors actually do that > We need to verify if the downstream API is supported by the upstream kernel. We plan to upstream a patch to implement this functionality in the TPDM driver or any other device's driver that needed the functionality. Please check if there's a coresight-specific fuse instead > For the time being, we need to disable this TPDM device in DT because the TPDM_DCC will break the bootup process on secure devices. Yeah, right Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
On 12/23/2024 7:56 PM, Konrad Dybcio wrote: > On 20.12.2024 6:51 AM, Jie Gan wrote: >> >> >> On 12/20/2024 5:25 AM, Konrad Dybcio wrote: >>> On 19.12.2024 3:52 AM, Jie Gan wrote: >>>> The secure device(fused) cannot bootup with TPDM_DCC device. So >>>> disable it in DT. >>>> >>>> Fixes: 6596118ccdcd ("arm64: dts: qcom: Add coresight nodes for SA8775p") >>>> Signed-off-by: Jie Gan <quic_jiegan@quicinc.com> >>>> --- >>> >>> I was thinking, is there a QFPROM fuse we could read on both >>> secure and non-secure devices to determine whether all coresight >>> components will be accessible, and enable them based on that >>> information? >>> >> There are two known TPDM devices had been disabled on secure device. One of these devices is TPDM_DCC. In downstream code, we have an API to check the secure status of the device in TPDM's probe function, to avoid unintentional enable. The downstream API will check the register that controls crash dump functionality in TZ and the crash dump functionality is disabled by default on secure devices. > > That's an "eeeh" type solution, crashdump is a separate thing that may be > enabled independently, and some prod devices from certain vendors actually > do that > This solution have been applied because the TPDM_DCC has connection with crashdump. But I think you are right, this is not a totally suitable solution. >> We need to verify if the downstream API is supported by the upstream kernel. We plan to upstream a patch to implement this functionality in the TPDM driver or any other device's driver that needed the functionality. > > Please check if there's a coresight-specific fuse instead I will check it with hardware team. > > >> For the time being, we need to disable this TPDM device in DT because the TPDM_DCC will break the bootup process on secure devices. > > Yeah, right > > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > > Konrad Thanks, Jie
On Thu, 19 Dec 2024 10:52:16 +0800, Jie Gan wrote: > The secure device(fused) cannot bootup with TPDM_DCC device. So > disable it in DT. > > Applied, thanks! [1/1] arm64: dts: qcom: sa8775p: fix the secure device bootup issue commit: 8a6442ec3437083348f32a6159b9a67bf66417bc Best regards,
diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qcom/sa8775p.dtsi index 368bcf7c9802..9da62d7c4d27 100644 --- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi +++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi @@ -2440,6 +2440,7 @@ tpdm@4003000 { qcom,cmb-element-bits = <32>; qcom,cmb-msrs-num = <32>; + status = "disabled"; out-ports { port {
The secure device(fused) cannot bootup with TPDM_DCC device. So disable it in DT. Fixes: 6596118ccdcd ("arm64: dts: qcom: Add coresight nodes for SA8775p") Signed-off-by: Jie Gan <quic_jiegan@quicinc.com> --- arch/arm64/boot/dts/qcom/sa8775p.dtsi | 1 + 1 file changed, 1 insertion(+)