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-mdm9607", "qcom,rpmcc"
			"qcom,rpmcc-msm8660", "qcom,rpmcc"
			"qcom,rpmcc-apq8060", "qcom,rpmcc"
			"qcom,rpmcc-msm8226", "qcom,rpmcc"
			"qcom,rpmcc-msm8916", "qcom,rpmcc"
			"qcom,rpmcc-msm8936", "qcom,rpmcc"
			"qcom,rpmcc-msm8953", "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-qcm2290", "qcom,rpmcc"
			"qcom,rpmcc-qcs404", "qcom,rpmcc"
			"qcom,rpmcc-sdm660", "qcom,rpmcc"
			"qcom,rpmcc-sm6115", "qcom,rpmcc"
			"qcom,rpmcc-sm6125", "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>;
				};
			};
		};
	};
