Kernel-4.18.0-80.el8_samsung_uart

  • Samsung’s UART Controller

The Samsung’s UART controller is used for interfacing SoC with serial
communicaion devices.

Required properties:

  • compatible: should be one of following:

    • “samsung,exynos4210-uart” - Exynos4210 SoC,
    • “samsung,s3c2410-uart” - compatible with ports present on S3C2410 SoC,
    • “samsung,s3c2412-uart” - compatible with ports present on S3C2412 SoC,
    • “samsung,s3c2440-uart” - compatible with ports present on S3C2440 SoC,
    • “samsung,s3c6400-uart” - compatible with ports present on S3C6400 SoC,
    • “samsung,s5pv210-uart” - compatible with ports present on S5PV210 SoC.
  • reg: base physical address of the controller and length of memory mapped
    region.

  • interrupts: a single interrupt signal to SoC interrupt controller,
    according to interrupt bindings documentation [1].

  • clock-names: input names of clocks used by the controller:

    • “uart” - controller bus clock,
    • “clk_uart_baudN” - Nth baud base clock input (N = 0, 1, …),
      according to SoC User’s Manual (only N = 0 is allowedfor SoCs without
      internal baud clock mux).
  • clocks: phandles and specifiers for all clocks specified in “clock-names”
    property, in the same order, according to clock bindings documentation [2].

[1] Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
[2] Documentation/devicetree/bindings/clock/clock-bindings.txt

Optional properties:

  • samsung,uart-fifosize: The fifo size supported by the UART channel

Note: Each Samsung UART should have an alias correctly numbered in the
“aliases” node, according to serialN format, where N is the port number
(non-negative decimal integer) as specified by User’s Manual of respective
SoC.

Example:
aliases {
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
};

Example:
uart1: serial@7f005400 {
compatible = “samsung,s3c6400-uart”;
reg = <0x7f005400 0x100>;
interrupt-parent = <&vic1>;
interrupts = <6>;
clock-names = “uart”, “clk_uart_baud2”,
“clk_uart_baud3”;
clocks = <&clocks PCLK_UART1>, <&clocks PCLK_UART1>,
<&clocks SCLK_UART>;
samsung,uart-fifosize = <16>;
};