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