0081-media-dt-bindings-Add-JH7110-Camera-Subsystem.patch 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. From f3195b45a3845fd3892ca932a9cc8e352942dbcd Mon Sep 17 00:00:00 2001
  2. From: Jack Zhu <[email protected]>
  3. Date: Fri, 12 May 2023 18:28:39 +0800
  4. Subject: [PATCH 081/122] media: dt-bindings: Add JH7110 Camera Subsystem
  5. Add the bindings documentation for Starfive JH7110 Camera Subsystem
  6. which is used for handing image sensor data.
  7. Reviewed-by: Krzysztof Kozlowski <[email protected]>
  8. Signed-off-by: Jack Zhu <[email protected]>
  9. ---
  10. .../bindings/media/starfive,jh7110-camss.yaml | 179 ++++++++++++++++++
  11. 1 file changed, 179 insertions(+)
  12. create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
  13. --- /dev/null
  14. +++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
  15. @@ -0,0 +1,179 @@
  16. +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  17. +%YAML 1.2
  18. +---
  19. +$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml#
  20. +$schema: http://devicetree.org/meta-schemas/core.yaml#
  21. +
  22. +title: Starfive SoC CAMSS ISP
  23. +
  24. +maintainers:
  25. + - Jack Zhu <[email protected]>
  26. + - Changhuang Liang <[email protected]>
  27. +
  28. +description:
  29. + The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It
  30. + consists of a VIN controller (Video In Controller, a top-level control until)
  31. + and an ISP.
  32. +
  33. +properties:
  34. + compatible:
  35. + const: starfive,jh7110-camss
  36. +
  37. + reg:
  38. + maxItems: 2
  39. +
  40. + reg-names:
  41. + items:
  42. + - const: syscon
  43. + - const: isp
  44. +
  45. + clocks:
  46. + maxItems: 7
  47. +
  48. + clock-names:
  49. + items:
  50. + - const: apb_func
  51. + - const: wrapper_clk_c
  52. + - const: dvp_inv
  53. + - const: axiwr
  54. + - const: mipi_rx0_pxl
  55. + - const: ispcore_2x
  56. + - const: isp_axi
  57. +
  58. + resets:
  59. + maxItems: 6
  60. +
  61. + reset-names:
  62. + items:
  63. + - const: wrapper_p
  64. + - const: wrapper_c
  65. + - const: axird
  66. + - const: axiwr
  67. + - const: isp_top_n
  68. + - const: isp_top_axi
  69. +
  70. + power-domains:
  71. + items:
  72. + - description: JH7110 ISP Power Domain Switch Controller.
  73. +
  74. + interrupts:
  75. + maxItems: 4
  76. +
  77. + ports:
  78. + $ref: /schemas/graph.yaml#/properties/ports
  79. +
  80. + properties:
  81. + port@0:
  82. + $ref: /schemas/graph.yaml#/$defs/port-base
  83. + unevaluatedProperties: false
  84. + description: Input port for receiving DVP data.
  85. +
  86. + properties:
  87. + endpoint:
  88. + $ref: video-interfaces.yaml#
  89. + unevaluatedProperties: false
  90. +
  91. + properties:
  92. + bus-type:
  93. + enum: [5, 6]
  94. +
  95. + bus-width:
  96. + enum: [8, 10, 12]
  97. +
  98. + data-shift:
  99. + enum: [0, 2]
  100. + default: 0
  101. +
  102. + hsync-active:
  103. + enum: [0, 1]
  104. + default: 1
  105. +
  106. + vsync-active:
  107. + enum: [0, 1]
  108. + default: 1
  109. +
  110. + required:
  111. + - bus-type
  112. + - bus-width
  113. +
  114. + port@1:
  115. + $ref: /schemas/graph.yaml#/properties/port
  116. + description: Input port for receiving CSI data.
  117. +
  118. + required:
  119. + - port@0
  120. + - port@1
  121. +
  122. +required:
  123. + - compatible
  124. + - reg
  125. + - reg-names
  126. + - clocks
  127. + - clock-names
  128. + - resets
  129. + - reset-names
  130. + - power-domains
  131. + - interrupts
  132. + - ports
  133. +
  134. +additionalProperties: false
  135. +
  136. +examples:
  137. + - |
  138. + isp@19840000 {
  139. + compatible = "starfive,jh7110-camss";
  140. + reg = <0x19840000 0x10000>,
  141. + <0x19870000 0x30000>;
  142. + reg-names = "syscon", "isp";
  143. + clocks = <&ispcrg 0>,
  144. + <&ispcrg 13>,
  145. + <&ispcrg 2>,
  146. + <&ispcrg 12>,
  147. + <&ispcrg 1>,
  148. + <&syscrg 51>,
  149. + <&syscrg 52>;
  150. + clock-names = "apb_func",
  151. + "wrapper_clk_c",
  152. + "dvp_inv",
  153. + "axiwr",
  154. + "mipi_rx0_pxl",
  155. + "ispcore_2x",
  156. + "isp_axi";
  157. + resets = <&ispcrg 0>,
  158. + <&ispcrg 1>,
  159. + <&ispcrg 10>,
  160. + <&ispcrg 11>,
  161. + <&syscrg 41>,
  162. + <&syscrg 42>;
  163. + reset-names = "wrapper_p",
  164. + "wrapper_c",
  165. + "axird",
  166. + "axiwr",
  167. + "isp_top_n",
  168. + "isp_top_axi";
  169. + power-domains = <&pwrc 5>;
  170. + interrupts = <92>, <87>, <88>, <90>;
  171. +
  172. + ports {
  173. + #address-cells = <1>;
  174. + #size-cells = <0>;
  175. + port@0 {
  176. + reg = <0>;
  177. + vin_from_sc2235: endpoint {
  178. + remote-endpoint = <&sc2235_to_vin>;
  179. + bus-width = <8>;
  180. + data-shift = <2>;
  181. + hsync-active = <1>;
  182. + vsync-active = <0>;
  183. + pclk-sample = <1>;
  184. + };
  185. + };
  186. +
  187. + port@1 {
  188. + reg = <1>;
  189. + vin_from_csi2rx: endpoint {
  190. + remote-endpoint = <&csi2rx_to_vin>;
  191. + };
  192. + };
  193. + };
  194. + };