# 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>;
        };
    };
