Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | * Marvell UART : Non standard UART used in some of Marvell EBU SoCs |
| 2 | e.g., Armada-3700. |
| 3 | |
| 4 | Required properties: |
| 5 | - compatible: |
| 6 | - "marvell,armada-3700-uart" for the standard variant of the UART |
| 7 | (32 bytes FIFO, no DMA, level interrupts, 8-bit access to the |
| 8 | FIFO), called also UART1. |
| 9 | - "marvell,armada-3700-uart-ext" for the extended variant of the |
| 10 | UART (128 bytes FIFO, DMA, front interrupts, 8-bit or 32-bit |
| 11 | accesses to the FIFO), called also UART2. |
| 12 | - reg: offset and length of the register set for the device. |
| 13 | - clocks: UART reference clock used to derive the baudrate. If no clock |
| 14 | is provided (possible only with the "marvell,armada-3700-uart" |
| 15 | compatible string for backward compatibility), it will only work |
| 16 | if the baudrate was initialized by the bootloader and no baudrate |
| 17 | change will then be possible. When provided it should be UART1-clk |
| 18 | for standard variant of UART and UART2-clk for extended variant |
| 19 | of UART. TBG clock (with UART TBG divisors d1=d2=1) or xtal clock |
| 20 | should not be used and are supported only for backward compatibility. |
| 21 | - interrupts: |
| 22 | - Must contain three elements for the standard variant of the IP |
| 23 | (marvell,armada-3700-uart): "uart-sum", "uart-tx" and "uart-rx", |
| 24 | respectively the UART sum interrupt, the UART TX interrupt and |
| 25 | UART RX interrupt. A corresponding interrupt-names property must |
| 26 | be defined. |
| 27 | - Must contain two elements for the extended variant of the IP |
| 28 | (marvell,armada-3700-uart-ext): "uart-tx" and "uart-rx", |
| 29 | respectively the UART TX interrupt and the UART RX interrupt. A |
| 30 | corresponding interrupt-names property must be defined. |
| 31 | - For backward compatibility reasons, a single element interrupts |
| 32 | property is also supported for the standard variant of the IP, |
| 33 | containing only the UART sum interrupt. This form is deprecated |
| 34 | and should no longer be used. |
| 35 | |
| 36 | Example: |
| 37 | uart0: serial@12000 { |
| 38 | compatible = "marvell,armada-3700-uart"; |
| 39 | reg = <0x12000 0x18>; |
| 40 | clocks = <&uartclk 0>; |
| 41 | interrupts = |
| 42 | <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, |
| 43 | <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, |
| 44 | <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; |
| 45 | interrupt-names = "uart-sum", "uart-tx", "uart-rx"; |
| 46 | }; |
| 47 | |
| 48 | uart1: serial@12200 { |
| 49 | compatible = "marvell,armada-3700-uart-ext"; |
| 50 | reg = <0x12200 0x30>; |
| 51 | clocks = <&uartclk 1>; |
| 52 | interrupts = |
| 53 | <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>, |
| 54 | <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>; |
| 55 | interrupt-names = "uart-tx", "uart-rx"; |
| 56 | }; |