1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: "http://devicetree.org/schemas/serial/renesas,hscif.yaml#" 5c66ec88fSEmmanuel Vadot$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Renesas High Speed Serial Communication Interface with FIFO (HSCIF) 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Geert Uytterhoeven <geert+renesas@glider.be> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel VadotallOf: 13c66ec88fSEmmanuel Vadot - $ref: serial.yaml# 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel Vadotproperties: 16c66ec88fSEmmanuel Vadot compatible: 17c66ec88fSEmmanuel Vadot oneOf: 18c66ec88fSEmmanuel Vadot - items: 19c66ec88fSEmmanuel Vadot - enum: 20c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7778 # R-Car M1 21c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7779 # R-Car H1 22c66ec88fSEmmanuel Vadot - const: renesas,rcar-gen1-hscif # R-Car Gen1 23c66ec88fSEmmanuel Vadot - const: renesas,hscif # generic HSCIF compatible UART 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot - items: 26c66ec88fSEmmanuel Vadot - enum: 27c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7742 # RZ/G1H 28c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7743 # RZ/G1M 29c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7744 # RZ/G1N 30c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7745 # RZ/G1E 31c66ec88fSEmmanuel Vadot - renesas,hscif-r8a77470 # RZ/G1C 32c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7790 # R-Car H2 33c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7791 # R-Car M2-W 34c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7792 # R-Car V2H 35c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7793 # R-Car M2-N 36c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7794 # R-Car E2 37c66ec88fSEmmanuel Vadot - const: renesas,rcar-gen2-hscif # R-Car Gen2 and RZ/G1 38c66ec88fSEmmanuel Vadot - const: renesas,hscif # generic HSCIF compatible UART 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot - items: 41c66ec88fSEmmanuel Vadot - enum: 42c66ec88fSEmmanuel Vadot - renesas,hscif-r8a774a1 # RZ/G2M 43c66ec88fSEmmanuel Vadot - renesas,hscif-r8a774b1 # RZ/G2N 44c66ec88fSEmmanuel Vadot - renesas,hscif-r8a774c0 # RZ/G2E 456be33864SEmmanuel Vadot - renesas,hscif-r8a774e1 # RZ/G2H 46c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7795 # R-Car H3 47c66ec88fSEmmanuel Vadot - renesas,hscif-r8a7796 # R-Car M3-W 48c66ec88fSEmmanuel Vadot - renesas,hscif-r8a77961 # R-Car M3-W+ 49c66ec88fSEmmanuel Vadot - renesas,hscif-r8a77965 # R-Car M3-N 50c66ec88fSEmmanuel Vadot - renesas,hscif-r8a77970 # R-Car V3M 51c66ec88fSEmmanuel Vadot - renesas,hscif-r8a77980 # R-Car V3H 52c66ec88fSEmmanuel Vadot - renesas,hscif-r8a77990 # R-Car E3 53c66ec88fSEmmanuel Vadot - renesas,hscif-r8a77995 # R-Car D3 54c66ec88fSEmmanuel Vadot - const: renesas,rcar-gen3-hscif # R-Car Gen3 and RZ/G2 55c66ec88fSEmmanuel Vadot - const: renesas,hscif # generic HSCIF compatible UART 56c66ec88fSEmmanuel Vadot 57d5b0e70fSEmmanuel Vadot - items: 58d5b0e70fSEmmanuel Vadot - enum: 59d5b0e70fSEmmanuel Vadot - renesas,hscif-r8a779a0 # R-Car V3U 60*b97ee269SEmmanuel Vadot - renesas,hscif-r8a779f0 # R-Car S4-8 61d5b0e70fSEmmanuel Vadot - renesas,hscif-r8a779g0 # R-Car V4H 62d5b0e70fSEmmanuel Vadot - const: renesas,rcar-gen4-hscif # R-Car Gen4 63d5b0e70fSEmmanuel Vadot - const: renesas,hscif # generic HSCIF compatible UART 64d5b0e70fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot reg: 66c66ec88fSEmmanuel Vadot maxItems: 1 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot interrupts: 69c66ec88fSEmmanuel Vadot maxItems: 1 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot clocks: 72c66ec88fSEmmanuel Vadot minItems: 1 73c66ec88fSEmmanuel Vadot maxItems: 4 74c66ec88fSEmmanuel Vadot 75c66ec88fSEmmanuel Vadot clock-names: 76c66ec88fSEmmanuel Vadot minItems: 1 77c66ec88fSEmmanuel Vadot maxItems: 4 78c66ec88fSEmmanuel Vadot items: 79c66ec88fSEmmanuel Vadot enum: 80c66ec88fSEmmanuel Vadot - fck # UART functional clock 81c66ec88fSEmmanuel Vadot - hsck # optional external clock input 82c66ec88fSEmmanuel Vadot - brg_int # optional internal clock source for BRG frequency divider 83c66ec88fSEmmanuel Vadot - scif_clk # optional external clock source for BRG frequency divider 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot power-domains: 86c66ec88fSEmmanuel Vadot maxItems: 1 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadot resets: 89c66ec88fSEmmanuel Vadot maxItems: 1 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel Vadot dmas: 925def4c47SEmmanuel Vadot minItems: 2 935def4c47SEmmanuel Vadot maxItems: 4 94c66ec88fSEmmanuel Vadot description: 95c66ec88fSEmmanuel Vadot Must contain a list of pairs of references to DMA specifiers, one for 96c66ec88fSEmmanuel Vadot transmission, and one for reception. 97c66ec88fSEmmanuel Vadot 98c66ec88fSEmmanuel Vadot dma-names: 99c66ec88fSEmmanuel Vadot minItems: 2 100c66ec88fSEmmanuel Vadot maxItems: 4 101c66ec88fSEmmanuel Vadot items: 102c66ec88fSEmmanuel Vadot enum: 103c66ec88fSEmmanuel Vadot - tx 104c66ec88fSEmmanuel Vadot - rx 105c66ec88fSEmmanuel Vadot 106c66ec88fSEmmanuel Vadotrequired: 107c66ec88fSEmmanuel Vadot - compatible 108c66ec88fSEmmanuel Vadot - reg 109c66ec88fSEmmanuel Vadot - interrupts 110c66ec88fSEmmanuel Vadot - clocks 111c66ec88fSEmmanuel Vadot - clock-names 112c66ec88fSEmmanuel Vadot - power-domains 113c66ec88fSEmmanuel Vadot 1146be33864SEmmanuel VadotunevaluatedProperties: false 1156be33864SEmmanuel Vadot 116c66ec88fSEmmanuel Vadotif: 117c66ec88fSEmmanuel Vadot properties: 118c66ec88fSEmmanuel Vadot compatible: 119c66ec88fSEmmanuel Vadot contains: 120c66ec88fSEmmanuel Vadot enum: 121c66ec88fSEmmanuel Vadot - renesas,rcar-gen2-hscif 122c66ec88fSEmmanuel Vadot - renesas,rcar-gen3-hscif 123d5b0e70fSEmmanuel Vadot - renesas,rcar-gen4-hscif 124c66ec88fSEmmanuel Vadotthen: 125c66ec88fSEmmanuel Vadot required: 126c66ec88fSEmmanuel Vadot - resets 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadotexamples: 129c66ec88fSEmmanuel Vadot - | 130c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/r8a7795-cpg-mssr.h> 131c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 132c66ec88fSEmmanuel Vadot #include <dt-bindings/power/r8a7795-sysc.h> 133c66ec88fSEmmanuel Vadot aliases { 134c66ec88fSEmmanuel Vadot serial1 = &hscif1; 135c66ec88fSEmmanuel Vadot }; 136c66ec88fSEmmanuel Vadot 137c66ec88fSEmmanuel Vadot hscif1: serial@e6550000 { 138c66ec88fSEmmanuel Vadot compatible = "renesas,hscif-r8a7795", "renesas,rcar-gen3-hscif", 139c66ec88fSEmmanuel Vadot "renesas,hscif"; 140c66ec88fSEmmanuel Vadot reg = <0xe6550000 96>; 141c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 142c66ec88fSEmmanuel Vadot clocks = <&cpg CPG_MOD 519>, <&cpg CPG_CORE R8A7795_CLK_S3D1>, 143c66ec88fSEmmanuel Vadot <&scif_clk>; 144c66ec88fSEmmanuel Vadot clock-names = "fck", "brg_int", "scif_clk"; 145c66ec88fSEmmanuel Vadot dmas = <&dmac1 0x33>, <&dmac1 0x32>, <&dmac2 0x33>, <&dmac2 0x32>; 146c66ec88fSEmmanuel Vadot dma-names = "tx", "rx", "tx", "rx"; 147c66ec88fSEmmanuel Vadot power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 148c66ec88fSEmmanuel Vadot resets = <&cpg 519>; 149c66ec88fSEmmanuel Vadot uart-has-rtscts; 150c66ec88fSEmmanuel Vadot }; 151