cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

qcom,glink.txt (2653B)


      1Qualcomm GLINK edge binding
      2
      3This binding describes a Qualcomm GLINK edge, a fifo based mechanism for
      4communication between subsystem-pairs on various Qualcomm platforms. Two types
      5of edges can be described by the binding; the GLINK RPM edge and a SMEM based
      6edge.
      7
      8- compatible:
      9	Usage: required for glink-rpm
     10	Value type: <stringlist>
     11	Definition: must be "qcom,glink-rpm"
     12
     13- label:
     14	Usage: optional
     15	Value type: <string>
     16	Definition: should specify the subsystem name this edge corresponds to.
     17
     18- interrupts:
     19	Usage: required
     20	Value type: <prop-encoded-array>
     21	Definition: should specify the IRQ used by the remote processor to
     22		    signal this processor about communication related events
     23
     24- qcom,remote-pid:
     25	Usage: required for glink-smem
     26	Value type: <u32>
     27	Definition: specifies the identifier of the remote endpoint of this edge
     28
     29- qcom,rpm-msg-ram:
     30	Usage: required for glink-rpm
     31	Value type: <prop-encoded-array>
     32	Definition: handle to RPM message memory resource
     33
     34- mboxes:
     35	Usage: required
     36	Value type: <prop-encoded-array>
     37	Definition: reference to the "rpm_hlos" mailbox in APCS, as described
     38		    in mailbox/mailbox.txt
     39
     40= GLINK DEVICES
     41Each subnode of the GLINK node represent function tied to a virtual
     42communication channel. The name of the nodes are not important. The properties
     43of these nodes are defined by the individual bindings for the specific function
     44- but must contain the following property:
     45
     46- qcom,glink-channels:
     47	Usage: required
     48	Value type: <stringlist>
     49	Definition: a list of channels tied to this function, used for matching
     50		    the function to a set of virtual channels
     51
     52- qcom,intents:
     53	Usage: optional
     54	Value type: <prop-encoded-array>
     55	Definition: a list of size,amount pairs describing what intents should
     56		    be preallocated for this virtual channel. This can be used
     57		    to tweak the default intents available for the channel to
     58		    meet expectations of the remote.
     59
     60= EXAMPLE
     61The following example represents the GLINK RPM node on a MSM8996 device, with
     62the function for the "rpm_request" channel defined, which is used for
     63regulators and root clocks.
     64
     65	apcs_glb: mailbox@9820000 {
     66		compatible = "qcom,msm8996-apcs-hmss-global";
     67		reg = <0x9820000 0x1000>;
     68
     69		#mbox-cells = <1>;
     70	};
     71
     72	rpm_msg_ram: memory@68000 {
     73		compatible = "qcom,rpm-msg-ram";
     74		reg = <0x68000 0x6000>;
     75	};
     76
     77	rpm-glink {
     78		compatible = "qcom,glink-rpm";
     79
     80		interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
     81
     82		qcom,rpm-msg-ram = <&rpm_msg_ram>;
     83
     84		mboxes = <&apcs_glb 0>;
     85
     86		rpm-requests {
     87			compatible = "qcom,rpm-msm8996";
     88			qcom,glink-channels = "rpm_requests";
     89
     90			qcom,intents = <0x400 5
     91					0x800 1>;
     92			...
     93		};
     94	};