xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-qcom-cci.txt (revision 924226fba12cc9a228c73b956e1b7fa24c60b055)
1Qualcomm Camera Control Interface (CCI) I2C controller
2
3PROPERTIES:
4
5- compatible:
6	Usage: required
7	Value type: <string>
8	Definition: must be one of:
9		"qcom,msm8916-cci"
10		"qcom,msm8996-cci"
11		"qcom,sdm845-cci"
12
13- reg
14	Usage: required
15	Value type: <prop-encoded-array>
16	Definition: base address CCI I2C controller and length of memory
17		    mapped region.
18
19- interrupts:
20	Usage: required
21	Value type: <prop-encoded-array>
22	Definition: specifies the CCI I2C interrupt. The format of the
23		    specifier is defined by the binding document describing
24		    the node's interrupt parent.
25
26- clocks:
27	Usage: required
28	Value type: <prop-encoded-array>
29	Definition: a list of phandle, should contain an entry for each
30		    entries in clock-names.
31
32- clock-names
33	Usage: required
34	Value type: <string>
35	Definition: a list of clock names, must include "cci" clock.
36
37- power-domains
38	Usage: required for "qcom,msm8996-cci"
39	Value type: <prop-encoded-array>
40	Definition:
41
42SUBNODES:
43
44The CCI provides I2C masters for one (msm8916) or two i2c busses (msm8996 and
45sdm845), described as subdevices named "i2c-bus@0" and "i2c-bus@1".
46
47PROPERTIES:
48
49- reg:
50	Usage: required
51	Value type: <u32>
52	Definition: Index of the CCI bus/master
53
54- clock-frequency:
55	Usage: optional
56	Value type: <u32>
57	Definition: Desired I2C bus clock frequency in Hz, defaults to 100
58		    kHz if omitted.
59
60Example:
61
62	cci@a0c000 {
63		compatible = "qcom,msm8996-cci";
64		#address-cells = <1>;
65		#size-cells = <0>;
66		reg = <0xa0c000 0x1000>;
67		interrupts = <GIC_SPI 295 IRQ_TYPE_EDGE_RISING>;
68		clocks = <&mmcc MMSS_MMAGIC_AHB_CLK>,
69			 <&mmcc CAMSS_TOP_AHB_CLK>,
70			 <&mmcc CAMSS_CCI_AHB_CLK>,
71			 <&mmcc CAMSS_CCI_CLK>,
72			 <&mmcc CAMSS_AHB_CLK>;
73		clock-names = "mmss_mmagic_ahb",
74			      "camss_top_ahb",
75			      "cci_ahb",
76			      "cci",
77			      "camss_ahb";
78
79		i2c-bus@0 {
80			reg = <0>;
81			clock-frequency = <400000>;
82			#address-cells = <1>;
83			#size-cells = <0>;
84		};
85
86		i2c-bus@1 {
87			reg = <1>;
88			clock-frequency = <400000>;
89			#address-cells = <1>;
90			#size-cells = <0>;
91		};
92	};
93