Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
b294e36
FROMLIST: media: dt-bindings: qcom-kaanapali-iris: Add kaanapali vide…
Oct 17, 2025
5b0afec
FROMLIST: media: iris: Add platform data for kaanapali
Oct 17, 2025
9cf49c4
FROMLIST: media: iris: Enable Secure PAS support with IOMMU managed b…
mukeshojha-linux Feb 11, 2026
0dffeb1
PENDING: media: iris: update MDT PAS load call for new API
gouravk-qualcomm Apr 2, 2026
a8c200f
FROMLIST: media: qcom: venus: drop extra padding in NV12 raw size cal…
Mar 19, 2026
10e98dc
FROMLIST: media: qcom: venus: relax encoder frame/blur dimension step…
Mar 30, 2026
20c719d
FROMLIST: media: qcom: venus: relax encoder frame/blur step size on v6
Mar 30, 2026
149d8eb
FROMLIST: media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 de…
lumag Mar 29, 2026
aad8bb8
FROMLIST: media: qcom: venus: flip the venus/iris switch
lumag Apr 1, 2026
b3ce088
FROMLIST: media: iris: add FPS calculation and VPP FW overhead in fre…
Apr 1, 2026
12898b7
PENDING: media: iris: enable sm8550 context banks via init_cb_devs
Apr 7, 2026
bce5f60
PENDING: media: iris: add context bank devices using iommu-map
Mar 13, 2026
324a385
PENDING: media: iris: add helper to select context bank device
Mar 13, 2026
6bad098
PENDING: dt-bindings: media: iris: add sm8550 iris context bank funct…
gouravk-qualcomm Apr 10, 2026
89bb62a
FROMLIST: media: iris: switch to hardware mode after firmware boot
Mar 13, 2026
bbaaf66
FROMLIST: media: qcom: iris: drop pas_id from the iris_platform_data …
lumag Mar 29, 2026
c8f9604
FROMLIST: media: qcom: iris: use common set_preset_registers function
lumag Mar 29, 2026
8d81f20
FROMLIST: media: qcom: iris: don't use function indirection in gen2-s…
lumag Mar 29, 2026
99ca152
FROMLIST: media: qcom: iris: split HFI session ops from core ops
lumag Mar 29, 2026
b22a609
FROMLIST: media: qcom: iris: merge hfi_response_ops and hfi_command_ops
lumag Mar 29, 2026
560eafb
FROMLIST: media: qcom: iris: move get_instance to iris_hfi_sys_ops
lumag Mar 29, 2026
2c26be0
FROMLIST: media: qcom: iris: drop hw_response_timeout_val from platfo…
lumag Mar 29, 2026
7485216
FROMLIST: media: qcom: iris: split firmware_data from raw platform data
lumag Mar 29, 2026
132beeb
FROMLIST: media: qcom: iris: split platform data from firmware data
lumag Mar 29, 2026
e218861
FROMLIST: media: qcom: iris: use new firmware name for SM8250
lumag Mar 29, 2026
3003d30
FROMLIST: media: qcom: iris: extract firmware description data
lumag Mar 29, 2026
dba3ddf
Revert "PENDING: media: iris: update MDT PAS load call for new API"
dikshita-agarwal Apr 19, 2026
f3333c3
media: iris: Skip UBWC configuration when not supported
dikshita-agarwal Apr 7, 2026
6b93503
media: iris: Filter UBWC raw formats based on hardware capabilities
dikshita-agarwal Apr 7, 2026
b05dc32
media: iris: Introduce set_preset_register as a vpu_op
dikshita-agarwal Mar 17, 2026
bea0a98
media: iris: Introduce interrupt_init as a vpu_op
dikshita-agarwal Mar 17, 2026
5101832
media: iris: add vpu op hook to disable ARP buffer
dikshita-agarwal Apr 1, 2026
36603b9
media: iris: Add platform data field for watchdog interrupt mask
dikshita-agarwal Apr 6, 2026
a6da7a2
media: iris: Add platform flag for instantaneous bandwidth voting
dikshita-agarwal Apr 6, 2026
5a54122
media: iris: Add framework support for AR50_LITE video core
dikshita-agarwal Mar 17, 2026
6161b88
media: iris: Introduce buffer size calculations for AR50LT
dikshita-agarwal Mar 17, 2026
4790e71
media: iris: Add qcm2290 DT compatible and platform data
dikshita-agarwal Mar 17, 2026
84d903c
dt-bindings: media: qcom,qcm2290-venus: document shikra Iris compatible
dikshita-agarwal Apr 9, 2026
20b8101
media: venus: prefer iris driver for qcm2290 when IRIS is enabled
dikshita-agarwal Apr 17, 2026
9b8da70
media: iris: Add support for multi_slice in iris encoder
sachinku173 May 25, 2026
0e200cf
media: iris: Add multi slice support for qcm2290
sachinku173 May 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
231 changes: 231 additions & 0 deletions Documentation/devicetree/bindings/media/qcom,kaanapali-iris.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,231 @@
# 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 <vikash.garodia@oss.qualcomm.com>
- Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>

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

iommus:
minItems: 3
maxItems: 8

memory-region:
minItems: 1
maxItems: 2

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_freerun_reset
- const: vcodec0_core_freerun_reset

required:
- compatible
- reg
- clocks
- clock-names
- dma-coherent
- interconnects
- interconnect-names
- interrupts
- iommus
- power-domains
- power-domain-names
- resets
- reset-names

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/qcom,rpmhpd.h>

video-codec@2000000 {
compatible = "qcom,kaanapali-iris";
reg = <0x02000000 0xf0000>;

clocks = <&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 = "iface",
"core",
"vcodec0_core",
"iface1",
"core_freerun",
"vcodec0_core_freerun",
"vcodec_bse",
"vcodec_vpp0",
"vcodec_vpp1",
"vcodec_apv";

dma-coherent;

interconnects = <&gem_noc_master_appss_proc &config_noc_slave_venus_cfg>,
<&mmss_noc_master_video_mvp &mc_virt_slave_ebi1>;
interconnect-names = "cpu-cfg",
"video-mem";

interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;

iommus = <&apps_smmu 0x1940 0x0>,
<&apps_smmu 0x1944 0x0>,
<&apps_smmu 0x1a20 0x0>,
<&apps_smmu 0x1943 0x0>;

operating-points-v2 = <&iris_opp_table>;

memory-region = <&video_mem>, <&iris_resv>;

power-domains = <&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 = "venus",
"vcodec0",
"mxc",
"mmcx",
"vpp0",
"vpp1",
"apv";

resets = <&gcc_video_axi0_clk_ares>,
<&gcc_video_axi1_clk_ares>,
<&video_cc_mvs0c_freerun_clk_ares>,
<&video_cc_mvs0_freerun_clk_ares>;
reset-names = "bus0",
"bus1",
"core_freerun_reset",
"vcodec0_core_freerun_reset";

iris_opp_table: opp-table {
compatible = "operating-points-v2";

opp-240000000 {
opp-hz = /bits/ 64 <240000000 240000000 240000000 360000000>;
required-opps = <&rpmhpd_opp_low_svs_d1>,
<&rpmhpd_opp_low_svs_d1>;
};

opp-338000000 {
opp-hz = /bits/ 64 <338000000 338000000 338000000 507000000>;
required-opps = <&rpmhpd_opp_low_svs>,
<&rpmhpd_opp_low_svs>;
};

opp-420000000 {
opp-hz = /bits/ 64 <420000000 420000000 420000000 630000000>;
required-opps = <&rpmhpd_opp_svs>,
<&rpmhpd_opp_svs>;
};

opp-444000000 {
opp-hz = /bits/ 64 <444000000 444000000 444000000 666000000>;
required-opps = <&rpmhpd_opp_svs_l1>,
<&rpmhpd_opp_svs_l1>;
};

opp-533000000 {
opp-hz = /bits/ 64 <533000000 533000000 533000000 800000000>;
required-opps = <&rpmhpd_opp_nom>,
<&rpmhpd_opp_nom>;
};

opp-630000000 {
opp-hz = /bits/ 64 <630000000 630000000 630000000 1104000000>;
required-opps = <&rpmhpd_opp_turbo>,
<&rpmhpd_opp_turbo>;
};

opp-800000000 {
opp-hz = /bits/ 64 <800000000 630000000 630000000 1260000000>;
required-opps = <&rpmhpd_opp_turbo_l0>,
<&rpmhpd_opp_turbo_l0>;
};

opp-1000000000 {
opp-hz = /bits/ 64 <1000000000 630000000 850000000 1260000000>;
required-opps = <&rpmhpd_opp_turbo_l1>,
<&rpmhpd_opp_turbo_l1>;
};
};
};
22 changes: 18 additions & 4 deletions Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,27 @@ description:

allOf:
- $ref: qcom,venus-common.yaml#
- if:
properties:
compatible:
contains:
const: qcom,shikra-iris
then:
properties:
iommus:
maxItems: 1
else:
properties:
iommus:
maxItems: 2

properties:
compatible:
const: qcom,qcm2290-venus
oneOf:
- items:
- const: qcom,shikra-iris
- const: qcom,qcm2290-venus
- const: qcom,qcm2290-venus

power-domains:
maxItems: 3
Expand All @@ -41,9 +58,6 @@ properties:
- const: vcodec0_core
- const: vcodec0_bus

iommus:
maxItems: 2

interconnects:
maxItems: 2

Expand Down
12 changes: 7 additions & 5 deletions drivers/media/platform/qcom/iris/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,18 @@ qcom-iris-objs += iris_buffer.o \
iris_ctrls.o \
iris_firmware.o \
iris_hfi_common.o \
iris_hfi_gen1.o \
iris_hfi_gen1_command.o \
iris_hfi_gen1_response.o \
iris_hfi_gen2.o \
iris_hfi_gen2_command.o \
iris_hfi_gen2_packet.o \
iris_hfi_gen2_response.o \
iris_hfi_queue.o \
iris_platform_gen2.o \
iris_platform_vpu2.o \
iris_platform_vpu3x.o \
iris_platform_vpu4x.o \
iris_platform_vpu_ar50lt.o \
iris_power.o \
iris_probe.o \
iris_resources.o \
Expand All @@ -23,11 +28,8 @@ qcom-iris-objs += iris_buffer.o \
iris_vpu2.o \
iris_vpu3x.o \
iris_vpu4x.o \
iris_vpu_ar50lt.o \
iris_vpu_buffer.o \
iris_vpu_common.o \

ifeq ($(CONFIG_VIDEO_QCOM_VENUS),)
qcom-iris-objs += iris_platform_gen1.o
endif

obj-$(CONFIG_VIDEO_QCOM_IRIS) += qcom-iris.o
Loading