xref: /linux/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm/i2c.txt (revision bd628c1bed7902ec1f24ba0fe70758949146abbe)
1* I2C
2
3The I2C controller is expressed as a bus under the CPM node.
4
5Properties:
6- compatible : "fsl,cpm1-i2c", "fsl,cpm2-i2c"
7- reg : On CPM2 devices, the second resource doesn't specify the I2C
8  Parameter RAM itself, but the I2C_BASE field of the CPM2 Parameter RAM
9  (typically 0x8afc 0x2).
10- #address-cells : Should be one. The cell is the i2c device address with
11  the r/w bit set to zero.
12- #size-cells : Should be zero.
13- clock-frequency : Can be used to set the i2c clock frequency. If
14  unspecified, a default frequency of 60kHz is being used.
15The following two properties are deprecated. They are only used by legacy
16i2c drivers to find the bus to probe:
17- linux,i2c-index : Can be used to hard code an i2c bus number. By default,
18  the bus number is dynamically assigned by the i2c core.
19- linux,i2c-class : Can be used to override the i2c class. The class is used
20  by legacy i2c device drivers to find a bus in a specific context like
21  system management, video or sound. By default, I2C_CLASS_HWMON (1) is
22  being used. The definition of the classes can be found in
23  include/i2c/i2c.h
24
25Example, based on mpc823:
26
27	i2c@860 {
28		compatible = "fsl,mpc823-i2c",
29			     "fsl,cpm1-i2c";
30		reg = <0x860 0x20 0x3c80 0x30>;
31		interrupts = <16>;
32		interrupt-parent = <&CPM_PIC>;
33		fsl,cpm-command = <0x10>;
34		#address-cells = <1>;
35		#size-cells = <0>;
36
37		rtc@68 {
38			compatible = "dallas,ds1307";
39			reg = <0x68>;
40		};
41	};
42