mediatek,uart.yaml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/serial/mediatek,uart.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: MediaTek Universal Asynchronous Receiver/Transmitter (UART)
  7. maintainers:
  8. - Matthias Brugger <matthias.bgg@gmail.com>
  9. allOf:
  10. - $ref: serial.yaml#
  11. description: |
  12. The MediaTek UART is based on the basic 8250 UART and compatible
  13. with 16550A, with enhancements for high speed baud rates and
  14. support for DMA.
  15. properties:
  16. compatible:
  17. oneOf:
  18. - const: mediatek,mt6577-uart
  19. - items:
  20. - enum:
  21. - mediatek,mt2701-uart
  22. - mediatek,mt2712-uart
  23. - mediatek,mt6572-uart
  24. - mediatek,mt6580-uart
  25. - mediatek,mt6582-uart
  26. - mediatek,mt6589-uart
  27. - mediatek,mt6755-uart
  28. - mediatek,mt6765-uart
  29. - mediatek,mt6779-uart
  30. - mediatek,mt6795-uart
  31. - mediatek,mt6797-uart
  32. - mediatek,mt6893-uart
  33. - mediatek,mt7622-uart
  34. - mediatek,mt7623-uart
  35. - mediatek,mt7629-uart
  36. - mediatek,mt7981-uart
  37. - mediatek,mt7986-uart
  38. - mediatek,mt7988-uart
  39. - mediatek,mt8127-uart
  40. - mediatek,mt8135-uart
  41. - mediatek,mt8173-uart
  42. - mediatek,mt8183-uart
  43. - mediatek,mt8186-uart
  44. - mediatek,mt8188-uart
  45. - mediatek,mt8192-uart
  46. - mediatek,mt8195-uart
  47. - mediatek,mt8365-uart
  48. - mediatek,mt8516-uart
  49. - const: mediatek,mt6577-uart
  50. reg:
  51. description: The base address of the UART register bank
  52. maxItems: 1
  53. clocks:
  54. minItems: 1
  55. items:
  56. - description: The clock the baudrate is derived from
  57. - description: The bus clock for register accesses
  58. clock-names:
  59. minItems: 1
  60. items:
  61. - const: baud
  62. - const: bus
  63. dmas:
  64. items:
  65. - description: phandle to TX DMA
  66. - description: phandle to RX DMA
  67. dma-names:
  68. items:
  69. - const: tx
  70. - const: rx
  71. interrupts:
  72. minItems: 1
  73. maxItems: 2
  74. interrupt-names:
  75. description:
  76. The UART interrupt and optionally the RX in-band wakeup interrupt.
  77. minItems: 1
  78. items:
  79. - const: uart
  80. - const: wakeup
  81. pinctrl-0: true
  82. pinctrl-1: true
  83. pinctrl-names:
  84. minItems: 1
  85. items:
  86. - const: default
  87. - const: sleep
  88. required:
  89. - compatible
  90. - reg
  91. - clocks
  92. - interrupts
  93. unevaluatedProperties: false
  94. examples:
  95. - |
  96. #include <dt-bindings/interrupt-controller/arm-gic.h>
  97. serial@11006000 {
  98. compatible = "mediatek,mt6589-uart", "mediatek,mt6577-uart";
  99. reg = <0x11006000 0x400>;
  100. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>,
  101. <GIC_SPI 52 IRQ_TYPE_EDGE_FALLING>;
  102. interrupt-names = "uart", "wakeup";
  103. clocks = <&uart_clk>, <&bus_clk>;
  104. clock-names = "baud", "bus";
  105. pinctrl-0 = <&uart_pin>;
  106. pinctrl-1 = <&uart_pin_sleep>;
  107. pinctrl-names = "default", "sleep";
  108. };