Qualcomm RPM Clock Controller Binding
------------------------------------------------
The RPM is a dedicated hardware engine for managing the shared
SoC resources in order to keep the lowest power profile. It
communicates with other hardware subsystems via shared memory
and accepts clock requests, aggregates the requests and turns
the clocks on/off or scales them on demand.

Required properties :
- compatible : shall contain only one of the following. The generic
               compatible "qcom,rpmcc" should be also included.

			"qcom,rpmcc-msm8660", "qcom,rpmcc"
			"qcom,rpmcc-apq8060", "qcom,rpmcc"
			"qcom,rpmcc-msm8916", "qcom,rpmcc"
			"qcom,rpmcc-msm8936", "qcom,rpmcc"
			"qcom,rpmcc-msm8974", "qcom,rpmcc"
			"qcom,rpmcc-msm8976", "qcom,rpmcc"
			"qcom,rpmcc-apq8064", "qcom,rpmcc"
			"qcom,rpmcc-ipq806x", "qcom,rpmcc"
			"qcom,rpmcc-msm8992",·"qcom,rpmcc"
			"qcom,rpmcc-msm8994",·"qcom,rpmcc"
			"qcom,rpmcc-msm8996", "qcom,rpmcc"
			"qcom,rpmcc-msm8998", "qcom,rpmcc"
			"qcom,rpmcc-qcs404", "qcom,rpmcc"
			"qcom,rpmcc-sdm660", "qcom,rpmcc"

- #clock-cells : shall contain 1

The clock enumerators are defined in <dt-bindings/clock/qcom,rpmcc.h>
and come in pairs: FOO_CLK followed by FOO_A_CLK. The latter clock
is an "active" clock, which means that the consumer only care that the
clock is available when the apps CPU subsystem is active, i.e. not
suspended or in deep idle. If it is important that the clock keeps running
during system suspend, you need to specify the non-active clock, the one
not containing *_A_* in the enumerator name.

Example:
	smd {
		compatible = "qcom,smd";

		rpm {
			interrupts = <0 168 1>;
			qcom,ipc = <&apcs 8 0>;
			qcom,smd-edge = <15>;

			rpm_requests {
				compatible = "qcom,rpm-msm8916";
				qcom,smd-channels = "rpm_requests";

				rpmcc: clock-controller {
					compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
					#clock-cells = <1>;
				};
			};
		};
	};
