[PATCH] arm64: dts: qcom: sa8775p: fix the secure device bootup issue

Jie Gan posted 1 patch 12 months ago
arch/arm64/boot/dts/qcom/sa8775p.dtsi | 1 +
1 file changed, 1 insertion(+)
[PATCH] arm64: dts: qcom: sa8775p: fix the secure device bootup issue
Posted by Jie Gan 12 months ago
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(+)

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 {
-- 
2.34.1
Re: [PATCH] arm64: dts: qcom: sa8775p: fix the secure device bootup issue
Posted by Bjorn Andersson 11 months, 3 weeks ago
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,
-- 
Bjorn Andersson <andersson@kernel.org>
Re: [PATCH] arm64: dts: qcom: sa8775p: fix the secure device bootup issue
Posted by Konrad Dybcio 12 months ago
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
Re: [PATCH] arm64: dts: qcom: sa8775p: fix the secure device bootup issue
Posted by Jie Gan 12 months ago

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
Re: [PATCH] arm64: dts: qcom: sa8775p: fix the secure device bootup issue
Posted by Konrad Dybcio 11 months, 4 weeks ago
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
Re: [PATCH] arm64: dts: qcom: sa8775p: fix the secure device bootup issue
Posted by Jie Gan 11 months, 4 weeks ago

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