Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/dma/qcom,gpi.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Qualcomm Technologies Inc GPI DMA controller
0008 
0009 maintainers:
0010   - Vinod Koul <vkoul@kernel.org>
0011 
0012 description: |
0013   QCOM GPI DMA controller provides DMA capabilities for
0014   peripheral buses such as I2C, UART, and SPI.
0015 
0016 allOf:
0017   - $ref: "dma-controller.yaml#"
0018 
0019 properties:
0020   compatible:
0021     enum:
0022       - qcom,sc7280-gpi-dma
0023       - qcom,sdm845-gpi-dma
0024       - qcom,sm8150-gpi-dma
0025       - qcom,sm8250-gpi-dma
0026       - qcom,sm8350-gpi-dma
0027       - qcom,sm8450-gpi-dma
0028 
0029   reg:
0030     maxItems: 1
0031 
0032   interrupts:
0033     description:
0034       Interrupt lines for each GPI instance
0035     minItems: 1
0036     maxItems: 13
0037 
0038   "#dma-cells":
0039     const: 3
0040     description: >
0041       DMA clients must use the format described in dma.txt, giving a phandle
0042       to the DMA controller plus the following 3 integer cells:
0043       - channel: if set to 0xffffffff, any available channel will be allocated
0044         for the client. Otherwise, the exact channel specified will be used.
0045       - seid: serial id of the client as defined in the SoC documentation.
0046       - client: type of the client as defined in dt-bindings/dma/qcom-gpi.h
0047 
0048   iommus:
0049     maxItems: 1
0050 
0051   dma-channels:
0052     maximum: 31
0053 
0054   dma-channel-mask:
0055     maxItems: 1
0056 
0057 required:
0058   - compatible
0059   - reg
0060   - interrupts
0061   - "#dma-cells"
0062   - iommus
0063   - dma-channels
0064   - dma-channel-mask
0065 
0066 additionalProperties: false
0067 
0068 examples:
0069   - |
0070     #include <dt-bindings/interrupt-controller/arm-gic.h>
0071     #include <dt-bindings/dma/qcom-gpi.h>
0072     gpi_dma0: dma-controller@800000 {
0073         compatible = "qcom,sdm845-gpi-dma";
0074         #dma-cells = <3>;
0075         reg = <0x00800000 0x60000>;
0076         iommus = <&apps_smmu 0x0016 0x0>;
0077         dma-channels = <13>;
0078         dma-channel-mask = <0xfa>;
0079         interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
0080                      <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
0081                      <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
0082                      <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
0083                      <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
0084                      <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
0085                      <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
0086                      <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
0087                      <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
0088                      <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
0089                      <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
0090                      <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
0091                      <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
0092     };
0093 
0094 ...