realtek,otto-timer.yaml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # SPDX-License-Identifier: GPL-2.0
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/timer/realtek,rtl8300-timer.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Realtek Timer Device Tree Bindings
  7. maintainers:
  8. - Markus Stockhausen <[email protected]>
  9. description: |
  10. The Realtek SOCs of the RTL83XX and RTL93XX series have at least 5 known
  11. timers with corresponding interrupt lines . Their speed is derived from the
  12. Lexra Bus (LXB) by dividers. Each timer has a block of 4 control registers in
  13. the address range 0xb800xxxx with following start offsets.
  14. RTL83XX: 0x3100, 0x3110, 0x3120, 0x3130, 0x3140
  15. RTL93XX: 0x3200, 0x3210, 0x3220, 0x3230, 0x3240
  16. properties:
  17. compatible:
  18. items:
  19. - enum:
  20. - realtek,rtl8380-timer
  21. - realtek,rtl8390-timer
  22. - realtek,rtl9300-timer
  23. - const: realtek,otto-timer
  24. reg:
  25. minItems: 5
  26. maxItems: 5
  27. description:
  28. List of timer register addresses.
  29. interrupts:
  30. minItems: 5
  31. maxItems: 5
  32. description:
  33. List of timer interrupts.
  34. clocks:
  35. maxItems: 1
  36. required:
  37. - compatible
  38. - reg
  39. - interrupts
  40. - clocks
  41. additionalProperties: false
  42. examples:
  43. - |
  44. timer0: timer@3100 {
  45. compatible = "realtek,rtl8380-timer", "realtek,otto-timer";
  46. reg = <0x3100 0x10>, <0x3110 0x10>, <0x3120 0x10>,
  47. <0x3130 0x10>, <0x3140 0x10>;
  48. interrupt-parent = <&intc>;
  49. interrupts = <29 4>, <28 4>, <17 4>, <16 4>, <15 4>;
  50. clocks = <&ccu CLK_LXB>;
  51. };
  52. - |
  53. timer0: timer@3100 {
  54. compatible = "realtek,rtl8390-timer", "realtek,otto-timer";
  55. reg = <0x3100 0x10>, <0x3110 0x10>, <0x3120 0x10>,
  56. <0x3130 0x10>, <0x3140 0x10>;
  57. interrupt-parent = <&intc>;
  58. interrupts = <29 4>, <28 4>, <17 4>, <16 4>, <15 4>;
  59. clocks = <&ccu CLK_LXB>;
  60. };
  61. - |
  62. timer0: timer@3200 {
  63. compatible = "realtek,rtl9300-timer", "realtek,otto-timer";
  64. reg = <0x3200 0x10>, <0x3210 0x10>, <0x3220 0x10>,
  65. <0x3230 0x10>, <0x3240 0x10>;
  66. interrupt-parent = <&intc>;
  67. interrupts = <7 4>, <8 4>, <9 4>, <10 4>, <11 4>;
  68. clocks = <&ccu CLK_LXB>;
  69. };
  70. ...