About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / serial / qcom,msm-uartdm.txt




Custom Search

Based on kernel version 4.0. Page generated on 2015-04-14 21:22 EST.

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	Note: Aliases may be defined to ensure the correct ordering of the UARTs.
31	The alias serialN will result in the UART being assigned port N.  If any
32	serialN alias exists, then an alias must exist for each enabled UART.  The
33	serialN aliases should be in a .dts file instead of in a .dtsi file.
34	
35	Examples:
36	
37	- A uartdm v1.4 device with dma capabilities.
38	
39		serial@f991e000 {
40			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
41			reg = <0xf991e000 0x1000>;
42			interrupts = <0 108 0x0>;
43			clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>;
44			clock-names = "core", "iface";
45			dmas = <&dma0 0>, <&dma0 1>;
46			dma-names = "tx", "rx";
47		};
48	
49	- A uartdm v1.3 device without dma capabilities and part of a GSBI complex.
50	
51		serial@19c40000 {
52			compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
53			reg = <0x19c40000 0x1000>,
54			<0x19c00000 0x1000>;
55			interrupts = <0 195 0x0>;
56			clocks = <&gsbi5_uart_cxc>, <&gsbi5_ahb_cxc>;
57			clock-names = "core", "iface";
58		};
59	
60	- serialN alias.
61	
62		aliases {
63			serial0 = &uarta;
64			serial1 = &uartc;
65			serial2 = &uartb;
66		};
67	
68		uarta: serial@12490000 {
69			status = "ok";
70		};
71	
72		uartb: serial@16340000 {
73			status = "ok";
74		};
75	
76		uartc: serial@1a240000 {
77			status = "ok";
78		};
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.