From nobody Mon Feb 9 13:57:12 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 24E6C3358C9 for ; Mon, 26 Jan 2026 12:26:35 +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=1769430397; cv=none; b=bkwoitG3LDGloWI7p5xXi77Er9ro8j05rzqywCRFnYMKB6XS+0GJoSpnia/pASM+rmCf5V2a07tupSPmKF/jh0GpoX+D+tg3c2+oBN2cG5AAfYU1mIMxcMoO1NPHYncRyYFlFUm7AuVreDBcFTjYwC2hOYpujY+zUPwFjWNYgao= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769430397; c=relaxed/simple; bh=tGKS4T92lrECaZQhadjFHBGpVn6bF3J4R7FWoMwtElw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KCrAVnHa2Zwnj711/Uk4s94M5eJ0MxUvd2PnyCRNUATBe9xKt/qOyi5aP9JssxGYgYRQsGEiqR2y7yS7DZRsSkuDHQGBy8EdPgHL1xZ6dj6yTzFaZrTEhYUTds9TpDnF8xrqcvIJ2RgXlLiAHZI1kCtSxY7ZKXCjT/lugdpblxE= 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=NTzoS6v3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aWfz3Bqx; 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="NTzoS6v3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aWfz3Bqx" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60Q9LKAT698293 for ; Mon, 26 Jan 2026 12:26:35 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= FF5H5bV09c8fWN0vXsZAWtIwWT18Rthxv0eooXBFjfg=; b=NTzoS6v3tklV6okW LzTIumiqL8VsrxFjva+FQq9IHp90VjaBkXi2O/JrnWBfTszXTR4OW7/gvQDYvMWY 565ecqM4KbpKAVa1R2z+IauMd2yO5aFFor3ZX+bxLDBWYvcBn1tHBfEaciURz7EX bhSg9LjdwSw63UL+swldLTsOwKlgxHU8CHC1K7FK6pUstGLkl676Gi8QrzeEC2Wv muWC1CxkmQGV2ex0YhpORiPpRpf2hsYECp0HhfMsjc3yBZMQ8d0tBIvMTS9Nb5tj +VpltIidUmqKNdYHMsnrHBkS7BwpnrWLxxkJiXCb6mQRawsFOFoRrai6QiF72CQO uh5jJQ== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bvq6uvfcy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 26 Jan 2026 12:26:35 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-c551e6fe4b4so2766288a12.3 for ; Mon, 26 Jan 2026 04:26:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769430394; x=1770035194; 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=FF5H5bV09c8fWN0vXsZAWtIwWT18Rthxv0eooXBFjfg=; b=aWfz3Bqx/h1ILQSVcC6j9FBDpei6EcEM0laQinoJeCoIv+6PPm8JNhUc2QOjiCLgNY yQJXD8FixWDliu2wlVWyj8Z2prb/+kCk57v2LFUbZN/kr5vRE9FscUcuixnVA3qkHQcU OcZ8saI0RDivjzNOXJ7t4i9w5JjGU2fLWd12K9laC7NcHiRWMzxayf7RSIhLi1BBg/7K ynpe9e9Zg/uajeun2s+pYEKOPhvHRbP+XUBRos7fehJDmIdOT7bIiCyHVRwJxJbeoPr2 Jh8oX9UnQpkNBHmrlcEEEsQW8QRmFqqLrLaCiDWeM7imhfjREbF6eDwU7S/q+UrVdB10 sZPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769430394; x=1770035194; 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=FF5H5bV09c8fWN0vXsZAWtIwWT18Rthxv0eooXBFjfg=; b=pq+w/vNzxhlrz6sHWwF0VCI2QeYUp7jfXa2rtxvMOHLAcCirVnJBPsnOQF+qMEi3dk ma9vFPt3CKe2YY4+yBYarA8+SJXDm7mSl4Xyo7biyVkLFs0fgrxFq9HHgUlaUa+11EvY 299MB2GKKmNEsJYcMg2Egz51KUi5qaSuUtUkHTQhl3Xd8R7+bJl5BlzZqi7nbCsHGZmQ pZ06jmiYtIjWKb36BsCHb3Jxaz/FG9wriZtPIelFDbWoZYyc8HteF8K8fdn4pBSOiq/H AJkFI2V+ziMLA91WdOkW9eFFUkwoMzewm/dqn1O3aMdXKmO2hSJy7tM+HuDyuy8kBSCr /C1A== X-Forwarded-Encrypted: i=1; AJvYcCVT55KwB1jLpSFHeLPlu/g2DyEq2Qw9X1tpI9JsMsIsxO9zUhb0WkaEhbqWA5ulkFqhvbVUjFci0DrdjIE=@vger.kernel.org X-Gm-Message-State: AOJu0Yyx/mfr0stbdt6GtV7AiHxBgcSzVEgFUMsafXNyIqL3mP6d39bi vZjlLcw96GhIAz4ajsPNGg0hRBherDbJjBI0Bw8QLTVaJYoO0ZBULUL8ktMtqh6vMZ1MwnQ3m3H rX7nu6pMtxD2CwgGUsThEs8DAEByRqlXk+fMIuZrEOaauPSFsNGSz2wmmH63Mncnrv70= X-Gm-Gg: AZuq6aJ9lIVQHrXsKwqhDEMvmqC90lZOaNBIUipog5c+6AZUML9w3wQZcryRmdNEHN5 9f4TZqmImAHjs31Dcp0gxAqFJ4ekRZw+1oh7NmgbGli77h3I2G8x0ooQS04awTpSeJSgsVg9xL5 2xHa9o8R4Dt5JUDXSgZbAF69R4GXMXG4lAMEVLz5vv4BkbV78HpslL3AGb+I0kTEnJWaH0mPUJr QlNYLXTEHPzRVNtlZV+8rmFDx+FnlkbvCEihi8MM/Cdu57246pCW6aivd7LvBx9LKIGh3s2ijIE aKr8oaucvLgFzUYCKdVsN/0zo1owlt/NjDA74CBqbUoFFfQIG02UKloamOj31oPZAtArqwOuRX3 dHkEXdE99cr+0enDRZAPXXUO6cHJAjxmV7KUKRINr/GQO X-Received: by 2002:a05:6a20:1604:b0:38b:dea2:fd0f with SMTP id adf61e73a8af0-38e9f11003dmr4162606637.21.1769430394396; Mon, 26 Jan 2026 04:26:34 -0800 (PST) X-Received: by 2002:a05:6a20:1604:b0:38b:dea2:fd0f with SMTP id adf61e73a8af0-38e9f11003dmr4162586637.21.1769430393880; Mon, 26 Jan 2026 04:26:33 -0800 (PST) Received: from hu-vgarodia-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c6366644379sm6076022a12.33.2026.01.26.04.26.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Jan 2026 04:26:33 -0800 (PST) From: Vikash Garodia Date: Mon, 26 Jan 2026 17:55:44 +0530 Subject: [PATCH 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: <20260126-kaanapali-iris-v1-1-e2646246bfc1@oss.qualcomm.com> References: <20260126-kaanapali-iris-v1-0-e2646246bfc1@oss.qualcomm.com> In-Reply-To: <20260126-kaanapali-iris-v1-0-e2646246bfc1@oss.qualcomm.com> To: Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , 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 X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1769430381; l=8103; i=vikash.garodia@oss.qualcomm.com; s=20241104; h=from:subject:message-id; bh=tGKS4T92lrECaZQhadjFHBGpVn6bF3J4R7FWoMwtElw=; b=HROUZwon26Sdvm09gkLPN2Y/qqvNXRElUO31/tz+MRZ42SyMCtLkwrdGc9/zUdCk7umE9ZcoN n1zjijlJz/LCS2c68b6SZ1FNf0ub0jajPXEQkYMQO+4W5z5QCv6thVr X-Developer-Key: i=vikash.garodia@oss.qualcomm.com; a=ed25519; pk=LY9Eqp4KiHWxzGNKGHbwRFEJOfRCSzG/rxQNmvZvaKE= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTI2MDEwNSBTYWx0ZWRfX1eqGB1xxbEWb y3xdWb3/tgvP8U+OKls91FqlsjPaX6nuRkspoy+al+wPdjvlipj/T3JxWML45W9tG+sZnP62Fwi mbnFGtZ6XZ4+kUQmQjwiWlPs59wJzo/Km9oTU/D1jcY3U6VRVNi0PaYzW7r1p5W6stnBfjMH98U 0ktzUJEaBCJZ0oIJ/bfOycHqF1hTDatS2JnyW4YGRfbJBPZN65jEy9IcSs8tii0sPVGDGBfC4O1 BLuYDYETYc/FN7k4da6NM8bkAhDFKrVxGr/+T4I6jOLkLv+CFokj65VhsX1MHAxAq2vc1MoiNMK WQ/dF2kgwGz7jyGhDpiljUTt3m92ee3/6yitKHQ7y1ZHwQILvfuRCFRK9h12xFfTUTOR/urfM9z 0Ac5h/e3B8sYFZ2wtxFlMC4E4ZyyiytvA7UYVFGriQQ86E/y98OVa4QQ56yioRK2AGT0BrfoJZi Rpgbd8tU8QowV8O5fhg== X-Authority-Analysis: v=2.4 cv=UqRu9uwB c=1 sm=1 tr=0 ts=69775d7b cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=PIz1-sESaiOoqeWa7OYA:9 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-ORIG-GUID: tkywTKXzX-UI_UUsR53YrsZLrfQ0m_30 X-Proofpoint-GUID: tkywTKXzX-UI_UUsR53YrsZLrfQ0m_30 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-26_02,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601260105 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. iommu-map include all the different stream-ids which can be possibly generated by vpu4 hardware. Signed-off-by: Vikash Garodia --- .../bindings/media/qcom,kaanapali-iris.yaml | 234 +++++++++++++++++= ++++ 1 file changed, 234 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..4ed2afacb19043a60cfd67c4492= 356b4adb81c3d --- /dev/null +++ b/Documentation/devicetree/bindings/media/qcom,kaanapali-iris.yaml @@ -0,0 +1,234 @@ +# 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: true + + 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 + + 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 <0x100 &apps_smmu 0x1940 0x0 0x1>, + <0x100 &apps_smmu 0x1a20 0x0 0x1>, + <0x100 &apps_smmu 0x1944 0x0 0x1>, + <0x101 &apps_smmu 0x1943 0x0 0x1>, + <0x200 &apps_smmu 0x1941 0x0 0x1>, + <0x200 &apps_smmu 0x1a21 0x0 0x1>, + <0x201 &apps_smmu 0x1945 0x0 0x1>, + <0x202 &apps_smmu 0x1946 0x0 0x1>, + <0x300 &apps_smmu 0x1a22 0x0 0x1>; + + 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>; + }; + }; + }; --=20 2.34.1