* Qualcomm Technologies, Inc. MSM Camera SFE Camera SFE device provides the definitions for enabling the SFE hardware. It also provides the functions for the client to control the SFE hardware. ======================= Required Node Structure ======================= The SFE device is described in one level of the device node. ====================================== First Level Node - CAM SFE 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,sfe680". - 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 SFE HW. - regulator-names Usage: required Value type: Definition: Name of the regulator resources for SFE 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 SFE HW. - clocks Usage: required Value type: Definition: List of clocks used for SFE HW. - clock-rates Usage: required Value type: Definition: List of clocks rates. - clock-cntl-level Usage: required Value type: Definition: All different clock level node can support. - src-clock-name Usage: required Value type: Definition: Source clock name. - scl-clk-names Usage: required Value type: Definition: Source clock name for register write. - clock-control-debugfs Usage: optional Value type: Definition: Enable/Disable clk rate control. - vmrm-resource-ids Usage: optional Value type: Definition: should specify vmrm resource id list order is mem label, mem tag, irq1 label, irq2 label. Example: cam_sfe0: qcom,sfe0@ac9e000 { cell-index = <0>; compatible = "qcom,sfe680"; reg-names = "sfe0"; reg = <0xac9e000 0x8000>; reg-cam-base = <0x9e000>; rt-wrapper-base = <0x62000>; interrupt-names = "sfe"; interrupts = ; regulator-names = "camss", "sfe0"; camss-supply = <&cam_cc_titan_top_gdsc>; sfe0-supply = <&cam_cc_sfe_0_gdsc>; clock-names = "sfe_0_ahb", "sfe_clk_src", "sfe_clk"; clocks = <&clock_camcc CAM_CC_SFE_0_FAST_AHB_CLK>, <&clock_camcc CAM_CC_SFE_0_CLK_SRC>, <&clock_camcc CAM_CC_SFE_0_CLK>; clock-rates = <100000000 432000000 0>, <200000000 594000000 0>, <300000000 675000000 0>, <400000000 785000000 0>, <400000000 785000000 0>; clock-cntl-level = "lowsvs", "svs", "svs_l1", "nominal", "turbo"; src-clock-name = "sfe_clk_src"; scl-clk-names = "sfe_0_ahb"; clock-control-debugfs = "true"; vmrm-resource-ids = <16 16 16>; status = "ok"; };