mediatek,uart.yaml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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,mt6580-uart
  24. - mediatek,mt6582-uart
  25. - mediatek,mt6589-uart
  26. - mediatek,mt6755-uart
  27. - mediatek,mt6765-uart
  28. - mediatek,mt6779-uart
  29. - mediatek,mt6795-uart
  30. - mediatek,mt6797-uart
  31. - mediatek,mt7622-uart
  32. - mediatek,mt7623-uart
  33. - mediatek,mt7629-uart
  34. - mediatek,mt7981-uart
  35. - mediatek,mt7986-uart
  36. - mediatek,mt7988-uart
  37. - mediatek,mt8127-uart
  38. - mediatek,mt8135-uart
  39. - mediatek,mt8173-uart
  40. - mediatek,mt8183-uart
  41. - mediatek,mt8186-uart
  42. - mediatek,mt8188-uart
  43. - mediatek,mt8192-uart
  44. - mediatek,mt8195-uart
  45. - mediatek,mt8365-uart
  46. - mediatek,mt8516-uart
  47. - const: mediatek,mt6577-uart
  48. reg:
  49. description: The base address of the UART register bank
  50. maxItems: 1
  51. clocks:
  52. minItems: 1
  53. items:
  54. - description: The clock the baudrate is derived from
  55. - description: The bus clock for register accesses
  56. clock-names:
  57. minItems: 1
  58. items:
  59. - const: baud
  60. - const: bus
  61. dmas:
  62. items:
  63. - description: phandle to TX DMA
  64. - description: phandle to RX DMA
  65. dma-names:
  66. items:
  67. - const: tx
  68. - const: rx
  69. interrupts:
  70. minItems: 1
  71. maxItems: 2
  72. interrupt-names:
  73. description:
  74. The UART interrupt and optionally the RX in-band wakeup interrupt.
  75. minItems: 1
  76. items:
  77. - const: uart
  78. - const: wakeup
  79. pinctrl-0: true
  80. pinctrl-1: true
  81. pinctrl-names:
  82. minItems: 1
  83. items:
  84. - const: default
  85. - const: sleep
  86. required:
  87. - compatible
  88. - reg
  89. - clocks
  90. - interrupts
  91. unevaluatedProperties: false
  92. examples:
  93. - |
  94. #include <dt-bindings/interrupt-controller/arm-gic.h>
  95. serial@11006000 {
  96. compatible = "mediatek,mt6589-uart", "mediatek,mt6577-uart";
  97. reg = <0x11006000 0x400>;
  98. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>,
  99. <GIC_SPI 52 IRQ_TYPE_EDGE_FALLING>;
  100. interrupt-names = "uart", "wakeup";
  101. clocks = <&uart_clk>, <&bus_clk>;
  102. clock-names = "baud", "bus";
  103. pinctrl-0 = <&uart_pin>;
  104. pinctrl-1 = <&uart_pin_sleep>;
  105. pinctrl-names = "default", "sleep";
  106. };