162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci# Copyright 2019 BayLibre, SAS
362306a36Sopenharmony_ci%YAML 1.2
462306a36Sopenharmony_ci---
562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/serial/amlogic,meson-uart.yaml#
662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
762306a36Sopenharmony_ci
862306a36Sopenharmony_cititle: Amlogic Meson SoC UART Serial Interface
962306a36Sopenharmony_ci
1062306a36Sopenharmony_cimaintainers:
1162306a36Sopenharmony_ci  - Neil Armstrong <neil.armstrong@linaro.org>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription: |
1462306a36Sopenharmony_ci  The Amlogic Meson SoC UART Serial Interface is present on a large range
1562306a36Sopenharmony_ci  of SoCs, and can be present either in the "Always-On" power domain or the
1662306a36Sopenharmony_ci  "Everything-Else" power domain.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci  The particularity of the "Always-On" Serial Interface is that the hardware
1962306a36Sopenharmony_ci  is active since power-on and does not need any clock gating and is usable
2062306a36Sopenharmony_ci  as very early serial console.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciallOf:
2362306a36Sopenharmony_ci  - $ref: serial.yaml#
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciproperties:
2662306a36Sopenharmony_ci  compatible:
2762306a36Sopenharmony_ci    oneOf:
2862306a36Sopenharmony_ci      - description: Always-on power domain UART controller
2962306a36Sopenharmony_ci        items:
3062306a36Sopenharmony_ci          - enum:
3162306a36Sopenharmony_ci              - amlogic,meson6-uart
3262306a36Sopenharmony_ci              - amlogic,meson8-uart
3362306a36Sopenharmony_ci              - amlogic,meson8b-uart
3462306a36Sopenharmony_ci              - amlogic,meson-gx-uart
3562306a36Sopenharmony_ci              - amlogic,meson-s4-uart
3662306a36Sopenharmony_ci              - amlogic,meson-a1-uart
3762306a36Sopenharmony_ci          - const: amlogic,meson-ao-uart
3862306a36Sopenharmony_ci      - description: Always-on power domain UART controller on G12A SoCs
3962306a36Sopenharmony_ci        items:
4062306a36Sopenharmony_ci          - const: amlogic,meson-g12a-uart
4162306a36Sopenharmony_ci          - const: amlogic,meson-gx-uart
4262306a36Sopenharmony_ci          - const: amlogic,meson-ao-uart
4362306a36Sopenharmony_ci      - description: Everything-Else power domain UART controller
4462306a36Sopenharmony_ci        enum:
4562306a36Sopenharmony_ci          - amlogic,meson6-uart
4662306a36Sopenharmony_ci          - amlogic,meson8-uart
4762306a36Sopenharmony_ci          - amlogic,meson8b-uart
4862306a36Sopenharmony_ci          - amlogic,meson-gx-uart
4962306a36Sopenharmony_ci          - amlogic,meson-s4-uart
5062306a36Sopenharmony_ci          - amlogic,meson-a1-uart
5162306a36Sopenharmony_ci      - description: Everything-Else power domain UART controller on G12A SoCs
5262306a36Sopenharmony_ci        items:
5362306a36Sopenharmony_ci          - const: amlogic,meson-g12a-uart
5462306a36Sopenharmony_ci          - const: amlogic,meson-gx-uart
5562306a36Sopenharmony_ci      - description: UART controller on S4 compatible SoCs
5662306a36Sopenharmony_ci        items:
5762306a36Sopenharmony_ci          - const: amlogic,t7-uart
5862306a36Sopenharmony_ci          - const: amlogic,meson-s4-uart
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci  reg:
6162306a36Sopenharmony_ci    maxItems: 1
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci  interrupts:
6462306a36Sopenharmony_ci    maxItems: 1
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci  clocks:
6762306a36Sopenharmony_ci    items:
6862306a36Sopenharmony_ci      - description: external xtal clock identifier
6962306a36Sopenharmony_ci      - description: the bus core clock, either the clk81 clock or the gate clock
7062306a36Sopenharmony_ci      - description: the source of the baudrate generator, can be either the xtal or the pclk
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci  clock-names:
7362306a36Sopenharmony_ci    items:
7462306a36Sopenharmony_ci      - const: xtal
7562306a36Sopenharmony_ci      - const: pclk
7662306a36Sopenharmony_ci      - const: baud
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci  fifo-size:
7962306a36Sopenharmony_ci    description: The fifo size supported by the UART channel.
8062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
8162306a36Sopenharmony_ci    enum: [64, 128]
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_cirequired:
8462306a36Sopenharmony_ci  - compatible
8562306a36Sopenharmony_ci  - reg
8662306a36Sopenharmony_ci  - interrupts
8762306a36Sopenharmony_ci  - clocks
8862306a36Sopenharmony_ci  - clock-names
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ciunevaluatedProperties: false
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ciexamples:
9362306a36Sopenharmony_ci  - |
9462306a36Sopenharmony_ci    serial@84c0 {
9562306a36Sopenharmony_ci        compatible = "amlogic,meson-gx-uart";
9662306a36Sopenharmony_ci        reg = <0x84c0 0x14>;
9762306a36Sopenharmony_ci        interrupts = <26>;
9862306a36Sopenharmony_ci        clocks = <&xtal>, <&pclk>, <&xtal>;
9962306a36Sopenharmony_ci        clock-names = "xtal", "pclk", "baud";
10062306a36Sopenharmony_ci    };
101