Commit | Line | Data |
---|---|---|
d0fc2eaa KG |
1 | * I2C |
2 | ||
3 | The I2C controller is expressed as a bus under the CPM node. | |
4 | ||
5 | Properties: | |
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. | |
15 | The following two properties are deprecated. They are only used by legacy | |
16 | i2c 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 | ||
25 | Example, 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 | }; |