pl011.yaml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. # SPDX-License-Identifier: GPL-2.0
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/serial/pl011.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: ARM AMBA Primecell PL011 serial UART
  7. maintainers:
  8. - Rob Herring <robh@kernel.org>
  9. allOf:
  10. - $ref: /schemas/arm/primecell.yaml#
  11. - $ref: serial.yaml#
  12. # Need a custom select here or 'arm,primecell' will match on lots of nodes
  13. select:
  14. properties:
  15. compatible:
  16. contains:
  17. enum:
  18. - arm,pl011
  19. required:
  20. - compatible
  21. properties:
  22. compatible:
  23. items:
  24. - const: arm,pl011
  25. - const: arm,primecell
  26. reg:
  27. maxItems: 1
  28. interrupts:
  29. maxItems: 1
  30. pinctrl-0: true
  31. pinctrl-1: true
  32. pinctrl-names:
  33. description:
  34. When present, must have one state named "default",
  35. and may contain a second name named "sleep". The former
  36. state sets up pins for ordinary operation whereas
  37. the latter state will put the associated pins to sleep
  38. when the UART is unused
  39. minItems: 1
  40. items:
  41. - const: default
  42. - const: sleep
  43. clocks:
  44. description:
  45. When present, the first clock listed must correspond to
  46. the clock named UARTCLK on the IP block, i.e. the clock
  47. to the external serial line, whereas the second clock
  48. must correspond to the PCLK clocking the internal logic
  49. of the block. Just listing one clock (the first one) is
  50. deprecated.
  51. maxItems: 2
  52. clock-names:
  53. items:
  54. - const: uartclk
  55. - const: apb_pclk
  56. dmas:
  57. minItems: 1
  58. maxItems: 2
  59. dma-names:
  60. minItems: 1
  61. items:
  62. - const: rx
  63. - const: tx
  64. auto-poll:
  65. description:
  66. Enables polling when using RX DMA.
  67. type: boolean
  68. poll-rate-ms:
  69. description:
  70. Rate at which poll occurs when auto-poll is set.
  71. default 100ms.
  72. default: 100
  73. poll-timeout-ms:
  74. description:
  75. Poll timeout when auto-poll is set, default
  76. 3000ms.
  77. default: 3000
  78. resets:
  79. maxItems: 1
  80. reg-io-width:
  81. description:
  82. The size (in bytes) of the IO accesses that should be performed
  83. on the device.
  84. enum: [1, 4]
  85. required:
  86. - compatible
  87. - reg
  88. - interrupts
  89. dependencies:
  90. poll-rate-ms: [ auto-poll ]
  91. poll-timeout-ms: [ auto-poll ]
  92. unevaluatedProperties: false
  93. examples:
  94. - |
  95. serial@80120000 {
  96. compatible = "arm,pl011", "arm,primecell";
  97. reg = <0x80120000 0x1000>;
  98. interrupts = <0 11 4>;
  99. dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>;
  100. dma-names = "rx", "tx";
  101. clocks = <&foo_clk>, <&bar_clk>;
  102. clock-names = "uartclk", "apb_pclk";
  103. };
  104. ...