* Qualcomm Technologies, Inc. MSM Camera LRME

The MSM camera Low Resolution Motion Estimation device provides dependency
definitions for enabling Camera LRME HW. MSM camera LRME is implemented in
multiple device nodes. The root LRME device node has properties defined to
hint the driver about the LRME HW nodes available during the probe sequence.
Each node has multiple properties defined for interrupts, clocks and
regulators.

=======================
Required Node Structure
=======================
LRME root interface node takes care of the handling LRME high level
driver handling and controls underlying LRME hardware present.

- compatible
  Usage: required
  Value type: <string>
  Definition: Should be "qcom,cam-lrme"

- compat-hw-name
  Usage: required
  Value type: <string>
  Definition: Should be "qcom,lrme"

- num-lrme
  Usage: required
  Value type: <u32>
  Definition: Number of supported LRME HW blocks

Example:
	qcom,cam-lrme {
		compatible = "qcom,cam-lrme";
		compat-hw-name = "qcom,lrme";
		num-lrme = <1>;
	};

=======================
Required Node Structure
=======================
LRME Node provides interface for Low Resolution Motion Estimation hardware
driver about the device register map, interrupt map, clocks, regulators.

- cell-index
  Usage: required
  Value type: <u32>
  Definition: Node instance number

- compatible
  Usage: required
  Value type: <string>
  Definition: Should be "qcom,lrme"

- reg-names
  Usage: optional
  Value type: <string>
  Definition: Name of the register resources

- reg
  Usage: optional
  Value type: <u32>
  Definition: Register values

- reg-cam-base
  Usage: optional
  Value type: <u32>
  Definition: Offset of the register space compared to
		to Camera base register space

- interrupt-names
  Usage: optional
  Value type: <string>
  Definition: Name of the interrupt

- interrupts
  Usage: optional
  Value type: <u32>
  Definition: Interrupt line associated with LRME HW

- regulator-names
  Usage: required
  Value type: <string>
  Definition: Name of the regulator resources for LRME HW

- camss-supply
  Usage: required
  Value type: <phandle>
  Definition: Regulator reference corresponding to the names listed
		in "regulator-names"

- clock-names
  Usage: required
  Value type: <string>
  Definition: List of clock names required for LRME HW

- clocks
  Usage: required
  Value type: <phandle>
  Definition: List of clocks required for LRME HW

- clock-rates
  Usage: required
  Value type: <u32>
  Definition: List of clocks rates

- clock-cntl-level
  Usage: required
  Value type: <string>
  Definition: List of strings corresponds clock-rates levels
  Supported strings: minsvs, lowsvs, svs, svs_l1, nominal, turbo

- src-clock-name
  Usage: required
  Value type: <string>
  Definition: Source clock name

Examples:
	cam_lrme: qcom,lrme@ac6b000 {
		cell-index = <0>;
		compatible = "qcom,lrme";
		reg-names = "lrme";
		reg = <0xac6b000 0xa00>;
		reg-cam-base = <0x6b000>;
		interrupt-names = "lrme";
		interrupts = <0 476 0>;
		regulator-names = "camss";
		camss-supply = <&titan_top_gdsc>;
		clock-names = "camera_ahb",
			"camera_axi",
			"soc_ahb_clk",
			"cpas_ahb_clk",
			"camnoc_axi_clk",
			"lrme_clk_src",
			"lrme_clk";
		clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>,
			<&clock_gcc GCC_CAMERA_AXI_CLK>,
			<&clock_camcc CAM_CC_SOC_AHB_CLK>,
			<&clock_camcc CAM_CC_CPAS_AHB_CLK>,
			<&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
			<&clock_camcc CAM_CC_LRME_CLK_SRC>,
			<&clock_camcc CAM_CC_LRME_CLK>;
		clock-rates = <0 0 0 0 0 0 0>,
			<0 0 0 0 0 19200000 19200000>,
			<0 0 0 0 0 19200000 19200000>,
			<0 0 0 0 0 19200000 19200000>;
		clock-cntl-level = "lowsvs", "svs", "svs_l1", "turbo";
		src-clock-name = "lrme_core_clk_src";
	};
