clk: x86: Rename clk-lpt to more specific clk-lpss-atom
[platform/kernel/linux-rpi.git] / Documentation / devicetree / bindings / clock / qcom,rpmcc.txt
1 Qualcomm RPM Clock Controller Binding
2 ------------------------------------------------
3 The RPM is a dedicated hardware engine for managing the shared
4 SoC resources in order to keep the lowest power profile. It
5 communicates with other hardware subsystems via shared memory
6 and accepts clock requests, aggregates the requests and turns
7 the clocks on/off or scales them on demand.
8
9 Required properties :
10 - compatible : shall contain only one of the following. The generic
11                compatible "qcom,rpmcc" should be also included.
12
13                         "qcom,rpmcc-msm8660", "qcom,rpmcc"
14                         "qcom,rpmcc-apq8060", "qcom,rpmcc"
15                         "qcom,rpmcc-msm8226", "qcom,rpmcc"
16                         "qcom,rpmcc-msm8916", "qcom,rpmcc"
17                         "qcom,rpmcc-msm8936", "qcom,rpmcc"
18                         "qcom,rpmcc-msm8974", "qcom,rpmcc"
19                         "qcom,rpmcc-msm8976", "qcom,rpmcc"
20                         "qcom,rpmcc-apq8064", "qcom,rpmcc"
21                         "qcom,rpmcc-ipq806x", "qcom,rpmcc"
22                         "qcom,rpmcc-msm8992",·"qcom,rpmcc"
23                         "qcom,rpmcc-msm8994",·"qcom,rpmcc"
24                         "qcom,rpmcc-msm8996", "qcom,rpmcc"
25                         "qcom,rpmcc-msm8998", "qcom,rpmcc"
26                         "qcom,rpmcc-qcs404", "qcom,rpmcc"
27                         "qcom,rpmcc-sdm660", "qcom,rpmcc"
28
29 - #clock-cells : shall contain 1
30
31 The clock enumerators are defined in <dt-bindings/clock/qcom,rpmcc.h>
32 and come in pairs: FOO_CLK followed by FOO_A_CLK. The latter clock
33 is an "active" clock, which means that the consumer only care that the
34 clock is available when the apps CPU subsystem is active, i.e. not
35 suspended or in deep idle. If it is important that the clock keeps running
36 during system suspend, you need to specify the non-active clock, the one
37 not containing *_A_* in the enumerator name.
38
39 Example:
40         smd {
41                 compatible = "qcom,smd";
42
43                 rpm {
44                         interrupts = <0 168 1>;
45                         qcom,ipc = <&apcs 8 0>;
46                         qcom,smd-edge = <15>;
47
48                         rpm_requests {
49                                 compatible = "qcom,rpm-msm8916";
50                                 qcom,smd-channels = "rpm_requests";
51
52                                 rpmcc: clock-controller {
53                                         compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
54                                         #clock-cells = <1>;
55                                 };
56                         };
57                 };
58         };