* Qualcomm Technologies, Inc. MSM Camera OPE The ope device node has properties defined to hint the driver about the number of OPE nodes available during the probe sequence. Each node has multiple properties defined for interrupts, clocks and regulators. ======================= Required Node Structure ======================= OPE root interface node takes care of the handling account for number of OPE devices present on the hardware. - compatible Usage: required Value type: Definition: Should be "qcom,cam-ope". - compat-hw-name Usage: required Value type: Definition: Should be "qcom,ope". - num-ope Usage: required Value type: Definition: Number of supported OPE HW blocks. Example: qcom,cam-ope { compatible = "qcom,cam-ope"; compat-hw-name = "qcom,ope"; num-ope = <2>; status = "ok"; }; ======================= Required Node Structure ======================= OPE Node provides interface for Image Control Processor driver about the OPE register map, interrupt map, clocks, regulators. - cell-index Usage: required Value type: Definition: Node instance number. - compatible Usage: required Value type: Definition: Should be "qcom,ope". - reg-names Usage: optional Value type: Definition: Name of the register resources. - reg Usage: optional Value type: Definition: Register values. - reg-cam-base Usage: optional Value type: Definition: Register values. - interrupt-names Usage: optional Value type: Definition: Name of the interrupt. - interrupts Usage: optional Value type: Definition: Interrupt associated with OPE HW. - regulator-names Usage: required Value type: Definition: Name of the regulator resources for OPE HW. - camss-supply Usage: required Value type: Definition: Regulator reference corresponding to the names listed in "regulator-names". - clock-names Usage: required Value type: Definition: List of clock names required for CDM HW. - src-clock-name Usage: required Value type: Definition: Source clock name. - clock-control-debugfs Usage: optional Value type: Definition: Enable/Disable clk rate control. - clocks Usage: required Value type: Definition: List of clocks used for CDM HW. - clock-cntl-level Usage: required Value type: Definition: List of strings corresponds clock-rates levels. Supported strings: lowsvs, svs, svs_l1, nominal, turbo. - clock-rates Usage: required Value type: Definition: List of clocks rates. Examples: qcom,cam-ope { compatible = "qcom,cam-ope"; compat-hw-name = "qcom,ope"; num-ope = <1>; status = "ok"; }; ope: qcom,ope@ac00000 { cell-index = <0>; compatible = "qcom,ope"; reg = <0x42000 0x400>, <0x42400 0x200>, <0x42600 0x200>, <0x42800 0x4400>, <0x46c00 0x190>, <0x46d90 0x1270>; reg-names = "ope_cdm", "ope_top", "ope_qos", "ope_pp", "ope_bus_rd", "ope_bus_wr"; reg-cam-base = <0x42000 0x42400 0x42600 0x42800 0x46c00 0x46d90>; interrupts = ; interrupt-names = "ope"; regulator-names = "camss-vdd"; camss-vdd-supply = <&gcc_camss_top_gdsc>; clock-names = "ope_ahb_clk_src", "ope_ahb_clk", "ope_clk_src", "ope_clk"; clocks = <&gcc GCC_CAMSS_OPE_AHB_CLK_SRC>, <&gcc GCC_CAMSS_OPE_AHB_CLK>, <&gcc GCC_CAMSS_OPE_CLK_SRC>, <&gcc GCC_CAMSS_OPE_CLK>; clock-rates = <200000000 0 480000000 0>, <400000000 0 600000000 0>; clock-cntl-level = "svs", "turbo"; src-clock-name = "ope_clk_src"; status = "ok"; };