* MSM Serial UARTDM The MSM serial UARTDM hardware is designed for high-speed use cases where the transmit and/or receive channels can be offloaded to a dma-engine. From a software perspective it's mostly compatible with the MSM serial UART except that it supports reading and writing multiple characters at a time. Required properties: - compatible: Should contain at least "qcom,msm-uartdm". A more specific property should be specified as follows depending on the version: "qcom,msm-uartdm-v1.1" "qcom,msm-uartdm-v1.2" "qcom,msm-uartdm-v1.3" "qcom,msm-uartdm-v1.4" - reg: Should contain UART register locations and lengths. The first register shall specify the main control registers. An optional second register location shall specify the GSBI control region. "qcom,msm-uartdm-v1.3" is the only compatible value that might need the GSBI control region. - interrupts: Should contain UART interrupt. - clocks: Should contain the core clock and the AHB clock. - clock-names: Should be "core" for the core clock and "iface" for the AHB clock. Optional properties: - dmas: Should contain dma specifiers for transmit and receive channels - dma-names: Should contain "tx" for transmit and "rx" for receive channels Examples: A uartdm v1.4 device with dma capabilities. serial@f991e000 { compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; reg = <0xf991e000 0x1000>; interrupts = <0 108 0x0>; clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>; clock-names = "core", "iface"; dmas = <&dma0 0>, <&dma0 1>; dma-names = "tx", "rx"; }; A uartdm v1.3 device without dma capabilities and part of a GSBI complex. serial@19c40000 { compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; reg = <0x19c40000 0x1000>, <0x19c00000 0x1000>; interrupts = <0 195 0x0>; clocks = <&gsbi5_uart_cxc>, <&gsbi5_ahb_cxc>; clock-names = "core", "iface"; };