0001 * Marvell UART : Non standard UART used in some of Marvell EBU SoCs
0002 e.g., Armada-3700.
0003
0004 Required properties:
0005 - compatible:
0006 - "marvell,armada-3700-uart" for the standard variant of the UART
0007 (32 bytes FIFO, no DMA, level interrupts, 8-bit access to the
0008 FIFO), called also UART1.
0009 - "marvell,armada-3700-uart-ext" for the extended variant of the
0010 UART (128 bytes FIFO, DMA, front interrupts, 8-bit or 32-bit
0011 accesses to the FIFO), called also UART2.
0012 - reg: offset and length of the register set for the device.
0013 - clocks: UART reference clock used to derive the baudrate. If no clock
0014 is provided (possible only with the "marvell,armada-3700-uart"
0015 compatible string for backward compatibility), it will only work
0016 if the baudrate was initialized by the bootloader and no baudrate
0017 change will then be possible. When provided it should be UART1-clk
0018 for standard variant of UART and UART2-clk for extended variant
0019 of UART. TBG clock (with UART TBG divisors d1=d2=1) or xtal clock
0020 should not be used and are supported only for backward compatibility.
0021 - interrupts:
0022 - Must contain three elements for the standard variant of the IP
0023 (marvell,armada-3700-uart): "uart-sum", "uart-tx" and "uart-rx",
0024 respectively the UART sum interrupt, the UART TX interrupt and
0025 UART RX interrupt. A corresponding interrupt-names property must
0026 be defined.
0027 - Must contain two elements for the extended variant of the IP
0028 (marvell,armada-3700-uart-ext): "uart-tx" and "uart-rx",
0029 respectively the UART TX interrupt and the UART RX interrupt. A
0030 corresponding interrupt-names property must be defined.
0031 - For backward compatibility reasons, a single element interrupts
0032 property is also supported for the standard variant of the IP,
0033 containing only the UART sum interrupt. This form is deprecated
0034 and should no longer be used.
0035
0036 Example:
0037 uart0: serial@12000 {
0038 compatible = "marvell,armada-3700-uart";
0039 reg = <0x12000 0x18>;
0040 clocks = <&uartclk 0>;
0041 interrupts =
0042 <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
0043 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
0044 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
0045 interrupt-names = "uart-sum", "uart-tx", "uart-rx";
0046 };
0047
0048 uart1: serial@12200 {
0049 compatible = "marvell,armada-3700-uart-ext";
0050 reg = <0x12200 0x30>;
0051 clocks = <&uartclk 1>;
0052 interrupts =
0053 <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
0054 <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;
0055 interrupt-names = "uart-tx", "uart-rx";
0056 };