1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/serial/qcom,msm-uartdm.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm MSM Serial UARTDM 8 9maintainers: 10 - Andy Gross <agross@kernel.org> 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 13 14description: | 15 The MSM serial UARTDM hardware is designed for high-speed use cases where the 16 transmit and/or receive channels can be offloaded to a dma-engine. From a 17 software perspective it's mostly compatible with the MSM serial UART except 18 that it supports reading and writing multiple characters at a time. 19 20 Note:: Aliases may be defined to ensure the correct ordering of the UARTs. 21 The alias serialN will result in the UART being assigned port N. If any 22 serialN alias exists, then an alias must exist for each enabled UART. The 23 serialN aliases should be in a .dts file instead of in a .dtsi file. 24 25properties: 26 compatible: 27 items: 28 - enum: 29 - qcom,msm-uartdm-v1.1 30 - qcom,msm-uartdm-v1.2 31 - qcom,msm-uartdm-v1.3 32 - qcom,msm-uartdm-v1.4 33 - const: qcom,msm-uartdm 34 35 clocks: 36 maxItems: 2 37 38 clock-names: 39 items: 40 - const: core 41 - const: iface 42 43 dmas: 44 maxItems: 2 45 46 dma-names: 47 items: 48 - const: tx 49 - const: rx 50 51 interrupts: 52 maxItems: 1 53 54 qcom,rx-crci: 55 $ref: /schemas/types.yaml#/definitions/uint32 56 description: 57 Identificator for Client Rate Control Interface to be used with RX DMA 58 channel. Required when using DMA for reception with UARTDM v1.3 and 59 below. 60 61 qcom,tx-crci: 62 $ref: /schemas/types.yaml#/definitions/uint32 63 description: 64 Identificator for Client Rate Control Interface to be used with TX DMA 65 channel. Required when using DMA for transmission with UARTDM v1.3 and 66 below. 67 68 reg: 69 minItems: 1 70 items: 71 - description: Main control registers 72 - description: An optional second register location shall specify the GSBI control region. 73 74required: 75 - compatible 76 - clock-names 77 - clocks 78 - interrupts 79 - reg 80 81unevaluatedProperties: false 82 83allOf: 84 - $ref: /schemas/serial/serial.yaml# 85 86 - if: 87 properties: 88 compatible: 89 contains: 90 const: qcom,msm-uartdm-v1.3 91 then: 92 properties: 93 reg: 94 minItems: 2 95 else: 96 properties: 97 reg: 98 maxItems: 1 99 100examples: 101 - | 102 #include <dt-bindings/interrupt-controller/arm-gic.h> 103 104 serial@f991e000 { 105 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 106 reg = <0xf991e000 0x1000>; 107 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 108 clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>; 109 clock-names = "core", "iface"; 110 dmas = <&dma0 0>, <&dma0 1>; 111 dma-names = "tx", "rx"; 112 }; 113