Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/serial/qcom,msm-uartdm.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Qualcomm MSM Serial UARTDM
0008 
0009 maintainers:
0010   - Andy Gross <agross@kernel.org>
0011   - Bjorn Andersson <bjorn.andersson@linaro.org>
0012   - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
0013 
0014 description: |
0015   The MSM serial UARTDM hardware is designed for high-speed use cases where the
0016   transmit and/or receive channels can be offloaded to a dma-engine. From a
0017   software perspective it's mostly compatible with the MSM serial UART except
0018   that it supports reading and writing multiple characters at a time.
0019 
0020   Note:: Aliases may be defined to ensure the correct ordering of the UARTs.
0021   The alias serialN will result in the UART being assigned port N.  If any
0022   serialN alias exists, then an alias must exist for each enabled UART.  The
0023   serialN aliases should be in a .dts file instead of in a .dtsi file.
0024 
0025 properties:
0026   compatible:
0027     items:
0028       - enum:
0029           - qcom,msm-uartdm-v1.1
0030           - qcom,msm-uartdm-v1.2
0031           - qcom,msm-uartdm-v1.3
0032           - qcom,msm-uartdm-v1.4
0033       - const: qcom,msm-uartdm
0034 
0035   clocks:
0036     maxItems: 2
0037 
0038   clock-names:
0039     items:
0040       - const: core
0041       - const: iface
0042 
0043   dmas:
0044     maxItems: 2
0045 
0046   dma-names:
0047     items:
0048       - const: tx
0049       - const: rx
0050 
0051   interrupts:
0052     maxItems: 1
0053 
0054   qcom,rx-crci:
0055     $ref: /schemas/types.yaml#/definitions/uint32
0056     description:
0057       Identificator for Client Rate Control Interface to be used with RX DMA
0058       channel. Required when using DMA for reception with UARTDM v1.3 and
0059       below.
0060 
0061   qcom,tx-crci:
0062     $ref: /schemas/types.yaml#/definitions/uint32
0063     description:
0064       Identificator for Client Rate Control Interface to be used with TX DMA
0065       channel. Required when using DMA for transmission with UARTDM v1.3 and
0066       below.
0067 
0068   reg:
0069     minItems: 1
0070     items:
0071       - description: Main control registers
0072       - description: An optional second register location shall specify the GSBI control region.
0073 
0074 required:
0075   - compatible
0076   - clock-names
0077   - clocks
0078   - interrupts
0079   - reg
0080 
0081 unevaluatedProperties: false
0082 
0083 allOf:
0084   - $ref: /schemas/serial/serial.yaml#
0085 
0086   - if:
0087       properties:
0088         compatible:
0089           contains:
0090             const: qcom,msm-uartdm-v1.3
0091     then:
0092       properties:
0093         reg:
0094           minItems: 2
0095     else:
0096       properties:
0097         reg:
0098           maxItems: 1
0099 
0100 examples:
0101   - |
0102     #include <dt-bindings/interrupt-controller/arm-gic.h>
0103 
0104     serial@f991e000 {
0105         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
0106         reg = <0xf991e000 0x1000>;
0107         interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
0108         clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>;
0109         clock-names = "core", "iface";
0110         dmas = <&dma0 0>, <&dma0 1>;
0111         dma-names = "tx", "rx";
0112     };