diff --git a/bindings/dma/qcom,msm_gpi.yaml b/bindings/dma/qcom,msm_gpi.yaml new file mode 100644 index 00000000..4caf4330 --- /dev/null +++ b/bindings/dma/qcom,msm_gpi.yaml @@ -0,0 +1,116 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma/qcom,msm_gpi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies Inc GPI DMA controller + +maintainers: + - Mukesh Savaliya + +description: | + QCOM GPI DMA controller provides DMA capabilities for + peripheral buses such as I2C, UART, and SPI. + +allOf: + - $ref: "dma-controller.yaml#" + +properties: + compatible: + enum: + - qcom,gpi-dma + + reg: + maxItems: 1 + + reg-names: + maxItems: 1 + + interrupts: + description: + Interrupt lines for each GPI instance + minItems: 1 + maxItems: 12 + + "#dma-cells": + const: 3 + description: > + DMA clients must use the format described in dma.txt, giving a phandle + to the DMA controller plus the following 3 integer cells: + - channel: if set to 0xffffffff, any available channel will be allocated + for the client. Otherwise, the exact channel specified will be used. + - seid: serial id of the client as defined in the SoC documentation. + - client: type of the client as defined in dt-bindings/dma/qcom-gpi.h + + iommus: + maxItems: 1 + + qcom,max-num-gpii: + maximum: 12 + + qcom,gpii-mask: + maxItems: 1 + + qcom,static-gpii-mask: + maxItems: 1 + + qcom,ev-factor: + maxItems: 1 + + qcom,qcom,iommu-dma-addr-pool: + maxItems: 1 + + qcom,gpi-ee-offset: + maxItems: 1 + + dma-coherent: + maxItems: 1 + +required: + - compatible + - reg + - reg-names + - interrupts + - dma-cells + - iommus + - qcom,max-num-gpii + - qcom,gpii-mask + - qcom,ev-factor + - qcom,qcom,iommu-dma-addr-pool + - gpi-ee-offset + +additionalProperties: false + +examples: + - | + #include + #include + gpi_dma1: qcom,gpi-dma@a00000 { + compatible = "qcom,gpi-dma"; + #dma-cells = <5>; + reg = <0xa00000 0x60000>; + reg-names = "gpi-top"; + iommus = <&apps_smmu 0xb6 0x0>; + qcom,max-num-gpii = <12>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + ; + qcom,static-gpii-mask = <0x3>; + qcom,gpii-mask = <0xc>; + qcom,ev-factor = <1>; + qcom,iommu-dma-addr-pool = <0x100000 0x100000>; + qcom,gpi-ee-offset = <0x10000>; + dma-coherent; + }; + +...