* Qualcomm Technologies, Inc. MSM Camera VFE Camera VFE device provides the definitions for enabling the VFE hardware. It also provides the functions for the client to control the VFE hardware. ======================= Required Node Structure ======================= The VFE device is described in one level of the device node. ====================================== First Level Node - CAM VFE device ====================================== Required properties: - cell-index Usage: required Value type: Definition: Should specify the hardware index id. - compatible Usage: required Value type: Definition: Should specify the compatibility string for matching the driver. e.g. "qcom,vfe680", "qcom,vfe680_110", "qcom,vfe580", "qcom,vfe580", "qcom,vfe480", "qcom,vfe175", "qcom,vfe170", "qcom,vfe175_130", "qcom,vfe170_150", "qcom,vfe165_160", "qcom,vfe-lite680", "qcom,vfe-lite680_110", "qcom,vfe-lite580",, "qcom,vfe-lite580", "qcom,vfe-lite480", "qcom,vfe-lite175", "qcom,vfe-lite175_130" or "qcom,vfe-lite170", "qcom,vfe-lite165". - reg-names Usage: required Value type: Definition: Should specify the name of the register block. - reg Usage: required Value type: Definition: Register values. - reg-cam-base Usage: required Value type: Definition: List of bases. - rt-wrapper-base Usage: required Value type: u32 Definition: Titan offset of start of the RT Wrapper. - interrupt-names Usage: Required Value type: Definition: Name of the interrupt. - interrupts Usage: Required Value type: Definition: Interrupt associated with VFE HW. - regulator-names Usage: required Value type: Definition: Name of the regulator resources for VFE HW. - xxxx-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 VFE HW. - clocks Usage: required Value type: Definition: List of clocks used for VFE HW. - clock-rates Usage: required Value type: Definition: List of clocks rates. - src-clock-name Usage: required Value type: Definition: Source clock name. Optional properties: - clock-names-option Usage: optional Value type: Definition: Optional clock names. - clocks-option Usage: required if clock-names-option defined Value type: Definition: List of optinal clocks used for VFE HW. - clock-rates-option Usage: required if clock-names-option defined Value type: Definition: List of clocks rates for optional clocks. - clock-control-debugfs Usage: optional Value type: Definition: Enable/Disable clk rate control. - qcom,cam-cx-ipeak: Usage: optional Value type: phandle - phandle of CX Ipeak device node bit - Every bit corresponds to a client of CX Ipeak Definition: CX Ipeak is a mitigation scheme which throttles camera frequency if all the clients are running at their respective threshold frequencies to limit CX peak current. driver in the relevant register. - scl-clk-names: Usage: optional Value type: Definition: Scalable clock names to identify which clocks needs to update along with source clock. - cam_hw_pid: Usage: optional Value type: Definition: HW unique Pid values Example: cam_vfe0: qcom,ife0@ac62000 { cell-index = <0>; compatible = "qcom,vfe680"; reg-names = "ife", "cam_camnoc"; reg = <0xac62000 0xF000>, <0xac19000 0x9000>; reg-cam-base = <0x62000 0x19000>; rt-wrapper-base = <0x62000>; interrupt-names = "ife"; interrupts = ; regulator-names = "camss", "ife0"; camss-supply = <&cam_cc_titan_top_gdsc>; ife0-supply = <&cam_cc_ife_0_gdsc>; clock-names = "ife_0_ahb_src", "ife_0_ahb", "ife_clk_src", "ife_clk"; clocks = <&clock_camcc CAM_CC_FAST_AHB_CLK_SRC>, <&clock_camcc CAM_CC_IFE_0_FAST_AHB_CLK>, <&clock_camcc CAM_CC_IFE_0_CLK_SRC>, <&clock_camcc CAM_CC_IFE_0_CLK>; clock-rates = <100000000 0 432000000 0>, <200000000 0 594000000 0>, <300000000 0 675000000 0>, <400000000 0 785000000 0>, <400000000 0 785000000 0>; clock-cntl-level = "lowsvs", "svs", "svs_l1", "nominal", "turbo"; src-clock-name = "ife_clk_src"; scl-clk-names = "ife_0_ahb"; clock-control-debugfs = "true"; clock-names-option = "ife_dsp_clk"; clocks-option = <&clock_camcc CAM_CC_IFE_0_DSP_CLK>; clock-rates-option = <594000000>; ubwc-static-cfg = <0x1026 0x1036>; cam_hw_pid = <16 28 20 8>; status = "ok"; };