Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 };