* Qualcomm Technologies, Inc. MSM Camera IFE CSID

Camera IFE CSID device provides the definitions for enabling
the IFE CSID hardware. It also provides the functions for the client
to control the IFE CSID hardware.

=======================
Required Node Structure
=======================
The IFE CSID device is described in one level of the device node.

======================================
First Level Node - CAM IFE CSID device
======================================
- cell-index
  Usage: required
  Value type: <u32>
  Definition: Should specify the hardware index id.

- compatible
  Usage: required
  Value type: <string>
  Definition: Should be "qcom,csid170", "qcom,csid170_200", "qcom,csid175",
	"qcom,csid175_200", "qcom,csid480", "qcom,csid570", "qcom,csid580",
	"qcom,csid680", "qcom,csid680_110", "qcom,csid165_204", "qcom,csid-lite170",
	"qcom,csid-lite175", "qcom,csid-lite480", "qcom,csid-custom480",
	"qcom,csid-lite580", "qcom,csid-lite580", "qcom,csid-custom580",
	"qcom,csid-lite680", "qcom,csid-lite680_110" or "qcom,csid-custom680",
	"qcom,csid-lite165".

- reg-names
  Usage: required
  Value type: <string>
  Definition: Should be "csid".

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

- reg-cam-base
  Usage: required
  Value type: <u32>
  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: <string>
  Definition: Name of the interrupt.

- interrupts
  Usage: Required
  Value type: <u32>
  Definition: Interrupt associated with IFE CSID HW.

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

- xxxx-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 IFE CSID HW.

- clocks
  Usage: required
  Value type: <phandle>
  Definition: List of clocks used for IFE CSID HW.

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

- clock-cntl-level
  Usage: required
  Value type: <string>
  Definition: All different clock level node can support.

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

- clock-control-debugfs
  Usage: optional
  Value type: <string>
  Definition: Enable/Disable clk rate control.

- shared-clks
  Usage: optional
  Value type: <u32>
  Definition: List of 0 or 1 values indicating whether shared clk or not.

Example:

cam_csid0: qcom,csid0@acb7000 {
	cell-index = <0>;
	compatible = "qcom,csid680";
	reg-names = "csid", "csid_top";
	reg = <0xacb7000 0xd00>,
		<0xacb6000 0x1000>;
	reg-cam-base = <0xb7000 0xb6000>;
	rt-wrapper-base = <0x62000>;
	interrupt-names = "csid";
	interrupts = <GIC_SPI 464 IRQ_TYPE_EDGE_RISING>;
	regulator-names = "camss";
	camss-supply = <&cam_cc_titan_top_gdsc>;
	shared-clks = <1 0 0 0 0 0>;
	clock-names =
		"csid_clk_src",
		"csid_clk",
		"cphy_rx_clk_src",
		"csiphy_rx_clk",
		"cpas_fast_ahb_src",
		"cpas_fast_ahb";
	clocks =
		<&clock_camcc CAM_CC_CSID_CLK_SRC>,
		<&clock_camcc CAM_CC_CSID_CLK>,
		<&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
		<&clock_camcc CAM_CC_CSID_CSIPHY_RX_CLK>,
		<&clock_camcc CAM_CC_FAST_AHB_CLK_SRC>,
		<&clock_camcc CAM_CC_CPAS_FAST_AHB_CLK>;
	clock-rates =
		<400000000 0 400000000 0 100000000 0>,
		<480000000 0 480000000 0 200000000 0>,
		<480000000 0 480000000 0 300000000 0>,
		<480000000 0 480000000 0 400000000 0>,
		<480000000 0 480000000 0 400000000 0>;
	clock-cntl-level = "lowsvs", "svs", "svs_l1", "nominal",
		"turbo";
	src-clock-name = "csid_clk_src";
	clock-control-debugfs = "true";
	status = "ok";
};
