blob: b68284c8970d2d323e082eaf7eaf90a83aad879a [file] [log] [blame]
MSM Bus static bandwidth rules for adhoc bus topologies
Buses are the interconnects between various devices. The devices are
connected in different topologies. The static bandwidth rules allow
setting up SOC specific rules to monitor certain bandwidth requests
at different bus nodes. When the conditions of the rule are met
the bus driver will be given a list of actions to be take on specific
bus master ports (throttle on/off, what bandwidth to throttle to etc).
The mandatory properties for bus driver are:
compatible: "qcom,msm-bus-static-bw-rules"
The static_rules node can have numerous rules for the different bandwidth voting
conditions to be monitored. The mandatory properties for the rules are
- qcom,src-nodes: An array of phandles denoting the source nodes
whose bandwidth votes need to be monitored.
- qcom,src-field: This field represents the voted field of the
source node to be monitored. Possible values
are FLD_IB/FLD_AB/FLD_CLK
- qcom,src-op: The operand to be used when evaluating a node's
bandwidth vote with a threshold.Possible values
are OP_LE/OP_LT/OP_GT/OP_GE.
- qcom,thresh: The threshold in Kbytes/s to be used in vote
evaluation.
- qcom,mode: The QoS mode to be applied when this rule's
criterion are satisfied. Possible values are
THROTTLE_ON/THROTTLE_OFF
- qcom,dest-node: An array of phandles representing the nodes to
which the QoS mode is to be applied.
The optional properties for the rule node are:
- qcom,dest-bw: The destination bandwidth value in Kbytes/s to
be used toward the QoS mode for the destination
node.
Example:
static-rules {
compatible = "qcom,msm-bus-static-bw-rules";
#address-cells = <1>;
#size-cells = <0>;
rule@0 {
qcom,src-nodes = <&mas_apss>;
qcom,src-field = <FLD_IB>;
qcom,src-op = <OP_LE>;
qcom,thresh = <1599078>;
qcom,mode = <THROTTLE_ON>;
qcom,dest-node = <&mas_apss>;
qcom,dest-bw = <1599078>;
};
rule@1 {
qcom,src-nodes = <&mas_apss>;
qcom,src-field = <FLD_IB>;
qcom,src-op = <OP_GT>;
qcom,thresh = <1599078>;
qcom,mode = <THROTTLE_OFF>;
qcom,dest-node = <&mas_apss>;
};
};