* Qualcomm MSM ISPIF

Required properties:
- cell-index: ispif hardware core index
- compatible :
    - "qcom,ispif"
    - "qcom,ispif-v3.0"
- reg : offset and length of the register set for the device
    for the ispif operating in compatible mode.
- reg-names : should specify relevant names to each reg property defined.
- interrupts : should contain the ispif interrupt.
- interrupt-names : should specify relevant names to each interrupts
  property defined.
- camss-vdd-supply: phandle to GDSC regulator.
- mmagic-vdd-supply: phandle to mmagic regulator.
- vfe0-vdd-supply: phandle to vfe0 regulator.
- vfe1-vdd-supply: phandle to vfe1 regulator.
- clocks: list of phandles to the clock controller device and coresponding
  clock names.
- clock-names: name of the clocks required for the device used by the consumer.
- qcom,clock-rates: clock rate in Hz.
- qcom,clock-control: The valid fields are "NO_SET_RATE", "INIT_RATE" and
  "SET_RATE". "NO_SET_RATE" the corresponding clock is enabled without setting
  the rate assuming some other driver has already set it to appropriate rate.
  "INIT_RATE" clock rate is not queried assuming some other driver has set
  the clock rate and ispif will set the the clock to this rate.
  "SET_RATE" clock is enabled and the rate is set to the value specified
  in the property qcom,clock-rates.

Optional properties:
- qcom,num-isps: The number of ISPs the ISPIF module is connected to. If not set
  the default value used is 1

Example:

	qcom,ispif@fda0a000 {
	cell-index = <0>;
	compatible = "qcom,ispif";
	reg = <0xfda0a000 0x300>;
	reg-names = "ispif";
	interrupts = <0 55 0>;
	interrupt-names = "ispif";
	camss-vdd-supply = <&gdsc_camss_top>;
	mmagic-vdd-supply = <&gdsc_mmagic_camss>;
	vfe0-vdd-supply = <&gdsc_vfe0>;
	vfe1-vdd-supply = <&gdsc_vfe1>;
	clocks = <&clock_mmss clk_camss_ispif_ahb_clk>,
		<&clock_mmss clk_csi0_clk_src>,
		<&clock_mmss clk_camss_csi0_clk>,
		<&clock_mmss clk_camss_csi0rdi_clk>,
		<&clock_mmss clk_camss_csi0pix_clk>,
		<&clock_mmss clk_csi1_clk_src>,
		<&clock_mmss clk_camss_csi1_clk>,
		<&clock_mmss clk_camss_csi1rdi_clk>,
		<&clock_mmss clk_camss_csi1pix_clk>,
		<&clock_mmss clk_csi2_clk_src>,
		<&clock_mmss clk_camss_csi2_clk>,
		<&clock_mmss clk_camss_csi2rdi_clk>,
		<&clock_mmss clk_camss_csi2pix_clk>,
		<&clock_mmss clk_csi3_clk_src>,
		<&clock_mmss clk_camss_csi3_clk>,
		<&clock_mmss clk_camss_csi3rdi_clk>,
		<&clock_mmss clk_camss_csi3pix_clk>,
		<&clock_mmss clk_vfe0_clk_src>,
		<&clock_mmss clk_camss_vfe0_clk>,
		<&clock_mmss clk_camss_csi_vfe0_clk>,
		<&clock_mmss clk_vfe1_clk_src>,
		<&clock_mmss clk_camss_vfe1_clk>,
		<&clock_mmss clk_camss_csi_vfe1_clk>;
	clock-names = "ispif_ahb_clk",
		"csi0_src_clk", "csi0_clk",
		"csi0_pix_clk", "csi0_rdi_clk",
		"csi1_src_clk", "csi1_clk",
		"csi1_pix_clk", "csi1_rdi_clk",
		"csi2_src_clk", "csi2_clk",
		"csi2_pix_clk", "csi2_rdi_clk",
		"csi3_src_clk", "csi3_clk",
		"csi3_pix_clk", "csi3_rdi_clk",
		"vfe0_clk_src", "camss_vfe_vfe0_clk", "camss_csi_vfe0_clk",
		"vfe1_clk_src", "camss_vfe_vfe1_clk", "camss_csi_vfe1_clk";
	qcom,clock-rates = <0
		200000000 0 0 0
		200000000 0 0 0
		200000000 0 0 0
		200000000 0 0 0
		0 0 0
		0 0 0>;
	qcom,clock-control = "NO_SET_RATE",
		"SET_RATE", "NO_SET_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"SET_RATE", "NO_SET_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"SET_RATE", "NO_SET_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"SET_RATE", "NO_SET_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"INIT_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"INIT_RATE", "NO_SET_RATE", "NO_SET_RATE";

	};

or

	qcom,ispif@fda0a000 {
	cell-index = <0>;
	compatible = "qcom,ispif-v3.0", "qcom,ispif";
	reg = <0xfda0a000 0x300>;
	reg-names = "ispif";
	interrupts = <0 55 0>;
	interrupt-names = "ispif";
	qcom,num-isps = <2>
	vdd-supply = <&gdsc_camss_top>;
	clocks = <&clock_mmss clk_camss_ispif_ahb_clk>,
		<&clock_mmss clk_csi0_clk_src>,
		<&clock_mmss clk_camss_csi0_clk>,
		<&clock_mmss clk_camss_csi0rdi_clk>,
		<&clock_mmss clk_camss_csi0pix_clk>,
		<&clock_mmss clk_csi1_clk_src>,
		<&clock_mmss clk_camss_csi1_clk>,
		<&clock_mmss clk_camss_csi1rdi_clk>,
		<&clock_mmss clk_camss_csi1pix_clk>,
		<&clock_mmss clk_csi2_clk_src>,
		<&clock_mmss clk_camss_csi2_clk>,
		<&clock_mmss clk_camss_csi2rdi_clk>,
		<&clock_mmss clk_camss_csi2pix_clk>,
		<&clock_mmss clk_csi3_clk_src>,
		<&clock_mmss clk_camss_csi3_clk>,
		<&clock_mmss clk_camss_csi3rdi_clk>,
		<&clock_mmss clk_camss_csi3pix_clk>,
		<&clock_mmss clk_vfe0_clk_src>,
		<&clock_mmss clk_camss_vfe0_clk>,
		<&clock_mmss clk_camss_csi_vfe0_clk>,
		<&clock_mmss clk_vfe1_clk_src>,
		<&clock_mmss clk_camss_vfe1_clk>,
		<&clock_mmss clk_camss_csi_vfe1_clk>;
	clock-names = "ispif_ahb_clk",
		"csi0_src_clk", "csi0_clk",
		"csi0_pix_clk", "csi0_rdi_clk",
		"csi1_src_clk", "csi1_clk",
		"csi1_pix_clk", "csi1_rdi_clk",
		"csi2_src_clk", "csi2_clk",
		"csi2_pix_clk", "csi2_rdi_clk",
		"csi3_src_clk", "csi3_clk",
		"csi3_pix_clk", "csi3_rdi_clk",
		"vfe0_clk_src", "camss_vfe_vfe0_clk", "camss_csi_vfe0_clk",
		"vfe1_clk_src", "camss_vfe_vfe1_clk", "camss_csi_vfe1_clk";
	qcom,clock-rates = <0
		200000000 0 0 0
		200000000 0 0 0
		200000000 0 0 0
		200000000 0 0 0
		0 0 0
		0 0 0>;
	qcom,clock-control = "NO_SET_RATE",
		"SET_RATE", "NO_SET_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"SET_RATE", "NO_SET_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"SET_RATE", "NO_SET_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"SET_RATE", "NO_SET_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"INIT_RATE", "NO_SET_RATE", "NO_SET_RATE",
		"INIT_RATE", "NO_SET_RATE", "NO_SET_RATE";

	};

