xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-mpc.txt (revision 02e9120893770924227138ba49df1edb3896112a)
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