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 = ; qcom,src-op = ; qcom,thresh = <1599078>; qcom,mode = ; qcom,dest-node = <&mas_apss>; qcom,dest-bw = <1599078>; }; rule@1 { qcom,src-nodes = <&mas_apss>; qcom,src-field = ; qcom,src-op = ; qcom,thresh = <1599078>; qcom,mode = ; qcom,dest-node = <&mas_apss>; }; };