15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25def4c47SEmmanuel Vadot%YAML 1.2 35def4c47SEmmanuel Vadot--- 45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/dma/qcom,gpi.yaml# 55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65def4c47SEmmanuel Vadot 75def4c47SEmmanuel Vadottitle: Qualcomm Technologies Inc GPI DMA controller 85def4c47SEmmanuel Vadot 95def4c47SEmmanuel Vadotmaintainers: 105def4c47SEmmanuel Vadot - Vinod Koul <vkoul@kernel.org> 115def4c47SEmmanuel Vadot 125def4c47SEmmanuel Vadotdescription: | 135def4c47SEmmanuel Vadot QCOM GPI DMA controller provides DMA capabilities for 145def4c47SEmmanuel Vadot peripheral buses such as I2C, UART, and SPI. 155def4c47SEmmanuel Vadot 165def4c47SEmmanuel VadotallOf: 17cb7aa33aSEmmanuel Vadot - $ref: dma-controller.yaml# 185def4c47SEmmanuel Vadot 195def4c47SEmmanuel Vadotproperties: 205def4c47SEmmanuel Vadot compatible: 218bab661aSEmmanuel Vadot oneOf: 228bab661aSEmmanuel Vadot - enum: 235def4c47SEmmanuel Vadot - qcom,sdm845-gpi-dma 247ef62cebSEmmanuel Vadot - qcom,sm6350-gpi-dma 258bab661aSEmmanuel Vadot - items: 268bab661aSEmmanuel Vadot - enum: 27fac71e4eSEmmanuel Vadot - qcom,qcm2290-gpi-dma 28cb7aa33aSEmmanuel Vadot - qcom,qdu1000-gpi-dma 298bab661aSEmmanuel Vadot - qcom,sc7280-gpi-dma 30*0e8011faSEmmanuel Vadot - qcom,sdx75-gpi-dma 318bab661aSEmmanuel Vadot - qcom,sm6115-gpi-dma 328bab661aSEmmanuel Vadot - qcom,sm6375-gpi-dma 33d5b0e70fSEmmanuel Vadot - qcom,sm8350-gpi-dma 34d5b0e70fSEmmanuel Vadot - qcom,sm8450-gpi-dma 35cb7aa33aSEmmanuel Vadot - qcom,sm8550-gpi-dma 368d13bc63SEmmanuel Vadot - qcom,sm8650-gpi-dma 378d13bc63SEmmanuel Vadot - qcom,x1e80100-gpi-dma 388bab661aSEmmanuel Vadot - const: qcom,sm6350-gpi-dma 398bab661aSEmmanuel Vadot - items: 408bab661aSEmmanuel Vadot - enum: 418bab661aSEmmanuel Vadot - qcom,sdm670-gpi-dma 42cb7aa33aSEmmanuel Vadot - qcom,sm6125-gpi-dma 438bab661aSEmmanuel Vadot - qcom,sm8150-gpi-dma 448bab661aSEmmanuel Vadot - qcom,sm8250-gpi-dma 458bab661aSEmmanuel Vadot - const: qcom,sdm845-gpi-dma 465def4c47SEmmanuel Vadot 475def4c47SEmmanuel Vadot reg: 485def4c47SEmmanuel Vadot maxItems: 1 495def4c47SEmmanuel Vadot 505def4c47SEmmanuel Vadot interrupts: 515def4c47SEmmanuel Vadot description: 525def4c47SEmmanuel Vadot Interrupt lines for each GPI instance 53c9ccf3a3SEmmanuel Vadot minItems: 1 545def4c47SEmmanuel Vadot maxItems: 13 555def4c47SEmmanuel Vadot 565def4c47SEmmanuel Vadot "#dma-cells": 575def4c47SEmmanuel Vadot const: 3 585def4c47SEmmanuel Vadot description: > 595def4c47SEmmanuel Vadot DMA clients must use the format described in dma.txt, giving a phandle 605def4c47SEmmanuel Vadot to the DMA controller plus the following 3 integer cells: 615def4c47SEmmanuel Vadot - channel: if set to 0xffffffff, any available channel will be allocated 625def4c47SEmmanuel Vadot for the client. Otherwise, the exact channel specified will be used. 635def4c47SEmmanuel Vadot - seid: serial id of the client as defined in the SoC documentation. 645def4c47SEmmanuel Vadot - client: type of the client as defined in dt-bindings/dma/qcom-gpi.h 655def4c47SEmmanuel Vadot 665def4c47SEmmanuel Vadot iommus: 675def4c47SEmmanuel Vadot maxItems: 1 685def4c47SEmmanuel Vadot 695def4c47SEmmanuel Vadot dma-channels: 705def4c47SEmmanuel Vadot maximum: 31 715def4c47SEmmanuel Vadot 725def4c47SEmmanuel Vadot dma-channel-mask: 735def4c47SEmmanuel Vadot maxItems: 1 745def4c47SEmmanuel Vadot 7584943d6fSEmmanuel Vadot dma-coherent: true 7684943d6fSEmmanuel Vadot 775def4c47SEmmanuel Vadotrequired: 785def4c47SEmmanuel Vadot - compatible 795def4c47SEmmanuel Vadot - reg 805def4c47SEmmanuel Vadot - interrupts 815def4c47SEmmanuel Vadot - "#dma-cells" 825def4c47SEmmanuel Vadot - iommus 835def4c47SEmmanuel Vadot - dma-channels 845def4c47SEmmanuel Vadot - dma-channel-mask 855def4c47SEmmanuel Vadot 865def4c47SEmmanuel VadotadditionalProperties: false 875def4c47SEmmanuel Vadot 885def4c47SEmmanuel Vadotexamples: 895def4c47SEmmanuel Vadot - | 905def4c47SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 915def4c47SEmmanuel Vadot #include <dt-bindings/dma/qcom-gpi.h> 925def4c47SEmmanuel Vadot gpi_dma0: dma-controller@800000 { 932eb4d8dcSEmmanuel Vadot compatible = "qcom,sdm845-gpi-dma"; 945def4c47SEmmanuel Vadot #dma-cells = <3>; 955def4c47SEmmanuel Vadot reg = <0x00800000 0x60000>; 965def4c47SEmmanuel Vadot iommus = <&apps_smmu 0x0016 0x0>; 975def4c47SEmmanuel Vadot dma-channels = <13>; 985def4c47SEmmanuel Vadot dma-channel-mask = <0xfa>; 995def4c47SEmmanuel Vadot interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>, 1005def4c47SEmmanuel Vadot <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>, 1015def4c47SEmmanuel Vadot <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, 1025def4c47SEmmanuel Vadot <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 1035def4c47SEmmanuel Vadot <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>, 1045def4c47SEmmanuel Vadot <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>, 1055def4c47SEmmanuel Vadot <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>, 1065def4c47SEmmanuel Vadot <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>, 1075def4c47SEmmanuel Vadot <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>, 1085def4c47SEmmanuel Vadot <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>, 1095def4c47SEmmanuel Vadot <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>, 1105def4c47SEmmanuel Vadot <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>, 1115def4c47SEmmanuel Vadot <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>; 1125def4c47SEmmanuel Vadot }; 1135def4c47SEmmanuel Vadot 1145def4c47SEmmanuel Vadot... 115