The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/soc/qcom/qcom,smp2p.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/soc/qcom/qcom,smp2p.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Qualcomm Shared Memory Point 2 Point
    8 
    9 maintainers:
   10   - Andy Gross <agross@kernel.org>
   11   - Bjorn Andersson <bjorn.andersson@linaro.org>
   12   - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
   13 
   14 description:
   15   The Shared Memory Point to Point (SMP2P) protocol facilitates communication
   16   of a single 32-bit value between two processors.  Each value has a single
   17   writer (the local side) and a single reader (the remote side).  Values are
   18   uniquely identified in the system by the directed edge (local processor ID to
   19   remote processor ID) and a string identifier.
   20 
   21 properties:
   22   compatible:
   23     const: qcom,smp2p
   24 
   25   interrupts:
   26     maxItems: 1
   27 
   28   mboxes:
   29     maxItems: 1
   30     description:
   31       Reference to the mailbox representing the outgoing doorbell in APCS for
   32       this client.
   33 
   34   qcom,ipc:
   35     $ref: /schemas/types.yaml#/definitions/phandle-array
   36     items:
   37       - items:
   38           - description: phandle to a syscon node representing the APCS registers
   39           - description: u32 representing offset to the register within the syscon
   40           - description: u32 representing the ipc bit within the register
   41     description:
   42       Three entries specifying the outgoing ipc bit used for signaling the
   43       remote end of the smp2p edge.
   44 
   45   qcom,local-pid:
   46     $ref: /schemas/types.yaml#/definitions/uint32
   47     description:
   48       The identifier of the local endpoint of this edge.
   49 
   50   qcom,remote-pid:
   51     $ref: /schemas/types.yaml#/definitions/uint32
   52     description:
   53       The identifier of the remote endpoint of this edge.
   54 
   55   qcom,smem:
   56     $ref: /schemas/types.yaml#/definitions/uint32-array
   57     items:
   58       maxItems: 2
   59     description:
   60       Two identifiers of the inbound and outbound smem items used for this edge.
   61 
   62 patternProperties:
   63   "^master-kernel|slave-kernel|ipa-ap-to-modem|ipa-modem-to-ap$":
   64     type: object
   65     description:
   66       Each SMP2P pair contain a set of inbound and outbound entries, these are
   67       described in subnodes of the smp2p device node. The node names are not
   68       important.
   69 
   70     properties:
   71       interrupt-controller:
   72         description:
   73           Marks the entry as inbound; the node should be specified as a two
   74           cell interrupt-controller.  If not specified this node will denote
   75           the outgoing entry.
   76 
   77       '#interrupt-cells':
   78         const: 2
   79 
   80       qcom,entry-name:
   81         $ref: /schemas/types.yaml#/definitions/string
   82         description:
   83           The name of this entry, for inbound entries this will be used to
   84           match against the remotely allocated entry and for outbound entries
   85           this name is used for allocating entries.
   86 
   87       '#qcom,smem-state-cells':
   88         $ref: /schemas/types.yaml#/definitions/uint32
   89         const: 1
   90         description:
   91           Required for outgoing entries.
   92 
   93     required:
   94       - qcom,entry-name
   95 
   96     oneOf:
   97       - required:
   98           - interrupt-controller
   99           - '#interrupt-cells'
  100       - required:
  101           - '#qcom,smem-state-cells'
  102 
  103     additionalProperties: false
  104 
  105 required:
  106   - compatible
  107   - interrupts
  108   - qcom,local-pid
  109   - qcom,remote-pid
  110   - qcom,smem
  111 
  112 oneOf:
  113   - required:
  114       - mboxes
  115   - required:
  116       - qcom,ipc
  117 
  118 additionalProperties: false
  119 
  120 examples:
  121   # The following example shows the SMP2P setup with the wireless processor,
  122   # defined from the 8974 apps processor's point-of-view. It encompasses one
  123   # inbound and one outbound entry.
  124   - |
  125     #include <dt-bindings/interrupt-controller/arm-gic.h>
  126 
  127     shared-memory {
  128         compatible = "qcom,smp2p";
  129         qcom,smem = <431>, <451>;
  130         interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
  131         qcom,ipc = <&apcs 8 18>;
  132         qcom,local-pid = <0>;
  133         qcom,remote-pid = <4>;
  134 
  135         wcnss_smp2p_out: master-kernel {
  136             qcom,entry-name = "master-kernel";
  137             #qcom,smem-state-cells = <1>;
  138         };
  139 
  140         wcnss_smp2p_in: slave-kernel {
  141             qcom,entry-name = "slave-kernel";
  142             interrupt-controller;
  143             #interrupt-cells = <2>;
  144         };
  145     };

Cache object: c5cfd617dbed9adc7cd413e6b6c49976


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.