snps,dwcmshc-sdhci.yaml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mmc/snps,dwcmshc-sdhci.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Synopsys Designware Mobile Storage Host Controller
  7. maintainers:
  8. - Ulf Hansson <ulf.hansson@linaro.org>
  9. - Jisheng Zhang <Jisheng.Zhang@synaptics.com>
  10. properties:
  11. compatible:
  12. oneOf:
  13. - items:
  14. - const: rockchip,rk3576-dwcmshc
  15. - const: rockchip,rk3588-dwcmshc
  16. - enum:
  17. - rockchip,rk3568-dwcmshc
  18. - rockchip,rk3588-dwcmshc
  19. - snps,dwcmshc-sdhci
  20. - sophgo,cv1800b-dwcmshc
  21. - sophgo,sg2002-dwcmshc
  22. - sophgo,sg2042-dwcmshc
  23. - thead,th1520-dwcmshc
  24. reg:
  25. maxItems: 1
  26. interrupts:
  27. maxItems: 1
  28. clocks:
  29. minItems: 1
  30. maxItems: 5
  31. clock-names:
  32. minItems: 1
  33. maxItems: 5
  34. power-domains:
  35. maxItems: 1
  36. resets:
  37. maxItems: 5
  38. reset-names:
  39. items:
  40. - const: core
  41. - const: bus
  42. - const: axi
  43. - const: block
  44. - const: timer
  45. rockchip,txclk-tapnum:
  46. description: Specify the number of delay for tx sampling.
  47. $ref: /schemas/types.yaml#/definitions/uint8
  48. required:
  49. - compatible
  50. - reg
  51. - interrupts
  52. - clocks
  53. - clock-names
  54. allOf:
  55. - $ref: mmc-controller.yaml#
  56. - if:
  57. properties:
  58. compatible:
  59. contains:
  60. const: sophgo,sg2042-dwcmshc
  61. then:
  62. properties:
  63. clocks:
  64. items:
  65. - description: core clock
  66. - description: bus clock
  67. - description: timer clock
  68. clock-names:
  69. items:
  70. - const: core
  71. - const: bus
  72. - const: timer
  73. else:
  74. properties:
  75. clocks:
  76. minItems: 1
  77. items:
  78. - description: core clock
  79. - description: bus clock for optional
  80. - description: axi clock for rockchip specified
  81. - description: block clock for rockchip specified
  82. - description: timer clock for rockchip specified
  83. clock-names:
  84. minItems: 1
  85. items:
  86. - const: core
  87. - const: bus
  88. - const: axi
  89. - const: block
  90. - const: timer
  91. - if:
  92. properties:
  93. compatible:
  94. contains:
  95. const: rockchip,rk3576-dwcmshc
  96. then:
  97. required:
  98. - power-domains
  99. else:
  100. properties:
  101. power-domains: false
  102. unevaluatedProperties: false
  103. examples:
  104. - |
  105. mmc@fe310000 {
  106. compatible = "rockchip,rk3568-dwcmshc";
  107. reg = <0xfe310000 0x10000>;
  108. interrupts = <0 25 0x4>;
  109. clocks = <&cru 17>, <&cru 18>, <&cru 19>, <&cru 20>, <&cru 21>;
  110. clock-names = "core", "bus", "axi", "block", "timer";
  111. bus-width = <8>;
  112. #address-cells = <1>;
  113. #size-cells = <0>;
  114. };
  115. - |
  116. mmc@aa0000 {
  117. compatible = "snps,dwcmshc-sdhci";
  118. reg = <0xaa000 0x1000>;
  119. interrupts = <0 25 0x4>;
  120. clocks = <&cru 17>, <&cru 18>;
  121. clock-names = "core", "bus";
  122. bus-width = <8>;
  123. #address-cells = <1>;
  124. #size-cells = <0>;
  125. };
  126. ...