[PATCH v3 15/15] arm64: dts: qcom: agatti: Add OPE node
From: Loic Poulain
Date: Thu May 07 2026 - 18:56:56 EST
Add the Offline Processing Engine (OPE) device tree node for the
Agatti platform (QCM2290). The node describes the five register
regions (top, bus_read, bus_write, pipeline, qos), clocks, interrupt,
interconnects, IOMMU mappings, and OPP table.
Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/agatti.dtsi | 71 ++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/agatti.dtsi b/arch/arm64/boot/dts/qcom/agatti.dtsi
index 6a6ab3f15c49eb1e8150f57198ffe2515fa9ae52..e93da2c64044d1f0d49b3ea41faa39cda42e86d4 100644
--- a/arch/arm64/boot/dts/qcom/agatti.dtsi
+++ b/arch/arm64/boot/dts/qcom/agatti.dtsi
@@ -1921,6 +1921,10 @@ &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
power-domains = <&gcc GCC_CAMSS_TOP_GDSC>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
status = "disabled";
ports {
@@ -1935,6 +1939,73 @@ port@1 {
reg = <1>;
};
};
+
+ camss_ope: isp@5c42400 {
+ compatible = "qcom,qcm2290-camss-ope";
+
+ reg = <0x0 0x5c42400 0x0 0x200>,
+ <0x0 0x5c42600 0x0 0x200>,
+ <0x0 0x5c42800 0x0 0x4400>,
+ <0x0 0x5c46c00 0x0 0x190>,
+ <0x0 0x5c46d90 0x0 0xa00>;
+ reg-names = "top",
+ "qos",
+ "pipeline",
+ "bus_read",
+ "bus_write";
+
+ clocks = <&gcc GCC_CAMSS_OPE_CLK>,
+ <&gcc GCC_CAMSS_OPE_AHB_CLK>,
+ <&gcc GCC_CAMSS_NRT_AXI_CLK>;
+ clock-names = "core",
+ "iface",
+ "data";
+
+ interrupts = <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>;
+
+ interconnects = <&bimc MASTER_APPSS_PROC RPM_ACTIVE_TAG
+ &config_noc SLAVE_CAMERA_CFG RPM_ACTIVE_TAG>,
+ <&mmnrt_virt MASTER_CAMNOC_SF RPM_ALWAYS_TAG
+ &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
+ interconnect-names = "config",
+ "data";
+
+ iommus = <&apps_smmu 0x820 0x0>,
+ <&apps_smmu 0x840 0x0>;
+
+ operating-points-v2 = <&ope_opp_table>;
+ power-domains = <&rpmpd QCM2290_VDDCX>;
+
+ ope_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-19200000 {
+ opp-hz = /bits/ 64 <19200000>;
+ required-opps = <&rpmpd_opp_min_svs>;
+ };
+
+ opp-200000000 {
+ opp-hz = /bits/ 64 <200000000>;
+ required-opps = <&rpmpd_opp_svs>;
+ };
+
+ opp-266600000 {
+ opp-hz = /bits/ 64 <266600000>;
+ required-opps = <&rpmpd_opp_svs_plus>;
+ };
+
+ opp-465000000 {
+ opp-hz = /bits/ 64 <465000000>;
+ required-opps = <&rpmpd_opp_nom>;
+ };
+
+ opp-580000000 {
+ opp-hz = /bits/ 64 <580000000>;
+ required-opps = <&rpmpd_opp_turbo>;
+ turbo-mode;
+ };
+ };
+ };
};
mdss: display-subsystem@5e00000 {
--
2.34.1