Qualcomm MSM 8996 CPU clock tree

clock-cpu-8996 is a device that represents the MSM 8996 CPU subsystem
clock tree. It lists the various power supplies that need to be scaled when
the clocks are scaled and also other HW specific parameters like fmax tables,
PLL FMAXes etc.

Required properties:
- compatible:		Must be either "qcom,cpu-clock-8996" or
			"qcom,cpu-clock-8996-v3" or "qcom,cpu-clock-8996-pro"
			or "qcom,cpu-clock-8996-auto"
- reg:			Pairs of physical base addresses and region sizes of
			memory mapped registers.
- reg-names:		Names of the bases for the above registers. Expected
			bases are:
			"pwrcl_pll", "perfcl_pll", "cbf_pll", "pwrcl_mux",
			"perfcl_mux", "cbf_mux", "efuse";
- vdd-perfcl-supply:	The regulator powering the power cluster
- vdd-pwrcl-supply:	The regulator powering the perf cluster
- vdd-cbf-supply:	The regulator powering the CBF interconnect
- vdd-dig-supply:	The regulator powering the cluster PLLs
- qcom,pwrcl-speedbinY-vZ:
			A table of CPU frequency (Hz) to voltage (corner)
			mapping that represents the max frequency possible
			for each supported voltage level for the power cluster.
			'Y' is the speed bin into which the device falls into -
			a bin will have unique frequency-voltage relationships.
			'Z' is the characterization version, implying that
			characterization (deciding what speed bin a device
			falls into) methods and/or encoding may change. The
			values 'Y' and 'Z' are read from efuse registers, and
			the right table is picked from multiple possible tables.
- qcom,perfcl-speedbinY-vZ:
			Similar to the qcom,pwrcl-speedbinY-vZ property above,
			except this frequency to voltage table is applied to the
			clock for the perf cluster.
- qcom,cbf-speedbinY-vZ:
			Similar to the qcom,perfcl-speedbinY-vZ property above,
			except this frequency to voltage table is applied to the
			clock for the CBF.
- cbf-dev:		The CBF cache device to which the OPP table for the
			CBF clock domain will be added.

Optional properties:
- qcom,pwrcl-early-boot-freq:	Power cluster early boot up frequency in HZ.
- qcom,perfcl-early-boot-freq:	Perf cluster early boot up frequency in HZ.

Example:
	clock_cpu: qcom,cpu-clock-8996@ {
		compatible = "qcom,cpu-clock-8996";
		reg = <0x06400000 0x1000>,
		      <0x06480000 0x1000>,
		      <0x09A20000 0x1000>,
		      <0x06400000 0x1000>,
		      <0x06480000 0x1000>,
		      <0x09A11000 0x1000>,
		      <0x00070130 0x8>;
		reg-names = "pwrcl_pll", "perfcl_pll", "cbf_pll", "pwrcl_mux", "perfcl_mux", "cbf_mux", "efuse";
		vdd-pwrcl-supply = <&apc_vreg_corner>;
		vdd-perfcl-supply = <&apc_vreg_corner>;
		vdd-cbf-supply = <&apc_vreg_corner>;
		vdd-dig-supply = <&pm8994_s1_corner_ao>;
		qcom,pwrcl-speedbin0-v0 =
			<          0  0 >,
			<  300000000  1 >,
			<  345600000  2 >,
			<  422400000  3 >,
			< 1459200000 18 >;
		qcom,perfcl-speedbin0-v0 =
			<          0  0 >,
			<  300000000  1 >,
			<  345600000  2 >,
			<  422400000  3 >,
			< 1593600000 18 >;
		qcom,cbf-speedbin0-v0 =
			<	   0  0 >,
			<  300000000  1 >,
			<  384000000  3 >,
			< 1036800000 18 >;
		clock-names = "xo_ao", "aux_clk";
		clocks = <&clock_gcc clk_cxo_clk_src_ao>,
			 <&clock_gcc clk_gpll0_out_main>;
		#clock-cells = <1>;
	};
