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