renesas,sci.yaml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/serial/renesas,sci.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Renesas Serial Communication Interface
  7. maintainers:
  8. - Geert Uytterhoeven <geert+renesas@glider.be>
  9. allOf:
  10. - $ref: serial.yaml#
  11. properties:
  12. compatible:
  13. oneOf:
  14. - items:
  15. - enum:
  16. - renesas,r9a07g043-sci # RZ/G2UL and RZ/Five
  17. - renesas,r9a07g044-sci # RZ/G2{L,LC}
  18. - renesas,r9a07g054-sci # RZ/V2L
  19. - const: renesas,sci # generic SCI compatible UART
  20. - items:
  21. - const: renesas,sci # generic SCI compatible UART
  22. reg:
  23. maxItems: 1
  24. interrupts:
  25. items:
  26. - description: Error interrupt
  27. - description: Receive buffer full interrupt
  28. - description: Transmit buffer empty interrupt
  29. - description: Transmit end interrupt
  30. interrupt-names:
  31. items:
  32. - const: eri
  33. - const: rxi
  34. - const: txi
  35. - const: tei
  36. clocks:
  37. minItems: 1
  38. maxItems: 2
  39. clock-names:
  40. minItems: 1
  41. maxItems: 2
  42. items:
  43. enum:
  44. - fck # UART functional clock
  45. - sck # optional external clock input
  46. uart-has-rtscts: false
  47. required:
  48. - compatible
  49. - reg
  50. - interrupts
  51. - clocks
  52. - clock-names
  53. if:
  54. properties:
  55. compatible:
  56. contains:
  57. enum:
  58. - renesas,r9a07g043-sci
  59. - renesas,r9a07g044-sci
  60. - renesas,r9a07g054-sci
  61. then:
  62. properties:
  63. resets:
  64. maxItems: 1
  65. power-domains:
  66. maxItems: 1
  67. required:
  68. - resets
  69. - power-domains
  70. unevaluatedProperties: false
  71. examples:
  72. - |
  73. #include <dt-bindings/clock/r9a07g044-cpg.h>
  74. #include <dt-bindings/interrupt-controller/arm-gic.h>
  75. aliases {
  76. serial0 = &sci0;
  77. };
  78. sci0: serial@1004d000 {
  79. compatible = "renesas,r9a07g044-sci", "renesas,sci";
  80. reg = <0x1004d000 0x400>;
  81. interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
  82. <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
  83. <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
  84. <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>;
  85. interrupt-names = "eri", "rxi", "txi", "tei";
  86. clocks = <&cpg CPG_MOD R9A07G044_SCI0_CLKP>;
  87. clock-names = "fck";
  88. power-domains = <&cpg>;
  89. resets = <&cpg R9A07G044_SCI0_RST>;
  90. };