xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-mpc.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1* I2C
2
3Required properties :
4
5 - reg : Offset and length of the register set for the device
6 - compatible : should be "fsl,CHIP-i2c" where CHIP is the name of a
7   compatible processor, e.g. mpc8313, mpc8543, mpc8544, mpc5121,
8   mpc5200 or mpc5200b. For the mpc5121, an additional node
9   "fsl,mpc5121-i2c-ctrl" is required as shown in the example below.
10
11Recommended properties :
12
13 - interrupts : <a b> where a is the interrupt number and b is a
14   field that represents an encoding of the sense and level
15   information for the interrupt.  This should be encoded based on
16   the information in section 2) depending on the type of interrupt
17   controller you have.
18 - fsl,preserve-clocking : boolean; if defined, the clock settings
19   from the bootloader are preserved (not touched).
20 - clock-frequency : desired I2C bus clock frequency in Hz.
21 - fsl,timeout : I2C bus timeout in microseconds.
22
23Examples :
24
25	/* MPC5121 based board */
26	i2c@1740 {
27		#address-cells = <1>;
28		#size-cells = <0>;
29		compatible = "fsl,mpc5121-i2c", "fsl-i2c";
30		reg = <0x1740 0x20>;
31		interrupts = <11 0x8>;
32		interrupt-parent = <&ipic>;
33		clock-frequency = <100000>;
34	};
35
36	i2ccontrol@1760 {
37		compatible = "fsl,mpc5121-i2c-ctrl";
38		reg = <0x1760 0x8>;
39	};
40
41	/* MPC5200B based board */
42	i2c@3d00 {
43		#address-cells = <1>;
44		#size-cells = <0>;
45		compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
46		reg = <0x3d00 0x40>;
47		interrupts = <2 15 0>;
48		interrupt-parent = <&mpc5200_pic>;
49		fsl,preserve-clocking;
50	};
51
52	/* MPC8544 base board */
53	i2c@3100 {
54		#address-cells = <1>;
55		#size-cells = <0>;
56		compatible = "fsl,mpc8544-i2c", "fsl-i2c";
57		reg = <0x3100 0x100>;
58		interrupts = <43 2>;
59		interrupt-parent = <&mpic>;
60		clock-frequency = <400000>;
61		fsl,timeout = <10000>;
62	};
63