[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b9743d3a-d0bb-385f-f21e-6b0c0be37fae@quicinc.com>
Date: Mon, 17 Mar 2025 11:30:16 +0530
From: Vikash Garodia <quic_vgarodia@...cinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>,
Konrad Dybcio
<konrad.dybcio@....qualcomm.com>
CC: Dikshita Agarwal <quic_dikshita@...cinc.com>,
Abhinav Kumar
<quic_abhinavk@...cinc.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
"Rob
Herring" <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
"Conor
Dooley" <conor+dt@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
"Konrad Dybcio" <konradybcio@...nel.org>,
<linux-arm-msm@...r.kernel.org>, <linux-media@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 3/4] arm64: dts: qcom: sa8775p: add support for video node
On 3/16/2025 12:02 AM, Dmitry Baryshkov wrote:
> On Sat, Mar 15, 2025 at 02:43:30PM +0100, Konrad Dybcio wrote:
>> On 3/11/25 1:03 PM, Vikash Garodia wrote:
>>> Video node enables video on Qualcomm SA8775P platform.
>>>
>>> Signed-off-by: Vikash Garodia <quic_vgarodia@...cinc.com>
>>> ---
>>> arch/arm64/boot/dts/qcom/sa8775p.dtsi | 67 +++++++++++++++++++++++++++++++++++
>>> 1 file changed, 67 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
>>> index 3394ae2d13003417a15e64c9e47833725ec779e6..09db8e2eb578f1cada0f4a15e3f844dc097bd46d 100644
>>> --- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
>>> @@ -10,6 +10,7 @@
>>> #include <dt-bindings/clock/qcom,sa8775p-dispcc.h>
>>> #include <dt-bindings/clock/qcom,sa8775p-gcc.h>
>>> #include <dt-bindings/clock/qcom,sa8775p-gpucc.h>
>>> +#include <dt-bindings/clock/qcom,sa8775p-videocc.h>
>>> #include <dt-bindings/dma/qcom-gpi.h>
>>> #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
>>> #include <dt-bindings/mailbox/qcom-ipcc.h>
>>> @@ -3783,6 +3784,72 @@ llcc: system-cache-controller@...0000 {
>>> interrupts = <GIC_SPI 580 IRQ_TYPE_LEVEL_HIGH>;
>>> };
>>>
>>> + iris: video-codec@...0000 {
>>> + compatible = "qcom,sa8775p-iris";
>>> +
>>> + reg = <0 0x0aa00000 0 0xf0000>;
>>> + interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
>>> +
>>> + power-domains = <&videocc VIDEO_CC_MVS0C_GDSC>,
>>> + <&videocc VIDEO_CC_MVS0_GDSC>,
>>> + <&rpmhpd SA8775P_MXC>,
>>> + <&rpmhpd SA8775P_MMCX>;
>>> + power-domain-names = "venus",
>>> + "vcodec0",
>>> + "mx",
>>> + "mmcx";
>>> + operating-points-v2 = <&iris_opp_table>;
>>> +
>>> + clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
>>> + <&videocc VIDEO_CC_MVS0C_CLK>,
>>> + <&videocc VIDEO_CC_MVS0_CLK>;
>>> + clock-names = "iface",
>>> + "core",
>>> + "vcodec0_core";
>>> +
>>> + interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
>>> + &config_noc SLAVE_VENUS_CFG QCOM_ICC_TAG_ALWAYS>,
>>
>> This path should use QCOM_ICC_TAG_ACTIVE_ONLY on both endpoints
>>
>>> + <&mmss_noc MASTER_VIDEO_P0 QCOM_ICC_TAG_ALWAYS
>>> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
>>> + interconnect-names = "cpu-cfg",
>>> + "video-mem";
>>> +
>>> + firmware-name = "qcom/vpu/vpu30_p4_s6.mbn";
>
> Firmware-name should be a part of the board DT file rather than the SoC
> DT.
Given that video ip is independent of any board, remains same for any board
variant of SA8775p, and again for the same reason, PIL, aspects of video driver
was made out of probe, i would prefer to keep it in SOC. Again, this can be
overridden in board specific variant DT, if any case arise, incase.
>>
>> If it needs different firmware, I have my doubts over why 8550's data
>> would be fully reused. Are you sure everything in iris_platform_sm8550.c
>> applies?
>
> If I understand correctly, the firmware is different, because the
> signature profile is different. The Iris core should be compatible.
That appropriately explains the need for different firmware.
>
>>
>>> + memory-region = <&pil_video_mem>;
>>> +
>>> + resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>;
>>> + reset-names = "bus";
>>> +
>>> + iommus = <&apps_smmu 0x0880 0x0400>,
>>> + <&apps_smmu 0x0887 0x0400>;
>>> + dma-coherent;
>>> +
>>> + iris_opp_table: opp-table {
>>> + compatible = "operating-points-v2";
>>> +
>>> + opp-366000000 {
>>> + opp-hz = /bits/ 64 <366000000>;
>>> + required-opps = <&rpmhpd_opp_svs_l1>,
>>> + <&rpmhpd_opp_svs_l1>;
>>> + };
>>
>> Please add a newline between subsequent subnodes
>>
>> Konrad
Regards,
Vikash
Powered by blists - more mailing lists