2
0

0055-dt-bindings-clock-Add-StarFive-JH7110-Video-Output-c.patch 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. From 06fa910083f37ecbc9234c7230dcbbd4d83e2f02 Mon Sep 17 00:00:00 2001
  2. From: Xingyu Wu <[email protected]>
  3. Date: Thu, 18 May 2023 18:12:28 +0800
  4. Subject: [PATCH 055/122] dt-bindings: clock: Add StarFive JH7110 Video-Output
  5. clock and reset generator
  6. Add bindings for the Video-Output clock and reset generator (VOUTCRG)
  7. on the JH7110 RISC-V SoC by StarFive Ltd.
  8. Reviewed-by: Krzysztof Kozlowski <[email protected]>
  9. Signed-off-by: Xingyu Wu <[email protected]>
  10. ---
  11. .../clock/starfive,jh7110-voutcrg.yaml | 90 +++++++++++++++++++
  12. .../dt-bindings/clock/starfive,jh7110-crg.h | 22 +++++
  13. .../dt-bindings/reset/starfive,jh7110-crg.h | 16 ++++
  14. 3 files changed, 128 insertions(+)
  15. create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh7110-voutcrg.yaml
  16. --- /dev/null
  17. +++ b/Documentation/devicetree/bindings/clock/starfive,jh7110-voutcrg.yaml
  18. @@ -0,0 +1,90 @@
  19. +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  20. +%YAML 1.2
  21. +---
  22. +$id: http://devicetree.org/schemas/clock/starfive,jh7110-voutcrg.yaml#
  23. +$schema: http://devicetree.org/meta-schemas/core.yaml#
  24. +
  25. +title: StarFive JH7110 Video-Output Clock and Reset Generator
  26. +
  27. +maintainers:
  28. + - Xingyu Wu <[email protected]>
  29. +
  30. +properties:
  31. + compatible:
  32. + const: starfive,jh7110-voutcrg
  33. +
  34. + reg:
  35. + maxItems: 1
  36. +
  37. + clocks:
  38. + items:
  39. + - description: Vout Top core
  40. + - description: Vout Top Ahb
  41. + - description: Vout Top Axi
  42. + - description: Vout Top HDMI MCLK
  43. + - description: I2STX0 BCLK
  44. + - description: external HDMI pixel
  45. +
  46. + clock-names:
  47. + items:
  48. + - const: vout_src
  49. + - const: vout_top_ahb
  50. + - const: vout_top_axi
  51. + - const: vout_top_hdmitx0_mclk
  52. + - const: i2stx0_bclk
  53. + - const: hdmitx0_pixelclk
  54. +
  55. + resets:
  56. + maxItems: 1
  57. + description: Vout Top core
  58. +
  59. + '#clock-cells':
  60. + const: 1
  61. + description:
  62. + See <dt-bindings/clock/starfive,jh7110-crg.h> for valid indices.
  63. +
  64. + '#reset-cells':
  65. + const: 1
  66. + description:
  67. + See <dt-bindings/reset/starfive,jh7110-crg.h> for valid indices.
  68. +
  69. + power-domains:
  70. + maxItems: 1
  71. + description:
  72. + Vout domain power
  73. +
  74. +required:
  75. + - compatible
  76. + - reg
  77. + - clocks
  78. + - clock-names
  79. + - resets
  80. + - '#clock-cells'
  81. + - '#reset-cells'
  82. + - power-domains
  83. +
  84. +additionalProperties: false
  85. +
  86. +examples:
  87. + - |
  88. + #include <dt-bindings/clock/starfive,jh7110-crg.h>
  89. + #include <dt-bindings/power/starfive,jh7110-pmu.h>
  90. + #include <dt-bindings/reset/starfive,jh7110-crg.h>
  91. +
  92. + voutcrg: clock-controller@295C0000 {
  93. + compatible = "starfive,jh7110-voutcrg";
  94. + reg = <0x295C0000 0x10000>;
  95. + clocks = <&syscrg JH7110_SYSCLK_VOUT_SRC>,
  96. + <&syscrg JH7110_SYSCLK_VOUT_TOP_AHB>,
  97. + <&syscrg JH7110_SYSCLK_VOUT_TOP_AXI>,
  98. + <&syscrg JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK>,
  99. + <&syscrg JH7110_SYSCLK_I2STX0_BCLK>,
  100. + <&hdmitx0_pixelclk>;
  101. + clock-names = "vout_src", "vout_top_ahb",
  102. + "vout_top_axi", "vout_top_hdmitx0_mclk",
  103. + "i2stx0_bclk", "hdmitx0_pixelclk";
  104. + resets = <&syscrg JH7110_SYSRST_VOUT_TOP_SRC>;
  105. + #clock-cells = <1>;
  106. + #reset-cells = <1>;
  107. + power-domains = <&pwrc JH7110_PD_VOUT>;
  108. + };
  109. --- a/include/dt-bindings/clock/starfive,jh7110-crg.h
  110. +++ b/include/dt-bindings/clock/starfive,jh7110-crg.h
  111. @@ -276,4 +276,26 @@
  112. #define JH7110_ISPCLK_END 14
  113. +/* VOUTCRG clocks */
  114. +#define JH7110_VOUTCLK_APB 0
  115. +#define JH7110_VOUTCLK_DC8200_PIX 1
  116. +#define JH7110_VOUTCLK_DSI_SYS 2
  117. +#define JH7110_VOUTCLK_TX_ESC 3
  118. +#define JH7110_VOUTCLK_DC8200_AXI 4
  119. +#define JH7110_VOUTCLK_DC8200_CORE 5
  120. +#define JH7110_VOUTCLK_DC8200_AHB 6
  121. +#define JH7110_VOUTCLK_DC8200_PIX0 7
  122. +#define JH7110_VOUTCLK_DC8200_PIX1 8
  123. +#define JH7110_VOUTCLK_DOM_VOUT_TOP_LCD 9
  124. +#define JH7110_VOUTCLK_DSITX_APB 10
  125. +#define JH7110_VOUTCLK_DSITX_SYS 11
  126. +#define JH7110_VOUTCLK_DSITX_DPI 12
  127. +#define JH7110_VOUTCLK_DSITX_TXESC 13
  128. +#define JH7110_VOUTCLK_MIPITX_DPHY_TXESC 14
  129. +#define JH7110_VOUTCLK_HDMI_TX_MCLK 15
  130. +#define JH7110_VOUTCLK_HDMI_TX_BCLK 16
  131. +#define JH7110_VOUTCLK_HDMI_TX_SYS 17
  132. +
  133. +#define JH7110_VOUTCLK_END 18
  134. +
  135. #endif /* __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__ */
  136. --- a/include/dt-bindings/reset/starfive,jh7110-crg.h
  137. +++ b/include/dt-bindings/reset/starfive,jh7110-crg.h
  138. @@ -195,4 +195,20 @@
  139. #define JH7110_ISPRST_END 12
  140. +/* VOUTCRG resets */
  141. +#define JH7110_VOUTRST_DC8200_AXI 0
  142. +#define JH7110_VOUTRST_DC8200_AHB 1
  143. +#define JH7110_VOUTRST_DC8200_CORE 2
  144. +#define JH7110_VOUTRST_DSITX_DPI 3
  145. +#define JH7110_VOUTRST_DSITX_APB 4
  146. +#define JH7110_VOUTRST_DSITX_RXESC 5
  147. +#define JH7110_VOUTRST_DSITX_SYS 6
  148. +#define JH7110_VOUTRST_DSITX_TXBYTEHS 7
  149. +#define JH7110_VOUTRST_DSITX_TXESC 8
  150. +#define JH7110_VOUTRST_HDMI_TX_HDMI 9
  151. +#define JH7110_VOUTRST_MIPITX_DPHY_SYS 10
  152. +#define JH7110_VOUTRST_MIPITX_DPHY_TXBYTEHS 11
  153. +
  154. +#define JH7110_VOUTRST_END 12
  155. +
  156. #endif /* __DT_BINDINGS_RESET_STARFIVE_JH7110_CRG_H__ */