Re: [PATCH 2/3] arm64: dts: qcom: sdm660: add device node for the compute PAS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 15.05.2022 01:17, Dmitry Baryshkov wrote:
> On Sun, 15 May 2022 at 01:51, Konrad Dybcio
> <konrad.dybcio@xxxxxxxxxxxxxx> wrote:
>>
>>
>>
>> On 14.05.2022 02:03, Dmitry Baryshkov wrote:
>>> Add device tree node describing CDSP device found on the SDM660 (but not
>>> on SDM630) platform.
>>>
>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
>>> ---
>> Lookin' good, but this must be /delete-node/'d on sdm636.
> 
> Ack for the sdm636, will fix in v2.
> 
> Or maybe you'd like another approach: move all devices to sdm636 and
> make sdm660 include sdm636.dtsi?
Hmm.. sounds like this could save some LoC without being unnecessarily confusing and we'd have a nice path of 'progression' with sdm630<sdm636<(sdm658 if that even really exists outside CAF kernels, never seen it irl)<sdm660

> 
>> Also, I think 660 had a separate smmu for this hw block?
> 
> Yes, there is a separate smmu, however enabling it makes the board
> reset. I can add it here, but I doubt it is going to be useful till
> somebody lands IOMMU fixes for this platform.
Right, I keep forgetting that it's one of the last very sad platforms on this front..

Konrad
> 
>>
>> Konrad
>>>  arch/arm64/boot/dts/qcom/sdm660.dtsi | 68 ++++++++++++++++++++++++++++
>>>  1 file changed, 68 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sdm660.dtsi b/arch/arm64/boot/dts/qcom/sdm660.dtsi
>>> index 023b0ac4118c..3b70eff68807 100644
>>> --- a/arch/arm64/boot/dts/qcom/sdm660.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/sdm660.dtsi
>>> @@ -9,6 +9,74 @@
>>>
>>>  #include "sdm630.dtsi"
>>>
>>> +/ {
>>> +     reserved-memory {
>>> +             /delete-node/ tzbuffer@94a00000;
>>> +
>>> +             cdsp_region: cdsp@94a00000 {
>>> +                     reg = <0x0 0x94a00000 0x0 0x600000>;
>>> +                     no-map;
>>> +             };
>>> +
>>> +     };
>>> +
>>> +     smp2p-cdsp {
>>> +             compatible = "qcom,smp2p";
>>> +             qcom,smem = <94>, <432>;
>>> +             interrupts = <GIC_SPI 514 IRQ_TYPE_EDGE_RISING>;
>>> +             mboxes = <&apcs_glb 30>;
>>> +             qcom,local-pid = <0>;
>>> +             qcom,remote-pid = <5>;
>>> +
>>> +             cdsp_smp2p_out: master-kernel {
>>> +                     qcom,entry-name = "master-kernel";
>>> +                     #qcom,smem-state-cells = <1>;
>>> +             };
>>> +
>>> +             cdsp_smp2p_in: slave-kernel {
>>> +                     qcom,entry-name = "slave-kernel";
>>> +                     interrupt-controller;
>>> +                     #interrupt-cells = <2>;
>>> +             };
>>> +     };
>>> +
>>> +     soc {
>>> +             cdsp_pil: remoteproc@1a300000 {
>>> +                     compatible = "qcom,sdm660-cdsp-pas";
>>> +                     reg = <0x1a300000 0x4040>;
>>> +
>>> +                     interrupts-extended =
>>> +                             <&intc GIC_SPI 518 IRQ_TYPE_EDGE_RISING>,
>>> +                             <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
>>> +                             <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
>>> +                             <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
>>> +                             <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
>>> +                     interrupt-names = "wdog", "fatal", "ready",
>>> +                                       "handover", "stop-ack";
>>> +
>>> +                     clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
>>> +                     clock-names = "xo";
>>> +
>>> +                     memory-region = <&cdsp_region>;
>>> +                     power-domains = <&rpmpd SDM660_VDDCX>;
>>> +                     power-domain-names = "cx";
>>> +
>>> +                     qcom,smem-states = <&cdsp_smp2p_out 0>;
>>> +                     qcom,smem-state-names = "stop";
>>> +
>>> +                     glink-edge {
>>> +                             interrupts = <GIC_SPI 513 IRQ_TYPE_EDGE_RISING>;
>>> +
>>> +                             label = "turing";
>>> +                             mboxes = <&apcs_glb 29>;
>>> +                             qcom,remote-pid = <5>;
>>> +                             #address-cells = <1>;
>>> +                             #size-cells = <0>;
>>> +                     };
>>> +             };
>>> +     };
>>> +};
>>> +
>>>  &adreno_gpu {
>>>       compatible = "qcom,adreno-512.0", "qcom,adreno";
>>>       operating-points-v2 = <&gpu_sdm660_opp_table>;
> 
> 
> 



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux