From nobody Fri Apr 3 06:12:25 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 810583195EF for ; Fri, 13 Mar 2026 13:20:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773408013; cv=none; b=KlhY0pt9JtCC2U9jVIcRM/CoTk3eFBtLCR2mPQHxPqEbm58INvRnYN43cHOUnze4zdcYsp10D4K/ooAmcDso7fUcoPMGOJd3EJBkeaqkpSQAu6u3SQ7X+92kzuqGOgTm6Ci0g7/c0aCuXKRiJqZ5+dul8xOiCwP6WlRse6FfNm0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773408013; c=relaxed/simple; bh=FugiAkjJAw8Rc+ElWLy7+3EXCO2X/Q7eYTyyl4toOwg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b47Lqsc/+olw/Gva4ar9pNxXy8vLwEIyUpB0jWvR1BNL0QD6Y6IPy57ewziZSwwfvZdCEU7mmTkUcni8FUX9FU4OVMwcfJmzk4XYLCH3FXYFQFaqHhxlA2ZE1faN+x4btsx9axfKo/RXSS/L9b5Faz93KT72RSFwr1XC0jZ297s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=lHLUWEkN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EhAVOFzN; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="lHLUWEkN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EhAVOFzN" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62D7inQI2263477 for ; Fri, 13 Mar 2026 13:20:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Qq/iNMuIBUf8ItEQbdTvaDhG+gM00VgveS6mWqyYASY=; b=lHLUWEkNaJLEia6p QwvkLhTrwBJrFVkK4lbqCm1MDtyVjnJodyP8lkFxDSz8vJEXbpzDDHTgeQZ9Pw6a 61etXw5ZXZHsJFJR38yaUWNmxUZiz6K8fxvQei8x66fDCgIdKe0Mt9h2dEwxiCeo lfiB/O0UqSxlcmqQKag6hf5lnTvCa++V7h21Vt7QAiWEtTa3EHdRafrh6QxTCzSd G72KNJceTB1UsZp9zKbzA5yi5/DErvUy8Lx2skw+3/OaeLvFV1jSlkdnc8ZgdOz2 TCXSGRCHrDy69mdb2t2nWg0v7vOmRs5G71nJTiwlIvjpxaxR+OrRg9hcC5XkFb13 JEXMrA== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cvef4s4hf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 13 Mar 2026 13:20:10 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c7398e393a6so791093a12.1 for ; Fri, 13 Mar 2026 06:20:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773408010; x=1774012810; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Qq/iNMuIBUf8ItEQbdTvaDhG+gM00VgveS6mWqyYASY=; b=EhAVOFzNQi9MN675Y+WqILNmCdSeAefChhvns1JRUesBqczIdXBpUCOq1dRi2lPTp3 h04PqRaJmSmoMUTrCOsucP3F0Y2lpjU0khFd55l/e6ZjMS9Z3Jx16catQAwkmi+630p+ erSSWdf9XWansc2o0nlnwWSw2Grk9cq9OHuW8bNPZqzE4+pEaICMchh4qwtFyT4cVoJ4 Z8pcjcdvNZu45mbeAlCcQXm45vtx+5cqY98PxhCTjgmVsu2pI/nLuvHpUyoE6ZJXwnXU josy3jSK5g8Cf2Ebh4PaTXsc+iAeSGw1sCyV3+7IlzN9PCzu6iBGi/CQJ2mIfgJm2gR5 ACNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773408010; x=1774012810; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Qq/iNMuIBUf8ItEQbdTvaDhG+gM00VgveS6mWqyYASY=; b=ix+2cc2Dy6Ho4Uh3t4/8ioEMKjTqS/NERh4tEqbXlYOi0eSLawJKVVptcHOZkiWc/a ec37is9BE8SPHALWhOJ8ij3cF9Lyr4EE0DuUyU/cqP/OaWzZXC5QNyGt5QzXI4jybpK2 RcwtrtGhp6XnK3v72yWVVlvbUtMyTrWHEO3WWcCiPcJNvqZlMpQJbS/fOc/uK+RVdIKq pwUJwJhXTElBk47Qg79fb6HcR1dEH9NNn6MA25vwUvsgWtFWOPpJ3LBSoLrVNKvBM070 nhscH5N+kfDQcuqFlR3iq5ubEhwoUNjgst05v4MXjezEDcQiwG+II8XhU8Lw5ta/cfJb +DHg== X-Forwarded-Encrypted: i=1; AJvYcCUbYiQBtOsDzMReoJjRst3ynlJPDf/ZAD4HUmfkKhKu2BvQ9kwBpeqmwUz6LvvFnhAnmi8/PzxypGwieOs=@vger.kernel.org X-Gm-Message-State: AOJu0YyuQJYLfdfrYmPSsGkbPnuMYAjGUb7NPCDpH4vwXowdkkCAwmWb ydLUxDubLm8GnLgrkrklTpQ7Q79UEZ0SijfBW5Ly3jV7UCWx9lYCLorRsfhhh2RVGNHFXQpzIBx T3kO/roWxC1J1RRnm/0bgWvyX9piQKz3Tv2sDcqIYYjQsddgIJEWrVnsNnZ9TNTw9ZIQ= X-Gm-Gg: ATEYQzx2akkCXzM8WEmRDdNQGsDn29StmXaSViTHdfzsBmjP70MsRzEahUvqJPxHcRs cd4zphGBZKoozpKfM/6e8n0cWvYptbhQQ1zBym+5216m425e5Nn/G8lKTNYkDGJDKoZoNtMPYBI /EmFu4rr499LsI37mSRp5aKdLgwYPR63fnJHalBg7DPZQ10UTx4VBKJvDnw9iiYAgu8223DY3OF 61yOk9BTEnuBtdmfWqZFl+NtiW34hwXGBx5zGIUejtakRo6W2rKf1YDOjHGZUL824ZhHWUw9FEL zZob+7DNBsVqKtEe14r4LKAYznDqzMg9P7U5uGTuQDr+gmlA0g6VEgSlYFpvwJ2qU2CF09iexd2 kFAsDjcn/ugiD0lKgYi2V6CZsI2NbBYaV/bPo9l4c1W0EzgigZdcJRN+l X-Received: by 2002:a05:6a21:2d42:b0:398:a1ca:7a26 with SMTP id adf61e73a8af0-398ecddd629mr2987561637.62.1773408009930; Fri, 13 Mar 2026 06:20:09 -0700 (PDT) X-Received: by 2002:a05:6a21:2d42:b0:398:a1ca:7a26 with SMTP id adf61e73a8af0-398ecddd629mr2987503637.62.1773408009198; Fri, 13 Mar 2026 06:20:09 -0700 (PDT) Received: from hu-vgarodia-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82a0724407csm5775254b3a.8.2026.03.13.06.20.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2026 06:20:08 -0700 (PDT) From: Vikash Garodia Date: Fri, 13 Mar 2026 18:49:35 +0530 Subject: [PATCH v3 1/7] media: dt-bindings: qcom-kaanapali-iris: Add kaanapali video codec binding Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260313-kaanapali-iris-v3-1-9c0d1a67af4b@oss.qualcomm.com> References: <20260313-kaanapali-iris-v3-0-9c0d1a67af4b@oss.qualcomm.com> In-Reply-To: <20260313-kaanapali-iris-v3-0-9c0d1a67af4b@oss.qualcomm.com> To: Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Dmitry Baryshkov , Conor Dooley , Saravana Kannan , Joerg Roedel , Will Deacon , Robin Murphy , Stefan Schmidt , Hans Verkuil , Krzysztof Kozlowski , Vishnu Reddy , Hans Verkuil Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux.dev, Bryan O'Donoghue , Vikash Garodia , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773407994; l=10166; i=vikash.garodia@oss.qualcomm.com; s=20241104; h=from:subject:message-id; bh=FugiAkjJAw8Rc+ElWLy7+3EXCO2X/Q7eYTyyl4toOwg=; b=1hVPp6u/PZJQh/cJU9zaws2RRqe3k7bztmgXfJ0w7mz1yMHp8PNVfizwyQoOtNl9tYUCq15FG fvxhpF9hrx2A8SDYX6onl4JnRrEjHHj5wNI7K+6SM+Lzc2wqp8wDscT X-Developer-Key: i=vikash.garodia@oss.qualcomm.com; a=ed25519; pk=LY9Eqp4KiHWxzGNKGHbwRFEJOfRCSzG/rxQNmvZvaKE= X-Proofpoint-ORIG-GUID: bivfDDPq0T8rz4BVQRuZQBVH4dggF85i X-Proofpoint-GUID: bivfDDPq0T8rz4BVQRuZQBVH4dggF85i X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEzMDEwNiBTYWx0ZWRfX7wCZsEeOLzh/ kueMymlNoTyNF9BBWrANb2/FIIXTmGVZggH7bMnDlpPow8TjXlkPPwQiRv5d1OcbIGokbuNBaWu Z1b3a7Dzme7d6hXBblOufBunfCj9FxNqz/j+nMhvQeNNYL/JScc8zd8UPDnc2jboPZXwFiltWrg iw51EJeQzqDjjyPP2RwIIkjYa7l7tZdHHtAqht8LXFgeXNorM1rMklUk6I6kWygbuLWF4iQwEb+ OxAuFtlISBvj9LESLEmOr9xWeYP3nXT8DCYN9ufDqlIvPWbedDJpS/mg6Fp4VwXKTtorDX//FgQ uSR06xeFwwVfWu+bk6vfKPnXG6smVh1HdAsHbJEC3NDbEpdQ7zingEus4Jzw1SZLiiWKh4ayJ3K veKK2t823Eu6gCMJY1fkRExuCTWEQxaa5Zh/+nI8SjXwxPwn+GDVmnfNyGY3C6zdIErij4W5Cgy FZ8W4ii5HcuSNg3msmQ== X-Authority-Analysis: v=2.4 cv=S9nUAYsP c=1 sm=1 tr=0 ts=69b40f0a cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=NEAV23lmAAAA:8 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=3XxYi-OA7daZLtlGpLkA:9 a=QEXdDO2ut3YA:10 a=bFCP_H2QrGi7Okbo017w:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-13_02,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603130106 Kaanapali SOC brings in the new generation of video IP i.e iris4. When compared to previous generation, iris3x, it has, - separate power domains for stream and pixel processing hardware blocks (bse and vpp). - additional power domain for apv codec. - power domains for individual pipes (VPPx). - different clocks and reset lines. This patch depends on https://github.com/devicetree-org/dt-schema/pull/184/changes/d341298d62805b= c972dfba691da6b3b62aa3ff15 Nacked-by: Krzysztof Kozlowski Signed-off-by: Vikash Garodia --- .../bindings/media/qcom,kaanapali-iris.yaml | 254 +++++++++++++++++= ++++ include/dt-bindings/media/qcom,kaanapali-iris.h | 18 ++ 2 files changed, 272 insertions(+) diff --git a/Documentation/devicetree/bindings/media/qcom,kaanapali-iris.ya= ml b/Documentation/devicetree/bindings/media/qcom,kaanapali-iris.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1f35472a2caea7acd2ef20b5cbd= afadba882bd3a --- /dev/null +++ b/Documentation/devicetree/bindings/media/qcom,kaanapali-iris.yaml @@ -0,0 +1,254 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/qcom,kaanapali-iris.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Kaanapali Iris video encoder and decoder + +maintainers: + - Vikash Garodia + - Dikshita Agarwal + +description: + The iris video processing unit is a video encode and decode accelerator + present on Qualcomm Kaanapali SoC. + +properties: + compatible: + const: qcom,kaanapali-iris + + reg: + maxItems: 1 + + clocks: + maxItems: 10 + + clock-names: + items: + - const: iface + - const: core + - const: vcodec0_core + - const: iface1 + - const: core_freerun + - const: vcodec0_core_freerun + - const: vcodec_bse + - const: vcodec_vpp0 + - const: vcodec_vpp1 + - const: vcodec_apv + + dma-coherent: true + + firmware-name: + maxItems: 1 + + interconnects: + maxItems: 2 + + interconnect-names: + items: + - const: cpu-cfg + - const: video-mem + + interrupts: + maxItems: 1 + + iommu-map: + $ref: /schemas/types.yaml#/definitions/uint32-matrix + items: + - description: bitstream stream from vcodec + items: + - description: Function ID + - description: Phandle to IOMMU + - description: IOMMU stream ID base + - description: IOMMU stream ID mask + - description: Number of stream IDs + - description: non-pixel stream from vcodec + - description: non-pixel stream from tensilica + - description: pixel stream from vcodec + - description: secure bitstream stream from vcodec + - description: secure non-pixel stream from vcodec + - description: secure non-pixel stream from tensilica + - description: secure pixel stream from vcodec + # firmware might be handled by the TZ / hyp + - description: firmware stream from tensilica + minItems: 8 + + memory-region: + maxItems: 1 + + operating-points-v2: true + opp-table: + type: object + + power-domains: + maxItems: 7 + + power-domain-names: + items: + - const: venus + - const: vcodec0 + - const: mxc + - const: mmcx + - const: vpp0 + - const: vpp1 + - const: apv + + resets: + maxItems: 4 + + reset-names: + items: + - const: bus0 + - const: bus1 + - const: core + - const: vcodec0_core + +required: + - compatible + - reg + - clocks + - clock-names + - dma-coherent + - interconnects + - interconnect-names + - interrupts + - iommu-map + - memory-region + - power-domains + - power-domain-names + - resets + - reset-names + +unevaluatedProperties: false + +examples: + - | + #include + #include + #include + + video-codec@2000000 { + compatible =3D "qcom,kaanapali-iris"; + reg =3D <0x02000000 0xf0000>; + + clocks =3D <&gcc_video_axi0_clk>, + <&video_cc_mvs0c_clk>, + <&video_cc_mvs0_clk>, + <&gcc_video_axi1_clk>, + <&video_cc_mvs0c_freerun_clk>, + <&video_cc_mvs0_freerun_clk>, + <&video_cc_mvs0b_clk>, + <&video_cc_mvs0_vpp0_clk>, + <&video_cc_mvs0_vpp1_clk>, + <&video_cc_mvs0a_clk>; + clock-names =3D "iface", + "core", + "vcodec0_core", + "iface1", + "core_freerun", + "vcodec0_core_freerun", + "vcodec_bse", + "vcodec_vpp0", + "vcodec_vpp1", + "vcodec_apv"; + + dma-coherent; + + interconnects =3D <&gem_noc_master_appss_proc &config_noc_slave_ve= nus_cfg>, + <&mmss_noc_master_video_mvp &mc_virt_slave_ebi1>; + interconnect-names =3D "cpu-cfg", + "video-mem"; + + interrupts =3D ; + + iommu-map =3D , + , + , + , + , + , + , + , + ; + + memory-region =3D <&video_mem>; + + operating-points-v2 =3D <&iris_opp_table>; + + power-domains =3D <&video_cc_mvs0c_gdsc>, + <&video_cc_mvs0_gdsc>, + <&rpmhpd RPMHPD_MXC>, + <&rpmhpd RPMHPD_MMCX>, + <&video_cc_mvs0_vpp0_gdsc>, + <&video_cc_mvs0_vpp1_gdsc>, + <&video_cc_mvs0a_gdsc>; + power-domain-names =3D "venus", + "vcodec0", + "mxc", + "mmcx", + "vpp0", + "vpp1", + "apv"; + + resets =3D <&gcc_video_axi0_clk_ares>, + <&gcc_video_axi1_clk_ares>, + <&video_cc_mvs0c_freerun_clk_ares>, + <&video_cc_mvs0_freerun_clk_ares>; + reset-names =3D "bus0", + "bus1", + "core", + "vcodec0_core"; + + iris_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-240000000 { + opp-hz =3D /bits/ 64 <240000000 240000000 240000000 360000= 000>; + required-opps =3D <&rpmhpd_opp_low_svs_d1>, + <&rpmhpd_opp_low_svs_d1>; + }; + + opp-338000000 { + opp-hz =3D /bits/ 64 <338000000 338000000 338000000 507000= 000>; + required-opps =3D <&rpmhpd_opp_low_svs>, + <&rpmhpd_opp_low_svs>; + }; + + opp-420000000 { + opp-hz =3D /bits/ 64 <420000000 420000000 420000000 630000= 000>; + required-opps =3D <&rpmhpd_opp_svs>, + <&rpmhpd_opp_svs>; + }; + + opp-444000000 { + opp-hz =3D /bits/ 64 <444000000 444000000 444000000 666000= 000>; + required-opps =3D <&rpmhpd_opp_svs_l1>, + <&rpmhpd_opp_svs_l1>; + }; + + opp-533000000 { + opp-hz =3D /bits/ 64 <533000000 533000000 533000000 800000= 000>; + required-opps =3D <&rpmhpd_opp_nom>, + <&rpmhpd_opp_nom>; + }; + + opp-630000000 { + opp-hz =3D /bits/ 64 <630000000 630000000 630000000 110400= 0000>; + required-opps =3D <&rpmhpd_opp_turbo>, + <&rpmhpd_opp_turbo>; + }; + + opp-800000000 { + opp-hz =3D /bits/ 64 <800000000 630000000 630000000 126000= 0000>; + required-opps =3D <&rpmhpd_opp_turbo_l0>, + <&rpmhpd_opp_turbo_l0>; + }; + + opp-1000000000 { + opp-hz =3D /bits/ 64 <1000000000 630000000 850000000 12600= 00000>; + required-opps =3D <&rpmhpd_opp_turbo_l1>, + <&rpmhpd_opp_turbo_l1>; + }; + }; + }; diff --git a/include/dt-bindings/media/qcom,kaanapali-iris.h b/include/dt-b= indings/media/qcom,kaanapali-iris.h new file mode 100644 index 0000000000000000000000000000000000000000..757313799293d59b2122dd8d05b= 654f7a3a9876a --- /dev/null +++ b/include/dt-bindings/media/qcom,kaanapali-iris.h @@ -0,0 +1,18 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#ifndef _DT_BINDINGS_MEDIA_QCOM_KAANAPALI_IRIS_H_ +#define _DT_BINDINGS_MEDIA_QCOM_KAANAPALI_IRIS_H_ + +/* Function identifiers for iommu-map to attach for the context bank devic= es */ +#define IRIS_BITSTREAM 0 +#define IRIS_NON_PIXEL 1 +#define IRIS_PIXEL 2 +#define IRIS_SECURE_BITSTREAM 3 +#define IRIS_SECURE_NON_PIXEL 4 +#define IRIS_SECURE_PIXEL 5 +#define IRIS_FIRMWARE 6 + +#endif --=20 2.34.1