~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml (Architecture i386) and /Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml (Architecture sparc)


  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C      1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 %YAML 1.2                                           2 %YAML 1.2
  3 ---                                                 3 ---
  4 $id: http://devicetree.org/schemas/remoteproc/      4 $id: http://devicetree.org/schemas/remoteproc/qcom,rpm-proc.yaml#
  5 $schema: http://devicetree.org/meta-schemas/co      5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6                                                     6 
  7 title: Qualcomm Resource Power Manager (RPM) P      7 title: Qualcomm Resource Power Manager (RPM) Processor/Subsystem
  8                                                     8 
  9 maintainers:                                        9 maintainers:
 10   - Bjorn Andersson <andersson@kernel.org>          10   - Bjorn Andersson <andersson@kernel.org>
 11   - Konrad Dybcio <konradybcio@kernel.org>          11   - Konrad Dybcio <konradybcio@kernel.org>
 12   - Stephan Gerhold <stephan@gerhold.net>           12   - Stephan Gerhold <stephan@gerhold.net>
 13                                                    13 
 14 description: |                                     14 description: |
 15   Resource Power Manager (RPM) subsystem found     15   Resource Power Manager (RPM) subsystem found in various Qualcomm platforms:
 16                                                    16 
 17                   +---------------------------     17                   +--------------------------------------------+
 18                   |       RPM subsystem (qcom,     18                   |       RPM subsystem (qcom,rpm-proc)        |
 19                   |                                19                   |                                            |
 20             reset | +---------------+     +---     20             reset | +---------------+     +-----+  +-----+     |
 21           --------->|               |     | MP     21           --------->|               |     | MPM |  | CPR | ... |
 22    IPC interrupts | | ARM Cortex-M3 |---  +---     22    IPC interrupts | | ARM Cortex-M3 |---  +-----+  +-----+     |
 23   ----------------->|               |  |     |     23   ----------------->|               |  |     |        |        |
 24                   | +---------------+  |------     24                   | +---------------+  |---------------------- |
 25                   | +---------------+  |           25                   | +---------------+  |                       |
 26                   | |   Code RAM    |--|  +---     26                   | |   Code RAM    |--|  +------------------+ |
 27                   | +---------------+  |  |        27                   | +---------------+  |  |                  | |
 28                   | +---------------+  |--|        28                   | +---------------+  |--|   Message RAM    | |
 29                   | |   Data RAM    |--|  |        29                   | |   Data RAM    |--|  |                  | |
 30                   | +---------------+  |  +---     30                   | +---------------+  |  +------------------+ |
 31                   +--------------------|------     31                   +--------------------|-----------------------+
 32                                        v           32                                        v
 33                                       NoC          33                                       NoC
 34                                                    34 
 35   The firmware running on the processor inside     35   The firmware running on the processor inside the RPM subsystem allows each
 36   component in the system to vote for state of     36   component in the system to vote for state of the system resources, such as
 37   clocks, regulators and bus frequencies. It i     37   clocks, regulators and bus frequencies. It implements multiple separate
 38   communication interfaces that are described      38   communication interfaces that are described in subnodes, e.g. SMD and MPM:
 39                                                    39 
 40              +------------------------------+      40              +------------------------------+
 41              |        ARM Cortex-M3         |      41              |        ARM Cortex-M3         |
 42              |                              |      42              |                              |   +------------------------------+
 43              | +--------------------------+ |      43              | +--------------------------+ |   |          Message RAM         |
 44              | |  RPM firmware            | |      44              | |  RPM firmware            | |   |                              |
 45    IPC IRQ 0 | | +----------------------+ | |      45    IPC IRQ 0 | | +----------------------+ | |   | +--------------------------+ |
 46   -------------->| SMD server           |<----     46   -------------->| SMD server           |<------->| SMD data structures      | |
 47              | | | +--------------+     | | |      47              | | | +--------------+     | | |   | | +--------------+         | |
 48              | | | | rpm_requests | ... | | |      48              | | | | rpm_requests | ... | | |   | | | rpm_requests |   ...   | |
 49              | | | +--------------+     | | |      49              | | | +--------------+     | | |   | | +--------------+         | |
 50    IPC IRQ 1 | | +----------------------+ | |      50    IPC IRQ 1 | | +----------------------+ | |   | +--------------------------+ |
 51   -------------->| MPM virtualization   |<----     51   -------------->| MPM virtualization   |<--------| MPM register copy (vMPM) | |
 52              | | +----------------------+ | |      52              | | +----------------------+ | |   | +--------------------------+ |
 53              | |           ...      |     | |      53              | |           ...      |     | |   |              ...             |
 54              | +--------------------|-----+ |      54              | +--------------------|-----+ |   +------------------------------+
 55              +----------------------|-------+      55              +----------------------|-------+
 56                                     v              56                                     v
 57                              +--------------+      57                              +--------------+
 58                              | MPM Hardware |      58                              | MPM Hardware |
 59                              +--------------+      59                              +--------------+
 60                                                    60 
 61   The services provided by the firmware are on     61   The services provided by the firmware are only available after the firmware
 62   has been loaded and the processor has been r     62   has been loaded and the processor has been released from reset. Usually this
 63   happens early in the boot process before the     63   happens early in the boot process before the operating system is started.
 64                                                    64 
 65 properties:                                        65 properties:
 66   compatible:                                      66   compatible:
 67     items:                                         67     items:
 68       - enum:                                      68       - enum:
 69           - qcom,apq8084-rpm-proc                  69           - qcom,apq8084-rpm-proc
 70           - qcom,ipq6018-rpm-proc                  70           - qcom,ipq6018-rpm-proc
 71           - qcom,ipq9574-rpm-proc                  71           - qcom,ipq9574-rpm-proc
 72           - qcom,mdm9607-rpm-proc                  72           - qcom,mdm9607-rpm-proc
 73           - qcom,msm8226-rpm-proc                  73           - qcom,msm8226-rpm-proc
 74           - qcom,msm8610-rpm-proc                  74           - qcom,msm8610-rpm-proc
 75           - qcom,msm8909-rpm-proc                  75           - qcom,msm8909-rpm-proc
 76           - qcom,msm8916-rpm-proc                  76           - qcom,msm8916-rpm-proc
 77           - qcom,msm8917-rpm-proc                  77           - qcom,msm8917-rpm-proc
 78           - qcom,msm8936-rpm-proc                  78           - qcom,msm8936-rpm-proc
 79           - qcom,msm8937-rpm-proc                  79           - qcom,msm8937-rpm-proc
 80           - qcom,msm8952-rpm-proc                  80           - qcom,msm8952-rpm-proc
 81           - qcom,msm8953-rpm-proc                  81           - qcom,msm8953-rpm-proc
 82           - qcom,msm8974-rpm-proc                  82           - qcom,msm8974-rpm-proc
 83           - qcom,msm8976-rpm-proc                  83           - qcom,msm8976-rpm-proc
 84           - qcom,msm8994-rpm-proc                  84           - qcom,msm8994-rpm-proc
 85           - qcom,msm8996-rpm-proc                  85           - qcom,msm8996-rpm-proc
 86           - qcom,msm8998-rpm-proc                  86           - qcom,msm8998-rpm-proc
 87           - qcom,qcm2290-rpm-proc                  87           - qcom,qcm2290-rpm-proc
 88           - qcom,qcs404-rpm-proc                   88           - qcom,qcs404-rpm-proc
 89           - qcom,sdm660-rpm-proc                   89           - qcom,sdm660-rpm-proc
 90           - qcom,sm6115-rpm-proc                   90           - qcom,sm6115-rpm-proc
 91           - qcom,sm6125-rpm-proc                   91           - qcom,sm6125-rpm-proc
 92           - qcom,sm6375-rpm-proc                   92           - qcom,sm6375-rpm-proc
 93       - const: qcom,rpm-proc                       93       - const: qcom,rpm-proc
 94                                                    94 
 95   smd-edge:                                        95   smd-edge:
 96     $ref: /schemas/remoteproc/qcom,smd-edge.ya     96     $ref: /schemas/remoteproc/qcom,smd-edge.yaml#
 97     description:                                   97     description:
 98       Qualcomm Shared Memory subnode which rep     98       Qualcomm Shared Memory subnode which represents communication edge,
 99       channels and devices related to the RPM      99       channels and devices related to the RPM subsystem.
100                                                   100 
101   glink-edge:                                     101   glink-edge:
102     $ref: /schemas/remoteproc/qcom,glink-rpm-e    102     $ref: /schemas/remoteproc/qcom,glink-rpm-edge.yaml#
103     description:                                  103     description:
104       Qualcomm G-Link subnode which represents    104       Qualcomm G-Link subnode which represents communication edge,
105       channels and devices related to the RPM     105       channels and devices related to the RPM subsystem.
106                                                   106 
107   interrupt-controller:                           107   interrupt-controller:
108     type: object                                  108     type: object
109     $ref: /schemas/interrupt-controller/qcom,m    109     $ref: /schemas/interrupt-controller/qcom,mpm.yaml#
110     description:                                  110     description:
111       MSM Power Manager (MPM) interrupt contro    111       MSM Power Manager (MPM) interrupt controller that monitors interrupts
112       when the system is asleep.                  112       when the system is asleep.
113                                                   113 
114   master-stats:                                   114   master-stats:
115     $ref: /schemas/soc/qcom/qcom,rpm-master-st    115     $ref: /schemas/soc/qcom/qcom,rpm-master-stats.yaml#
116     description:                                  116     description:
117       Subsystem-level low-power mode statistic    117       Subsystem-level low-power mode statistics provided by RPM.
118                                                   118 
119 required:                                         119 required:
120   - compatible                                    120   - compatible
121                                                   121 
122 oneOf:                                            122 oneOf:
123   - required:                                     123   - required:
124       - smd-edge                                  124       - smd-edge
125   - required:                                     125   - required:
126       - glink-edge                                126       - glink-edge
127                                                   127 
128 additionalProperties: false                       128 additionalProperties: false
129                                                   129 
130 examples:                                         130 examples:
131   # SMD                                           131   # SMD
132   - |                                             132   - |
133     #include <dt-bindings/interrupt-controller    133     #include <dt-bindings/interrupt-controller/arm-gic.h>
134     #include <dt-bindings/interrupt-controller    134     #include <dt-bindings/interrupt-controller/irq.h>
135                                                   135 
136     remoteproc {                                  136     remoteproc {
137       compatible = "qcom,msm8916-rpm-proc", "q    137       compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc";
138                                                   138 
139       smd-edge {                                  139       smd-edge {
140         interrupts = <GIC_SPI 168 IRQ_TYPE_EDG    140         interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
141         qcom,ipc = <&apcs 8 0>;                   141         qcom,ipc = <&apcs 8 0>;
142         qcom,smd-edge = <15>;                     142         qcom,smd-edge = <15>;
143                                                   143 
144         rpm-requests {                            144         rpm-requests {
145           compatible = "qcom,rpm-msm8916", "qc    145           compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
146           qcom,smd-channels = "rpm_requests";     146           qcom,smd-channels = "rpm_requests";
147           /* ... */                               147           /* ... */
148         };                                        148         };
149       };                                          149       };
150     };                                            150     };
151   # GLINK                                         151   # GLINK
152   - |                                             152   - |
153     #include <dt-bindings/interrupt-controller    153     #include <dt-bindings/interrupt-controller/arm-gic.h>
154     #include <dt-bindings/interrupt-controller    154     #include <dt-bindings/interrupt-controller/irq.h>
155                                                   155 
156     remoteproc {                                  156     remoteproc {
157       compatible = "qcom,qcm2290-rpm-proc", "q    157       compatible = "qcom,qcm2290-rpm-proc", "qcom,rpm-proc";
158                                                   158 
159       glink-edge {                                159       glink-edge {
160         compatible = "qcom,glink-rpm";            160         compatible = "qcom,glink-rpm";
161         interrupts = <GIC_SPI 194 IRQ_TYPE_EDG    161         interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
162         qcom,rpm-msg-ram = <&rpm_msg_ram>;        162         qcom,rpm-msg-ram = <&rpm_msg_ram>;
163         mboxes = <&apcs_glb 0>;                   163         mboxes = <&apcs_glb 0>;
164                                                   164 
165         rpm-requests {                            165         rpm-requests {
166           compatible = "qcom,rpm-qcm2290", "qc    166           compatible = "qcom,rpm-qcm2290", "qcom,glink-smd-rpm";
167           qcom,glink-channels = "rpm_requests"    167           qcom,glink-channels = "rpm_requests";
168           /* ... */                               168           /* ... */
169         };                                        169         };
170       };                                          170       };
171     };                                            171     };
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php