diff options
3 files changed, 78 insertions, 27 deletions
diff --git a/Documentation/devicetree/bindings/serial/qcom,msm-uart.txt b/Documentation/devicetree/bindings/serial/qcom,msm-uart.txt new file mode 100644 index 000000000000..ce8c90161959 --- /dev/null +++ b/Documentation/devicetree/bindings/serial/qcom,msm-uart.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | * MSM Serial UART | ||
2 | |||
3 | The MSM serial UART hardware is designed for low-speed use cases where a | ||
4 | dma-engine isn't needed. From a software perspective it's mostly compatible | ||
5 | with the MSM serial UARTDM except that it only supports reading and writing one | ||
6 | character at a time. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible: Should contain "qcom,msm-uart" | ||
10 | - reg: Should contain UART register location and length. | ||
11 | - interrupts: Should contain UART interrupt. | ||
12 | - clocks: Should contain the core clock. | ||
13 | - clock-names: Should be "core". | ||
14 | |||
15 | Example: | ||
16 | |||
17 | A uart device at 0xa9c00000 with interrupt 11. | ||
18 | |||
19 | serial@a9c00000 { | ||
20 | compatible = "qcom,msm-uart"; | ||
21 | reg = <0xa9c00000 0x1000>; | ||
22 | interrupts = <11>; | ||
23 | clocks = <&uart_cxc>; | ||
24 | clock-names = "core"; | ||
25 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt b/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt new file mode 100644 index 000000000000..ffa5b784c66e --- /dev/null +++ b/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt | |||
@@ -0,0 +1,53 @@ | |||
1 | * MSM Serial UARTDM | ||
2 | |||
3 | The MSM serial UARTDM hardware is designed for high-speed use cases where the | ||
4 | transmit and/or receive channels can be offloaded to a dma-engine. From a | ||
5 | software perspective it's mostly compatible with the MSM serial UART except | ||
6 | that it supports reading and writing multiple characters at a time. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible: Should contain at least "qcom,msm-uartdm". | ||
10 | A more specific property should be specified as follows depending | ||
11 | on the version: | ||
12 | "qcom,msm-uartdm-v1.1" | ||
13 | "qcom,msm-uartdm-v1.2" | ||
14 | "qcom,msm-uartdm-v1.3" | ||
15 | "qcom,msm-uartdm-v1.4" | ||
16 | - reg: Should contain UART register locations and lengths. The first | ||
17 | register shall specify the main control registers. An optional second | ||
18 | register location shall specify the GSBI control region. | ||
19 | "qcom,msm-uartdm-v1.3" is the only compatible value that might | ||
20 | need the GSBI control region. | ||
21 | - interrupts: Should contain UART interrupt. | ||
22 | - clocks: Should contain the core clock and the AHB clock. | ||
23 | - clock-names: Should be "core" for the core clock and "iface" for the | ||
24 | AHB clock. | ||
25 | |||
26 | Optional properties: | ||
27 | - dmas: Should contain dma specifiers for transmit and receive channels | ||
28 | - dma-names: Should contain "tx" for transmit and "rx" for receive channels | ||
29 | |||
30 | Examples: | ||
31 | |||
32 | A uartdm v1.4 device with dma capabilities. | ||
33 | |||
34 | serial@f991e000 { | ||
35 | compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; | ||
36 | reg = <0xf991e000 0x1000>; | ||
37 | interrupts = <0 108 0x0>; | ||
38 | clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>; | ||
39 | clock-names = "core", "iface"; | ||
40 | dmas = <&dma0 0>, <&dma0 1>; | ||
41 | dma-names = "tx", "rx"; | ||
42 | }; | ||
43 | |||
44 | A uartdm v1.3 device without dma capabilities and part of a GSBI complex. | ||
45 | |||
46 | serial@19c40000 { | ||
47 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; | ||
48 | reg = <0x19c40000 0x1000>, | ||
49 | <0x19c00000 0x1000>; | ||
50 | interrupts = <0 195 0x0>; | ||
51 | clocks = <&gsbi5_uart_cxc>, <&gsbi5_ahb_cxc>; | ||
52 | clock-names = "core", "iface"; | ||
53 | }; | ||
diff --git a/Documentation/devicetree/bindings/tty/serial/msm_serial.txt b/Documentation/devicetree/bindings/tty/serial/msm_serial.txt deleted file mode 100644 index aef383eb8876..000000000000 --- a/Documentation/devicetree/bindings/tty/serial/msm_serial.txt +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | * Qualcomm MSM UART | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : | ||
5 | - "qcom,msm-uart", and one of "qcom,msm-hsuart" or | ||
6 | "qcom,msm-lsuart". | ||
7 | - reg : offset and length of the register set for the device | ||
8 | for the hsuart operating in compatible mode, there should be a | ||
9 | second pair describing the gsbi registers. | ||
10 | - interrupts : should contain the uart interrupt. | ||
11 | |||
12 | There are two different UART blocks used in MSM devices, | ||
13 | "qcom,msm-hsuart" and "qcom,msm-lsuart". The msm-serial driver is | ||
14 | able to handle both of these, and matches against the "qcom,msm-uart" | ||
15 | as the compatibility. | ||
16 | |||
17 | The registers for the "qcom,msm-hsuart" device need to specify both | ||
18 | register blocks, even for the common driver. | ||
19 | |||
20 | Example: | ||
21 | |||
22 | uart@19c400000 { | ||
23 | compatible = "qcom,msm-hsuart", "qcom,msm-uart"; | ||
24 | reg = <0x19c40000 0x1000>, | ||
25 | <0x19c00000 0x1000>; | ||
26 | interrupts = <195>; | ||
27 | }; | ||