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