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