162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/serial/renesas,hscif.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Renesas High Speed Serial Communication Interface with FIFO (HSCIF)
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Geert Uytterhoeven <geert+renesas@glider.be>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciallOf:
1362306a36Sopenharmony_ci  - $ref: serial.yaml#
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    oneOf:
1862306a36Sopenharmony_ci      - items:
1962306a36Sopenharmony_ci          - enum:
2062306a36Sopenharmony_ci              - renesas,hscif-r8a7778      # R-Car M1
2162306a36Sopenharmony_ci              - renesas,hscif-r8a7779      # R-Car H1
2262306a36Sopenharmony_ci          - const: renesas,rcar-gen1-hscif # R-Car Gen1
2362306a36Sopenharmony_ci          - const: renesas,hscif           # generic HSCIF compatible UART
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci      - items:
2662306a36Sopenharmony_ci          - enum:
2762306a36Sopenharmony_ci              - renesas,hscif-r8a7742      # RZ/G1H
2862306a36Sopenharmony_ci              - renesas,hscif-r8a7743      # RZ/G1M
2962306a36Sopenharmony_ci              - renesas,hscif-r8a7744      # RZ/G1N
3062306a36Sopenharmony_ci              - renesas,hscif-r8a7745      # RZ/G1E
3162306a36Sopenharmony_ci              - renesas,hscif-r8a77470     # RZ/G1C
3262306a36Sopenharmony_ci              - renesas,hscif-r8a7790      # R-Car H2
3362306a36Sopenharmony_ci              - renesas,hscif-r8a7791      # R-Car M2-W
3462306a36Sopenharmony_ci              - renesas,hscif-r8a7792      # R-Car V2H
3562306a36Sopenharmony_ci              - renesas,hscif-r8a7793      # R-Car M2-N
3662306a36Sopenharmony_ci              - renesas,hscif-r8a7794      # R-Car E2
3762306a36Sopenharmony_ci          - const: renesas,rcar-gen2-hscif # R-Car Gen2 and RZ/G1
3862306a36Sopenharmony_ci          - const: renesas,hscif           # generic HSCIF compatible UART
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci      - items:
4162306a36Sopenharmony_ci          - enum:
4262306a36Sopenharmony_ci              - renesas,hscif-r8a774a1     # RZ/G2M
4362306a36Sopenharmony_ci              - renesas,hscif-r8a774b1     # RZ/G2N
4462306a36Sopenharmony_ci              - renesas,hscif-r8a774c0     # RZ/G2E
4562306a36Sopenharmony_ci              - renesas,hscif-r8a774e1     # RZ/G2H
4662306a36Sopenharmony_ci              - renesas,hscif-r8a7795      # R-Car H3
4762306a36Sopenharmony_ci              - renesas,hscif-r8a7796      # R-Car M3-W
4862306a36Sopenharmony_ci              - renesas,hscif-r8a77961     # R-Car M3-W+
4962306a36Sopenharmony_ci              - renesas,hscif-r8a77965     # R-Car M3-N
5062306a36Sopenharmony_ci              - renesas,hscif-r8a77970     # R-Car V3M
5162306a36Sopenharmony_ci              - renesas,hscif-r8a77980     # R-Car V3H
5262306a36Sopenharmony_ci              - renesas,hscif-r8a77990     # R-Car E3
5362306a36Sopenharmony_ci              - renesas,hscif-r8a77995     # R-Car D3
5462306a36Sopenharmony_ci          - const: renesas,rcar-gen3-hscif # R-Car Gen3 and RZ/G2
5562306a36Sopenharmony_ci          - const: renesas,hscif           # generic HSCIF compatible UART
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci      - items:
5862306a36Sopenharmony_ci          - enum:
5962306a36Sopenharmony_ci              - renesas,hscif-r8a779a0     # R-Car V3U
6062306a36Sopenharmony_ci              - renesas,hscif-r8a779f0     # R-Car S4-8
6162306a36Sopenharmony_ci              - renesas,hscif-r8a779g0     # R-Car V4H
6262306a36Sopenharmony_ci          - const: renesas,rcar-gen4-hscif # R-Car Gen4
6362306a36Sopenharmony_ci          - const: renesas,hscif           # generic HSCIF compatible UART
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci  reg:
6662306a36Sopenharmony_ci    maxItems: 1
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci  interrupts:
6962306a36Sopenharmony_ci    maxItems: 1
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci  clocks:
7262306a36Sopenharmony_ci    minItems: 1
7362306a36Sopenharmony_ci    maxItems: 4
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci  clock-names:
7662306a36Sopenharmony_ci    minItems: 1
7762306a36Sopenharmony_ci    maxItems: 4
7862306a36Sopenharmony_ci    items:
7962306a36Sopenharmony_ci      enum:
8062306a36Sopenharmony_ci        - fck # UART functional clock
8162306a36Sopenharmony_ci        - hsck # optional external clock input
8262306a36Sopenharmony_ci        - brg_int # optional internal clock source for BRG frequency divider
8362306a36Sopenharmony_ci        - scif_clk # optional external clock source for BRG frequency divider
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci  power-domains:
8662306a36Sopenharmony_ci    maxItems: 1
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci  resets:
8962306a36Sopenharmony_ci    maxItems: 1
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci  dmas:
9262306a36Sopenharmony_ci    minItems: 2
9362306a36Sopenharmony_ci    maxItems: 4
9462306a36Sopenharmony_ci    description:
9562306a36Sopenharmony_ci      Must contain a list of pairs of references to DMA specifiers, one for
9662306a36Sopenharmony_ci      transmission, and one for reception.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci  dma-names:
9962306a36Sopenharmony_ci    minItems: 2
10062306a36Sopenharmony_ci    maxItems: 4
10162306a36Sopenharmony_ci    items:
10262306a36Sopenharmony_ci      enum:
10362306a36Sopenharmony_ci        - tx
10462306a36Sopenharmony_ci        - rx
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_cirequired:
10762306a36Sopenharmony_ci  - compatible
10862306a36Sopenharmony_ci  - reg
10962306a36Sopenharmony_ci  - interrupts
11062306a36Sopenharmony_ci  - clocks
11162306a36Sopenharmony_ci  - clock-names
11262306a36Sopenharmony_ci  - power-domains
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ciunevaluatedProperties: false
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ciif:
11762306a36Sopenharmony_ci  properties:
11862306a36Sopenharmony_ci    compatible:
11962306a36Sopenharmony_ci      contains:
12062306a36Sopenharmony_ci        enum:
12162306a36Sopenharmony_ci          - renesas,rcar-gen2-hscif
12262306a36Sopenharmony_ci          - renesas,rcar-gen3-hscif
12362306a36Sopenharmony_ci          - renesas,rcar-gen4-hscif
12462306a36Sopenharmony_cithen:
12562306a36Sopenharmony_ci  required:
12662306a36Sopenharmony_ci    - resets
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ciexamples:
12962306a36Sopenharmony_ci  - |
13062306a36Sopenharmony_ci    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
13162306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
13262306a36Sopenharmony_ci    #include <dt-bindings/power/r8a7795-sysc.h>
13362306a36Sopenharmony_ci    aliases {
13462306a36Sopenharmony_ci        serial1 = &hscif1;
13562306a36Sopenharmony_ci    };
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci    hscif1: serial@e6550000 {
13862306a36Sopenharmony_ci        compatible = "renesas,hscif-r8a7795", "renesas,rcar-gen3-hscif",
13962306a36Sopenharmony_ci                     "renesas,hscif";
14062306a36Sopenharmony_ci        reg = <0xe6550000 96>;
14162306a36Sopenharmony_ci        interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
14262306a36Sopenharmony_ci        clocks = <&cpg CPG_MOD 519>, <&cpg CPG_CORE R8A7795_CLK_S3D1>,
14362306a36Sopenharmony_ci                 <&scif_clk>;
14462306a36Sopenharmony_ci        clock-names = "fck", "brg_int", "scif_clk";
14562306a36Sopenharmony_ci        dmas = <&dmac1 0x33>, <&dmac1 0x32>, <&dmac2 0x33>, <&dmac2 0x32>;
14662306a36Sopenharmony_ci        dma-names = "tx", "rx", "tx", "rx";
14762306a36Sopenharmony_ci        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
14862306a36Sopenharmony_ci        resets = <&cpg 519>;
14962306a36Sopenharmony_ci        uart-has-rtscts;
15062306a36Sopenharmony_ci    };
151