# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# # Copyright (c) 2018 Google LLC
# # Copyright (c) 2021 Aspeed Technology Inc.
%YAML 1.2
---
$id: "http://devicetree.org/schemas/soc/aspeed/uart-routing.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Aspeed UART Routing Controller

maintainers:
  - Oskar Senft <osk@google.com>
  - Chia-Wei Wang <chiawei_wang@aspeedtech.com>

description:
  The Aspeed UART routing control allow to dynamically route the inputs for
  the built-in UARTS and physical serial I/O ports.

  This allows, for example, to connect the output of UART to another UART.
  This can be used to enable Host <-> BMC communication via UARTs, e.g. to
  allow access to the Host's serial console.

  This driver is for the BMC side. The sysfs files allow the BMC userspace
  which owns the system configuration policy, to configure how UARTs and
  physical serial I/O ports are routed.

properties:
  compatible:
    items:
      - enum:
          - aspeed,ast2400-uart-routing
          - aspeed,ast2500-uart-routing
          - aspeed,ast2600-uart-routing
  reg:
    maxItems: 1

required:
  - compatible

additionalProperties: false

examples:
  - |
    lpc: lpc@1e789000 {
        compatible = "aspeed,ast2600-lpc-v2", "simple-mfd", "syscon";
        reg = <0x1e789000 0x1000>;

        #address-cells = <1>;
        #size-cells = <1>;
        ranges = <0x0 0x1e789000 0x1000>;

        uart_routing: uart-routing@98 {
            compatible = "aspeed,ast2600-uart-routing";
            reg = <0x98 0x8>;
        };
    };
