diff --git a/bindings/arm/msm/rpm-smd.txt b/bindings/arm/msm/rpm-smd.txt new file mode 100644 index 000000000000..79968810b96a --- /dev/null +++ b/bindings/arm/msm/rpm-smd.txt @@ -0,0 +1,40 @@ +Resource Power Manager(RPM) + +RPM is a dedicated hardware engine for managing shared SoC resources, +which includes buses, clocks, power rails, etc. The goal of RPM is +to achieve the maximum power savings while satisfying the SoC's +operational and performance requirements. RPM accepts resource +requests from multiple RPM masters. It arbitrates and aggregates +the requests, and configures the shared resources. The RPM masters +are the application processor, the modem processor, as well as hardware +accelerators. The RPM driver communicates with the hardware engine using +SMD. + +The devicetree representation of the RPM block should be: + +Required properties + +- compatible: "qcom,rpm-smd" +- rpm-channel-name: The string corresponding to the channel name of the + peripheral subsystem. Required for both smd and + glink transports. +- rpm-channel-type: The interal SMD edge for this subsystem found in + +- interrupts: The IRQ used by remote processor to inform APSS about + reception of response message packet. + +Optional properties +- rpm-standalone: Allow RPM driver to run in standalone mode irrespective of RPM + channel presence. +- reg: Contains the memory address at which rpm messaging format version is + stored. If this field is not present, the target only supports v0 format. + +Example: + + qcom,rpm-smd { + compatible = "qcom,rpm-smd"; + interrupts = ; + qcom,rpm-channel-name = "rpm_requests"; + qcom,rpm-channel-type = 15; /* APPS_RPM_SMD */ + } +}