~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Qualcomm Camera Control Interface (CCI) I2C controller
  8 
  9 maintainers:
 10   - Loic Poulain <loic.poulain@linaro.org>
 11   - Robert Foss <robert.foss@linaro.org>
 12 
 13 properties:
 14   compatible:
 15     oneOf:
 16       - enum:
 17           - qcom,msm8226-cci
 18           - qcom,msm8974-cci
 19           - qcom,msm8996-cci
 20 
 21       - items:
 22           - enum:
 23               - qcom,msm8916-cci
 24           - const: qcom,msm8226-cci # CCI v1
 25 
 26       - items:
 27           - enum:
 28               - qcom,sc7280-cci
 29               - qcom,sc8280xp-cci
 30               - qcom,sdm845-cci
 31               - qcom,sm6350-cci
 32               - qcom,sm8250-cci
 33               - qcom,sm8450-cci
 34               - qcom,sm8550-cci
 35               - qcom,sm8650-cci
 36           - const: qcom,msm8996-cci # CCI v2
 37 
 38   "#address-cells":
 39     const: 1
 40 
 41   "#size-cells":
 42     const: 0
 43 
 44   clocks:
 45     minItems: 3
 46     maxItems: 6
 47 
 48   clock-names:
 49     minItems: 3
 50     maxItems: 6
 51 
 52   interrupts:
 53     maxItems: 1
 54 
 55   power-domains:
 56     maxItems: 1
 57 
 58   reg:
 59     maxItems: 1
 60 
 61 patternProperties:
 62   "^i2c-bus@[01]$":
 63     $ref: /schemas/i2c/i2c-controller.yaml#
 64     unevaluatedProperties: false
 65 
 66     properties:
 67       reg:
 68         maxItems: 1
 69 
 70       clock-frequency:
 71         default: 100000
 72 
 73 required:
 74   - compatible
 75   - clock-names
 76   - clocks
 77   - interrupts
 78   - reg
 79 
 80 allOf:
 81   - if:
 82       properties:
 83         compatible:
 84           contains:
 85             enum:
 86               - qcom,msm8996-cci
 87     then:
 88       required:
 89         - power-domains
 90 
 91   - if:
 92       properties:
 93         compatible:
 94           contains:
 95             enum:
 96               - qcom,msm8226-cci
 97               - qcom,msm8916-cci
 98     then:
 99       properties:
100         i2c-bus@1: false
101 
102   - if:
103       properties:
104         compatible:
105           oneOf:
106             - contains:
107                 enum:
108                   - qcom,msm8974-cci
109 
110             - const: qcom,msm8226-cci
111     then:
112       properties:
113         clocks:
114           maxItems: 3
115         clock-names:
116           items:
117             - const: camss_top_ahb
118             - const: cci_ahb
119             - const: cci
120 
121   - if:
122       properties:
123         compatible:
124           oneOf:
125             - contains:
126                 enum:
127                   - qcom,msm8916-cci
128 
129             - const: qcom,msm8996-cci
130     then:
131       properties:
132         clocks:
133           minItems: 4
134           maxItems: 4
135         clock-names:
136           items:
137             - const: camss_top_ahb
138             - const: cci_ahb
139             - const: cci
140             - const: camss_ahb
141 
142   - if:
143       properties:
144         compatible:
145           contains:
146             enum:
147               - qcom,sdm845-cci
148               - qcom,sm6350-cci
149     then:
150       properties:
151         clocks:
152           minItems: 6
153         clock-names:
154           items:
155             - const: camnoc_axi
156             - const: soc_ahb
157             - const: slow_ahb_src
158             - const: cpas_ahb
159             - const: cci
160             - const: cci_src
161 
162   - if:
163       properties:
164         compatible:
165           contains:
166             enum:
167               - qcom,sc7280-cci
168               - qcom,sm8250-cci
169               - qcom,sm8450-cci
170     then:
171       properties:
172         clocks:
173           minItems: 5
174           maxItems: 5
175         clock-names:
176           items:
177             - const: camnoc_axi
178             - const: slow_ahb_src
179             - const: cpas_ahb
180             - const: cci
181             - const: cci_src
182 
183   - if:
184       properties:
185         compatible:
186           contains:
187             enum:
188               - qcom,sc8280xp-cci
189     then:
190       properties:
191         clocks:
192           minItems: 4
193           maxItems: 4
194         clock-names:
195           items:
196             - const: camnoc_axi
197             - const: slow_ahb_src
198             - const: cpas_ahb
199             - const: cci
200 
201   - if:
202       properties:
203         compatible:
204           contains:
205             enum:
206               - qcom,sm8550-cci
207               - qcom,sm8650-cci
208     then:
209       properties:
210         clocks:
211           minItems: 3
212           maxItems: 3
213         clock-names:
214           items:
215             - const: camnoc_axi
216             - const: cpas_ahb
217             - const: cci
218 
219 additionalProperties: false
220 
221 examples:
222   - |
223     #include <dt-bindings/clock/qcom,camcc-sdm845.h>
224     #include <dt-bindings/gpio/gpio.h>
225     #include <dt-bindings/interrupt-controller/arm-gic.h>
226 
227     cci@ac4a000 {
228         reg = <0x0ac4a000 0x4000>;
229         compatible = "qcom,sdm845-cci", "qcom,msm8996-cci";
230         #address-cells = <1>;
231         #size-cells = <0>;
232 
233         interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
234         power-domains = <&clock_camcc TITAN_TOP_GDSC>;
235 
236         clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
237                  <&clock_camcc CAM_CC_SOC_AHB_CLK>,
238                  <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
239                  <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
240                  <&clock_camcc CAM_CC_CCI_CLK>,
241                  <&clock_camcc CAM_CC_CCI_CLK_SRC>;
242         clock-names = "camnoc_axi",
243                       "soc_ahb",
244                       "slow_ahb_src",
245                       "cpas_ahb",
246                       "cci",
247                       "cci_src";
248 
249         assigned-clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
250                           <&clock_camcc CAM_CC_CCI_CLK>;
251         assigned-clock-rates = <80000000>,
252                                <37500000>;
253 
254         pinctrl-names = "default", "sleep";
255         pinctrl-0 = <&cci0_default &cci1_default>;
256         pinctrl-1 = <&cci0_sleep &cci1_sleep>;
257 
258         i2c-bus@0 {
259             reg = <0>;
260             clock-frequency = <1000000>;
261             #address-cells = <1>;
262             #size-cells = <0>;
263 
264             camera@10 {
265                 compatible = "ovti,ov8856";
266                 reg = <0x10>;
267 
268                 reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
269                 pinctrl-names = "default";
270                 pinctrl-0 = <&cam0_default>;
271 
272                 clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
273                 clock-names = "xvclk";
274                 clock-frequency = <19200000>;
275 
276                 dovdd-supply = <&vreg_lvs1a_1p8>;
277                 avdd-supply = <&cam0_avdd_2v8>;
278                 dvdd-supply = <&cam0_dvdd_1v2>;
279 
280                 port {
281                     ov8856_ep: endpoint {
282                         link-frequencies = /bits/ 64 <360000000 180000000>;
283                         data-lanes = <1 2 3 4>;
284                         remote-endpoint = <&csiphy0_ep>;
285                     };
286                 };
287             };
288         };
289 
290         cci_i2c1: i2c-bus@1 {
291             reg = <1>;
292             clock-frequency = <1000000>;
293             #address-cells = <1>;
294             #size-cells = <0>;
295 
296             camera@60 {
297                 compatible = "ovti,ov7251";
298                 reg = <0x60>;
299 
300                 enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
301                 pinctrl-names = "default";
302                 pinctrl-0 = <&cam3_default>;
303 
304                 clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
305                 clock-names = "xclk";
306                 clock-frequency = <24000000>;
307 
308                 vdddo-supply = <&vreg_lvs1a_1p8>;
309                 vdda-supply = <&cam3_avdd_2v8>;
310 
311                 port {
312                     ov7251_ep: endpoint {
313                         data-lanes = <0>;
314                         link-frequencies = /bits/ 64 <240000000 319200000>;
315                         remote-endpoint = <&csiphy3_ep>;
316                     };
317                 };
318             };
319         };
320     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php