Thomas Chou | 94d8eab | 2015-12-14 20:45:08 +0800 | [diff] [blame] | 1 | * Synopsys DesignWare ABP UART |
| 2 | |
| 3 | Required properties: |
| 4 | - compatible : "snps,dw-apb-uart" |
| 5 | - reg : offset and length of the register set for the device. |
| 6 | - interrupts : should contain uart interrupt. |
| 7 | |
| 8 | Clock handling: |
| 9 | The clock rate of the input clock needs to be supplied by one of |
| 10 | - clock-frequency : the input clock frequency for the UART. |
| 11 | - clocks : phandle to the input clock |
| 12 | |
| 13 | The supplying peripheral clock can also be handled, needing a second property |
| 14 | - clock-names: tuple listing input clock names. |
| 15 | Required elements: "baudclk", "apb_pclk" |
| 16 | |
| 17 | Optional properties: |
| 18 | - snps,uart-16550-compatible : reflects the value of UART_16550_COMPATIBLE |
| 19 | configuration parameter. Define this if your UART does not implement the busy |
| 20 | functionality. |
| 21 | - resets : phandle to the parent reset controller. |
| 22 | - reg-shift : quantity to shift the register offsets by. If this property is |
| 23 | not present then the register offsets are not shifted. |
| 24 | - reg-io-width : the size (in bytes) of the IO accesses that should be |
| 25 | performed on the device. If this property is not present then single byte |
| 26 | accesses are used. |
| 27 | - dcd-override : Override the DCD modem status signal. This signal will always |
| 28 | be reported as active instead of being obtained from the modem status |
| 29 | register. Define this if your serial port does not use this pin. |
| 30 | - dsr-override : Override the DTS modem status signal. This signal will always |
| 31 | be reported as active instead of being obtained from the modem status |
| 32 | register. Define this if your serial port does not use this pin. |
| 33 | - cts-override : Override the CTS modem status signal. This signal will always |
| 34 | be reported as active instead of being obtained from the modem status |
| 35 | register. Define this if your serial port does not use this pin. |
| 36 | - ri-override : Override the RI modem status signal. This signal will always be |
| 37 | reported as inactive instead of being obtained from the modem status register. |
| 38 | Define this if your serial port does not use this pin. |
| 39 | |
| 40 | Example: |
| 41 | |
| 42 | uart@80230000 { |
| 43 | compatible = "snps,dw-apb-uart"; |
| 44 | reg = <0x80230000 0x100>; |
| 45 | clock-frequency = <3686400>; |
| 46 | interrupts = <10>; |
| 47 | reg-shift = <2>; |
| 48 | reg-io-width = <4>; |
| 49 | dcd-override; |
| 50 | dsr-override; |
| 51 | cts-override; |
| 52 | ri-override; |
| 53 | }; |
| 54 | |
| 55 | Example with one clock: |
| 56 | |
| 57 | uart@80230000 { |
| 58 | compatible = "snps,dw-apb-uart"; |
| 59 | reg = <0x80230000 0x100>; |
| 60 | clocks = <&baudclk>; |
| 61 | interrupts = <10>; |
| 62 | reg-shift = <2>; |
| 63 | reg-io-width = <4>; |
| 64 | }; |
| 65 | |
| 66 | Example with two clocks: |
| 67 | |
| 68 | uart@80230000 { |
| 69 | compatible = "snps,dw-apb-uart"; |
| 70 | reg = <0x80230000 0x100>; |
| 71 | clocks = <&baudclk>, <&apb_pclk>; |
| 72 | clock-names = "baudclk", "apb_pclk"; |
| 73 | interrupts = <10>; |
| 74 | reg-shift = <2>; |
| 75 | reg-io-width = <4>; |
| 76 | }; |