snps-dw-apb-uart.yaml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. # SPDX-License-Identifier: GPL-2.0
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/serial/snps-dw-apb-uart.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Synopsys DesignWare ABP UART
  7. maintainers:
  8. - Rob Herring <robh@kernel.org>
  9. allOf:
  10. - $ref: serial.yaml#
  11. - $ref: rs485.yaml#
  12. - if:
  13. properties:
  14. compatible:
  15. contains:
  16. const: starfive,jh7110-uart
  17. then:
  18. properties:
  19. resets:
  20. minItems: 2
  21. else:
  22. properties:
  23. resets:
  24. maxItems: 1
  25. properties:
  26. compatible:
  27. oneOf:
  28. - items:
  29. - enum:
  30. - renesas,r9a06g032-uart
  31. - renesas,r9a06g033-uart
  32. - const: renesas,rzn1-uart
  33. - items:
  34. - enum:
  35. - rockchip,px30-uart
  36. - rockchip,rk1808-uart
  37. - rockchip,rk3036-uart
  38. - rockchip,rk3066-uart
  39. - rockchip,rk3128-uart
  40. - rockchip,rk3188-uart
  41. - rockchip,rk3288-uart
  42. - rockchip,rk3308-uart
  43. - rockchip,rk3328-uart
  44. - rockchip,rk3368-uart
  45. - rockchip,rk3399-uart
  46. - rockchip,rk3568-uart
  47. - rockchip,rk3588-uart
  48. - rockchip,rv1108-uart
  49. - rockchip,rv1126-uart
  50. - const: snps,dw-apb-uart
  51. - items:
  52. - enum:
  53. - brcm,bcm11351-dw-apb-uart
  54. - brcm,bcm21664-dw-apb-uart
  55. - const: snps,dw-apb-uart
  56. - items:
  57. - enum:
  58. - starfive,jh7100-hsuart
  59. - starfive,jh7100-uart
  60. - starfive,jh7110-uart
  61. - const: snps,dw-apb-uart
  62. - const: snps,dw-apb-uart
  63. reg:
  64. maxItems: 1
  65. interrupts:
  66. maxItems: 1
  67. clock-frequency: true
  68. clocks:
  69. minItems: 1
  70. maxItems: 2
  71. clock-names:
  72. items:
  73. - const: baudclk
  74. - const: apb_pclk
  75. dmas:
  76. maxItems: 2
  77. dma-names:
  78. items:
  79. - const: tx
  80. - const: rx
  81. snps,uart-16550-compatible:
  82. description: reflects the value of UART_16550_COMPATIBLE configuration
  83. parameter. Define this if your UART does not implement the busy functionality.
  84. type: boolean
  85. resets:
  86. minItems: 1
  87. maxItems: 2
  88. reg-shift: true
  89. reg-io-width: true
  90. dcd-override:
  91. description: Override the DCD modem status signal. This signal will
  92. always be reported as active instead of being obtained from the modem
  93. status register. Define this if your serial port does not use this
  94. pin.
  95. type: boolean
  96. dsr-override:
  97. description: Override the DTS modem status signal. This signal will
  98. always be reported as active instead of being obtained from the modem
  99. status register. Define this if your serial port does not use this
  100. pin.
  101. type: boolean
  102. cts-override:
  103. description: Override the CTS modem status signal. This signal will
  104. always be reported as active instead of being obtained from the modem
  105. status register. Define this if your serial port does not use this
  106. pin.
  107. type: boolean
  108. ri-override:
  109. description: Override the RI modem status signal. This signal will always
  110. be reported as inactive instead of being obtained from the modem status
  111. register. Define this if your serial port does not use this pin.
  112. type: boolean
  113. required:
  114. - compatible
  115. - reg
  116. unevaluatedProperties: false
  117. examples:
  118. - |
  119. serial@80230000 {
  120. compatible = "snps,dw-apb-uart";
  121. reg = <0x80230000 0x100>;
  122. clock-frequency = <3686400>;
  123. interrupts = <10>;
  124. reg-shift = <2>;
  125. reg-io-width = <4>;
  126. dcd-override;
  127. dsr-override;
  128. cts-override;
  129. ri-override;
  130. };
  131. - |
  132. // Example with one clock:
  133. serial@80230000 {
  134. compatible = "snps,dw-apb-uart";
  135. reg = <0x80230000 0x100>;
  136. clocks = <&baudclk>;
  137. interrupts = <10>;
  138. reg-shift = <2>;
  139. reg-io-width = <4>;
  140. };
  141. - |
  142. // Example with two clocks:
  143. serial@80230000 {
  144. compatible = "snps,dw-apb-uart";
  145. reg = <0x80230000 0x100>;
  146. clocks = <&baudclk>, <&apb_pclk>;
  147. clock-names = "baudclk", "apb_pclk";
  148. interrupts = <10>;
  149. reg-shift = <2>;
  150. reg-io-width = <4>;
  151. };
  152. ...