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 <[email protected]>
---
 arch/arm64/boot/dts/qcom/agatti.dtsi | 74 ++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/agatti.dtsi 
b/arch/arm64/boot/dts/qcom/agatti.dtsi
index 
f9b46cf1c6462a89784429565e1636ce2ba68d73..87bdf9df4b16f7f1b9a5129cf8cd81da1ca9da97
 100644
--- a/arch/arm64/boot/dts/qcom/agatti.dtsi
+++ b/arch/arm64/boot/dts/qcom/agatti.dtsi
@@ -1935,6 +1935,80 @@ port@1 {
                        };
                };
 
+               isp_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_AXI_CLK>,
+                                <&gcc GCC_CAMSS_OPE_CLK>,
+                                <&gcc GCC_CAMSS_OPE_AHB_CLK>,
+                                <&gcc GCC_CAMSS_NRT_AXI_CLK>,
+                                <&gcc GCC_CAMSS_TOP_AHB_CLK>;
+                       clock-names = "axi",
+                                     "core",
+                                     "iface",
+                                     "nrt",
+                                     "top";
+
+                       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 = <&gcc GCC_CAMSS_TOP_GDSC>,
+                                       <&rpmpd QCM2290_VDDCX>;
+                       power-domain-names = "camss",
+                                             "cx";
+
+                       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 {
                        compatible = "qcom,qcm2290-mdss";
                        reg = <0x0 0x05e00000 0x0 0x1000>;

-- 
2.34.1


Reply via email to