1384d00faSGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2384d00faSGeert Uytterhoeven%YAML 1.2
3384d00faSGeert Uytterhoeven---
4384d00faSGeert Uytterhoeven$id: "http://devicetree.org/schemas/serial/renesas,hscif.yaml#"
5384d00faSGeert Uytterhoeven$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6384d00faSGeert Uytterhoeven
7384d00faSGeert Uytterhoeventitle: Renesas High Speed Serial Communication Interface with FIFO (HSCIF)
8384d00faSGeert Uytterhoeven
9384d00faSGeert Uytterhoevenmaintainers:
10384d00faSGeert Uytterhoeven  - Geert Uytterhoeven <geert+renesas@glider.be>
11384d00faSGeert Uytterhoeven
12384d00faSGeert UytterhoevenallOf:
13384d00faSGeert Uytterhoeven  - $ref: serial.yaml#
14384d00faSGeert Uytterhoeven
15384d00faSGeert Uytterhoevenproperties:
16384d00faSGeert Uytterhoeven  compatible:
17384d00faSGeert Uytterhoeven    oneOf:
18384d00faSGeert Uytterhoeven      - items:
19384d00faSGeert Uytterhoeven          - enum:
20384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7778      # R-Car M1
21384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7779      # R-Car H1
22384d00faSGeert Uytterhoeven          - const: renesas,rcar-gen1-hscif # R-Car Gen1
23384d00faSGeert Uytterhoeven          - const: renesas,hscif           # generic HSCIF compatible UART
24384d00faSGeert Uytterhoeven
25384d00faSGeert Uytterhoeven      - items:
26384d00faSGeert Uytterhoeven          - enum:
2765994c09SLad Prabhakar              - renesas,hscif-r8a7742      # RZ/G1H
28384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7743      # RZ/G1M
29384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7744      # RZ/G1N
30384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7745      # RZ/G1E
31384d00faSGeert Uytterhoeven              - renesas,hscif-r8a77470     # RZ/G1C
32384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7790      # R-Car H2
33384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7791      # R-Car M2-W
34384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7792      # R-Car V2H
35384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7793      # R-Car M2-N
36384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7794      # R-Car E2
37384d00faSGeert Uytterhoeven          - const: renesas,rcar-gen2-hscif # R-Car Gen2 and RZ/G1
38384d00faSGeert Uytterhoeven          - const: renesas,hscif           # generic HSCIF compatible UART
39384d00faSGeert Uytterhoeven
40384d00faSGeert Uytterhoeven      - items:
41384d00faSGeert Uytterhoeven          - enum:
42384d00faSGeert Uytterhoeven              - renesas,hscif-r8a774a1     # RZ/G2M
43384d00faSGeert Uytterhoeven              - renesas,hscif-r8a774b1     # RZ/G2N
44384d00faSGeert Uytterhoeven              - renesas,hscif-r8a774c0     # RZ/G2E
457d2bfdf1SLad Prabhakar              - renesas,hscif-r8a774e1     # RZ/G2H
46384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7795      # R-Car H3
47384d00faSGeert Uytterhoeven              - renesas,hscif-r8a7796      # R-Car M3-W
48384d00faSGeert Uytterhoeven              - renesas,hscif-r8a77961     # R-Car M3-W+
49384d00faSGeert Uytterhoeven              - renesas,hscif-r8a77965     # R-Car M3-N
50384d00faSGeert Uytterhoeven              - renesas,hscif-r8a77970     # R-Car V3M
51384d00faSGeert Uytterhoeven              - renesas,hscif-r8a77980     # R-Car V3H
52384d00faSGeert Uytterhoeven              - renesas,hscif-r8a77990     # R-Car E3
53384d00faSGeert Uytterhoeven              - renesas,hscif-r8a77995     # R-Car D3
54384d00faSGeert Uytterhoeven          - const: renesas,rcar-gen3-hscif # R-Car Gen3 and RZ/G2
55384d00faSGeert Uytterhoeven          - const: renesas,hscif           # generic HSCIF compatible UART
56384d00faSGeert Uytterhoeven
57384d00faSGeert Uytterhoeven  reg:
58384d00faSGeert Uytterhoeven    maxItems: 1
59384d00faSGeert Uytterhoeven
60384d00faSGeert Uytterhoeven  interrupts:
61384d00faSGeert Uytterhoeven    maxItems: 1
62384d00faSGeert Uytterhoeven
63384d00faSGeert Uytterhoeven  clocks:
64384d00faSGeert Uytterhoeven    minItems: 1
65384d00faSGeert Uytterhoeven    maxItems: 4
66384d00faSGeert Uytterhoeven
67384d00faSGeert Uytterhoeven  clock-names:
68384d00faSGeert Uytterhoeven    minItems: 1
69384d00faSGeert Uytterhoeven    maxItems: 4
70384d00faSGeert Uytterhoeven    items:
71384d00faSGeert Uytterhoeven      enum:
72384d00faSGeert Uytterhoeven        - fck # UART functional clock
73384d00faSGeert Uytterhoeven        - hsck # optional external clock input
74384d00faSGeert Uytterhoeven        - brg_int # optional internal clock source for BRG frequency divider
75384d00faSGeert Uytterhoeven        - scif_clk # optional external clock source for BRG frequency divider
76384d00faSGeert Uytterhoeven
77384d00faSGeert Uytterhoeven  power-domains:
78384d00faSGeert Uytterhoeven    maxItems: 1
79384d00faSGeert Uytterhoeven
80384d00faSGeert Uytterhoeven  resets:
81384d00faSGeert Uytterhoeven    maxItems: 1
82384d00faSGeert Uytterhoeven
83384d00faSGeert Uytterhoeven  dmas:
84384d00faSGeert Uytterhoeven    description:
85384d00faSGeert Uytterhoeven      Must contain a list of pairs of references to DMA specifiers, one for
86384d00faSGeert Uytterhoeven      transmission, and one for reception.
87384d00faSGeert Uytterhoeven
88384d00faSGeert Uytterhoeven  dma-names:
89384d00faSGeert Uytterhoeven    minItems: 2
90384d00faSGeert Uytterhoeven    maxItems: 4
91384d00faSGeert Uytterhoeven    items:
92384d00faSGeert Uytterhoeven      enum:
93384d00faSGeert Uytterhoeven        - tx
94384d00faSGeert Uytterhoeven        - rx
95384d00faSGeert Uytterhoeven
96384d00faSGeert Uytterhoevenrequired:
97384d00faSGeert Uytterhoeven  - compatible
98384d00faSGeert Uytterhoeven  - reg
99384d00faSGeert Uytterhoeven  - interrupts
100384d00faSGeert Uytterhoeven  - clocks
101384d00faSGeert Uytterhoeven  - clock-names
102384d00faSGeert Uytterhoeven  - power-domains
103384d00faSGeert Uytterhoeven
104384d00faSGeert Uytterhoevenif:
105384d00faSGeert Uytterhoeven  properties:
106384d00faSGeert Uytterhoeven    compatible:
107384d00faSGeert Uytterhoeven      contains:
108384d00faSGeert Uytterhoeven        enum:
109384d00faSGeert Uytterhoeven          - renesas,rcar-gen2-hscif
110384d00faSGeert Uytterhoeven          - renesas,rcar-gen3-hscif
111384d00faSGeert Uytterhoeventhen:
112384d00faSGeert Uytterhoeven  required:
113384d00faSGeert Uytterhoeven    - resets
114384d00faSGeert Uytterhoeven
115384d00faSGeert Uytterhoevenexamples:
116384d00faSGeert Uytterhoeven  - |
117384d00faSGeert Uytterhoeven    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
118384d00faSGeert Uytterhoeven    #include <dt-bindings/interrupt-controller/arm-gic.h>
119384d00faSGeert Uytterhoeven    #include <dt-bindings/power/r8a7795-sysc.h>
120384d00faSGeert Uytterhoeven    aliases {
121384d00faSGeert Uytterhoeven            serial1 = &hscif1;
122384d00faSGeert Uytterhoeven    };
123384d00faSGeert Uytterhoeven
124384d00faSGeert Uytterhoeven    hscif1: serial@e6550000 {
125384d00faSGeert Uytterhoeven            compatible = "renesas,hscif-r8a7795", "renesas,rcar-gen3-hscif",
126384d00faSGeert Uytterhoeven                         "renesas,hscif";
127384d00faSGeert Uytterhoeven            reg = <0xe6550000 96>;
128384d00faSGeert Uytterhoeven            interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
129384d00faSGeert Uytterhoeven            clocks = <&cpg CPG_MOD 519>, <&cpg CPG_CORE R8A7795_CLK_S3D1>,
130384d00faSGeert Uytterhoeven                     <&scif_clk>;
131384d00faSGeert Uytterhoeven            clock-names = "fck", "brg_int", "scif_clk";
132384d00faSGeert Uytterhoeven            dmas = <&dmac1 0x33>, <&dmac1 0x32>, <&dmac2 0x33>, <&dmac2 0x32>;
133384d00faSGeert Uytterhoeven            dma-names = "tx", "rx", "tx", "rx";
134384d00faSGeert Uytterhoeven            power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
135384d00faSGeert Uytterhoeven            resets = <&cpg 519>;
136384d00faSGeert Uytterhoeven            uart-has-rtscts;
137384d00faSGeert Uytterhoeven    };
138