1384d00faSGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2384d00faSGeert Uytterhoeven%YAML 1.2
3384d00faSGeert Uytterhoeven---
4*cb95de8dSRob Herring$id: http://devicetree.org/schemas/serial/renesas,hscif.yaml#
5*cb95de8dSRob Herring$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
5785a503c9SYoshihiro Shimoda      - items:
5885a503c9SYoshihiro Shimoda          - enum:
59e4de48daSGeert Uytterhoeven              - renesas,hscif-r8a779a0     # R-Car V3U
60599fc76aSWolfram Sang              - renesas,hscif-r8a779f0     # R-Car S4-8
6185a503c9SYoshihiro Shimoda              - renesas,hscif-r8a779g0     # R-Car V4H
6285a503c9SYoshihiro Shimoda          - const: renesas,rcar-gen4-hscif # R-Car Gen4
6385a503c9SYoshihiro Shimoda          - const: renesas,hscif           # generic HSCIF compatible UART
6485a503c9SYoshihiro Shimoda
65384d00faSGeert Uytterhoeven  reg:
66384d00faSGeert Uytterhoeven    maxItems: 1
67384d00faSGeert Uytterhoeven
68384d00faSGeert Uytterhoeven  interrupts:
69384d00faSGeert Uytterhoeven    maxItems: 1
70384d00faSGeert Uytterhoeven
71384d00faSGeert Uytterhoeven  clocks:
72384d00faSGeert Uytterhoeven    minItems: 1
73384d00faSGeert Uytterhoeven    maxItems: 4
74384d00faSGeert Uytterhoeven
75384d00faSGeert Uytterhoeven  clock-names:
76384d00faSGeert Uytterhoeven    minItems: 1
77384d00faSGeert Uytterhoeven    maxItems: 4
78384d00faSGeert Uytterhoeven    items:
79384d00faSGeert Uytterhoeven      enum:
80384d00faSGeert Uytterhoeven        - fck # UART functional clock
81384d00faSGeert Uytterhoeven        - hsck # optional external clock input
82384d00faSGeert Uytterhoeven        - brg_int # optional internal clock source for BRG frequency divider
83384d00faSGeert Uytterhoeven        - scif_clk # optional external clock source for BRG frequency divider
84384d00faSGeert Uytterhoeven
85384d00faSGeert Uytterhoeven  power-domains:
86384d00faSGeert Uytterhoeven    maxItems: 1
87384d00faSGeert Uytterhoeven
88384d00faSGeert Uytterhoeven  resets:
89384d00faSGeert Uytterhoeven    maxItems: 1
90384d00faSGeert Uytterhoeven
91384d00faSGeert Uytterhoeven  dmas:
920499220dSRob Herring    minItems: 2
930499220dSRob Herring    maxItems: 4
94384d00faSGeert Uytterhoeven    description:
95384d00faSGeert Uytterhoeven      Must contain a list of pairs of references to DMA specifiers, one for
96384d00faSGeert Uytterhoeven      transmission, and one for reception.
97384d00faSGeert Uytterhoeven
98384d00faSGeert Uytterhoeven  dma-names:
99384d00faSGeert Uytterhoeven    minItems: 2
100384d00faSGeert Uytterhoeven    maxItems: 4
101384d00faSGeert Uytterhoeven    items:
102384d00faSGeert Uytterhoeven      enum:
103384d00faSGeert Uytterhoeven        - tx
104384d00faSGeert Uytterhoeven        - rx
105384d00faSGeert Uytterhoeven
106384d00faSGeert Uytterhoevenrequired:
107384d00faSGeert Uytterhoeven  - compatible
108384d00faSGeert Uytterhoeven  - reg
109384d00faSGeert Uytterhoeven  - interrupts
110384d00faSGeert Uytterhoeven  - clocks
111384d00faSGeert Uytterhoeven  - clock-names
112384d00faSGeert Uytterhoeven  - power-domains
113384d00faSGeert Uytterhoeven
1146fdc6e23SRob HerringunevaluatedProperties: false
1156fdc6e23SRob Herring
116384d00faSGeert Uytterhoevenif:
117384d00faSGeert Uytterhoeven  properties:
118384d00faSGeert Uytterhoeven    compatible:
119384d00faSGeert Uytterhoeven      contains:
120384d00faSGeert Uytterhoeven        enum:
121384d00faSGeert Uytterhoeven          - renesas,rcar-gen2-hscif
122384d00faSGeert Uytterhoeven          - renesas,rcar-gen3-hscif
12385a503c9SYoshihiro Shimoda          - renesas,rcar-gen4-hscif
124384d00faSGeert Uytterhoeventhen:
125384d00faSGeert Uytterhoeven  required:
126384d00faSGeert Uytterhoeven    - resets
127384d00faSGeert Uytterhoeven
128384d00faSGeert Uytterhoevenexamples:
129384d00faSGeert Uytterhoeven  - |
130384d00faSGeert Uytterhoeven    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
131384d00faSGeert Uytterhoeven    #include <dt-bindings/interrupt-controller/arm-gic.h>
132384d00faSGeert Uytterhoeven    #include <dt-bindings/power/r8a7795-sysc.h>
133384d00faSGeert Uytterhoeven    aliases {
134384d00faSGeert Uytterhoeven        serial1 = &hscif1;
135384d00faSGeert Uytterhoeven    };
136384d00faSGeert Uytterhoeven
137384d00faSGeert Uytterhoeven    hscif1: serial@e6550000 {
138384d00faSGeert Uytterhoeven        compatible = "renesas,hscif-r8a7795", "renesas,rcar-gen3-hscif",
139384d00faSGeert Uytterhoeven                     "renesas,hscif";
140384d00faSGeert Uytterhoeven        reg = <0xe6550000 96>;
141384d00faSGeert Uytterhoeven        interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
142384d00faSGeert Uytterhoeven        clocks = <&cpg CPG_MOD 519>, <&cpg CPG_CORE R8A7795_CLK_S3D1>,
143384d00faSGeert Uytterhoeven                 <&scif_clk>;
144384d00faSGeert Uytterhoeven        clock-names = "fck", "brg_int", "scif_clk";
145384d00faSGeert Uytterhoeven        dmas = <&dmac1 0x33>, <&dmac1 0x32>, <&dmac2 0x33>, <&dmac2 0x32>;
146384d00faSGeert Uytterhoeven        dma-names = "tx", "rx", "tx", "rx";
147384d00faSGeert Uytterhoeven        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
148384d00faSGeert Uytterhoeven        resets = <&cpg 519>;
149384d00faSGeert Uytterhoeven        uart-has-rtscts;
150384d00faSGeert Uytterhoeven    };
151