Arnd Bergmann | 787b0c1 | 2013-01-28 16:24:37 +0000 | [diff] [blame] | 1 | * ARM AMBA Primecell PL011 serial UART |
| 2 | |
| 3 | Required properties: |
Jun Nie | d5553cb | 2015-06-04 11:21:02 +0800 | [diff] [blame] | 4 | - compatible: must be "arm,primecell", "arm,pl011", "zte,zx296702-uart" |
Arnd Bergmann | 787b0c1 | 2013-01-28 16:24:37 +0000 | [diff] [blame] | 5 | - reg: exactly one register range with length 0x1000 |
| 6 | - interrupts: exactly one interrupt specifier |
| 7 | |
| 8 | Optional properties: |
Linus Torvalds | 37da7bb | 2014-12-14 15:23:32 -0800 | [diff] [blame] | 9 | - pinctrl: |
| 10 | When present, must have one state named "default", |
Linus Walleij | a81a6c6 | 2014-05-12 11:37:17 +0200 | [diff] [blame] | 11 | and may contain a second name named "sleep". The former |
| 12 | state sets up pins for ordinary operation whereas |
| 13 | the latter state will put the associated pins to sleep |
| 14 | when the UART is unused |
Linus Torvalds | 37da7bb | 2014-12-14 15:23:32 -0800 | [diff] [blame] | 15 | - clocks: |
| 16 | When present, the first clock listed must correspond to |
Linus Walleij | a81a6c6 | 2014-05-12 11:37:17 +0200 | [diff] [blame] | 17 | the clock named UARTCLK on the IP block, i.e. the clock |
| 18 | to the external serial line, whereas the second clock |
| 19 | must correspond to the PCLK clocking the internal logic |
| 20 | of the block. Just listing one clock (the first one) is |
| 21 | deprecated. |
Geert Uytterhoeven | 06e7bd1 | 2015-10-16 16:23:06 +0200 | [diff] [blame] | 22 | - clock-names: |
Linus Torvalds | 37da7bb | 2014-12-14 15:23:32 -0800 | [diff] [blame] | 23 | When present, the first clock listed must be named |
Linus Walleij | a81a6c6 | 2014-05-12 11:37:17 +0200 | [diff] [blame] | 24 | "uartclk" and the second clock listed must be named |
Arnd Bergmann | 787b0c1 | 2013-01-28 16:24:37 +0000 | [diff] [blame] | 25 | "apb_pclk" |
Linus Torvalds | 37da7bb | 2014-12-14 15:23:32 -0800 | [diff] [blame] | 26 | - dmas: |
| 27 | When present, may have one or two dma channels. |
Arnd Bergmann | 787b0c1 | 2013-01-28 16:24:37 +0000 | [diff] [blame] | 28 | The first one must be named "rx", the second one |
| 29 | must be named "tx". |
Linus Torvalds | 37da7bb | 2014-12-14 15:23:32 -0800 | [diff] [blame] | 30 | - auto-poll: |
| 31 | Enables polling when using RX DMA. |
| 32 | - poll-rate-ms: |
| 33 | Rate at which poll occurs when auto-poll is set, |
| 34 | default 100ms. |
| 35 | - poll-timeout-ms: |
| 36 | Poll timeout when auto-poll is set, default |
| 37 | 3000ms. |
Arnd Bergmann | 787b0c1 | 2013-01-28 16:24:37 +0000 | [diff] [blame] | 38 | |
| 39 | See also bindings/arm/primecell.txt |
Linus Walleij | a81a6c6 | 2014-05-12 11:37:17 +0200 | [diff] [blame] | 40 | |
| 41 | Example: |
| 42 | |
| 43 | uart@80120000 { |
| 44 | compatible = "arm,pl011", "arm,primecell"; |
| 45 | reg = <0x80120000 0x1000>; |
| 46 | interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; |
| 47 | dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>; |
| 48 | dma-names = "rx", "tx"; |
| 49 | clocks = <&foo_clk>, <&bar_clk>; |
| 50 | clock-names = "uartclk", "apb_pclk"; |
| 51 | }; |