Merge branch 'spi-4.20' into spi-linus
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / i2c / i2c-designware.txt
1 * Synopsys DesignWare I2C
2
3 Required properties :
4
5  - compatible : should be "snps,designware-i2c"
6                 or "mscc,ocelot-i2c" with "snps,designware-i2c" for fallback
7  - reg : Offset and length of the register set for the device
8  - interrupts : <IRQ> where IRQ is the interrupt number.
9
10 Recommended properties :
11
12  - clock-frequency : desired I2C bus clock frequency in Hz.
13
14 Optional properties :
15  - reg : for "mscc,ocelot-i2c", a second register set to configure the SDA hold
16    time, named ICPU_CFG:TWI_DELAY in the datasheet.
17
18  - i2c-sda-hold-time-ns : should contain the SDA hold time in nanoseconds.
19    This option is only supported in hardware blocks version 1.11a or newer and
20    on Microsemi SoCs ("mscc,ocelot-i2c" compatible).
21
22  - i2c-scl-falling-time-ns : should contain the SCL falling time in nanoseconds.
23    This value which is by default 300ns is used to compute the tLOW period.
24
25  - i2c-sda-falling-time-ns : should contain the SDA falling time in nanoseconds.
26    This value which is by default 300ns is used to compute the tHIGH period.
27
28 Examples :
29
30         i2c@f0000 {
31                 #address-cells = <1>;
32                 #size-cells = <0>;
33                 compatible = "snps,designware-i2c";
34                 reg = <0xf0000 0x1000>;
35                 interrupts = <11>;
36                 clock-frequency = <400000>;
37         };
38
39         i2c@1120000 {
40                 #address-cells = <1>;
41                 #size-cells = <0>;
42                 compatible = "snps,designware-i2c";
43                 reg = <0x1120000 0x1000>;
44                 interrupt-parent = <&ictl>;
45                 interrupts = <12 1>;
46                 clock-frequency = <400000>;
47                 i2c-sda-hold-time-ns = <300>;
48                 i2c-sda-falling-time-ns = <300>;
49                 i2c-scl-falling-time-ns = <300>;
50         };
51
52         i2c@1120000 {
53                 #address-cells = <1>;
54                 #size-cells = <0>;
55                 reg = <0x2000 0x100>;
56                 clock-frequency = <400000>;
57                 clocks = <&i2cclk>;
58                 interrupts = <0>;
59
60                 eeprom@64 {
61                         compatible = "linux,slave-24c02";
62                         reg = <0x40000064>;
63                 };
64         };