| * Synopsys DesignWare I2C | |
| Required properties : | |
| - compatible : should be "snps,designware-i2c" | |
| or "mscc,ocelot-i2c" with "snps,designware-i2c" for fallback | |
| - reg : Offset and length of the register set for the device | |
| - interrupts : <IRQ> where IRQ is the interrupt number. | |
| - clocks : phandles for the clocks, see the description of clock-names below. | |
| The phandle for the "ic_clk" clock is required. The phandle for the "pclk" | |
| clock is optional. If a single clock is specified but no clock-name, it is | |
| the "ic_clk" clock. If both clocks are listed, the "ic_clk" must be first. | |
| Recommended properties : | |
| - clock-frequency : desired I2C bus clock frequency in Hz. | |
| Optional properties : | |
| - clock-names : Contains the names of the clocks: | |
| "ic_clk", for the core clock used to generate the external I2C clock. | |
| "pclk", the interface clock, required for register access. | |
| - reg : for "mscc,ocelot-i2c", a second register set to configure the SDA hold | |
| time, named ICPU_CFG:TWI_DELAY in the datasheet. | |
| - i2c-sda-hold-time-ns : should contain the SDA hold time in nanoseconds. | |
| This option is only supported in hardware blocks version 1.11a or newer and | |
| on Microsemi SoCs ("mscc,ocelot-i2c" compatible). | |
| - i2c-scl-falling-time-ns : should contain the SCL falling time in nanoseconds. | |
| This value which is by default 300ns is used to compute the tLOW period. | |
| - i2c-sda-falling-time-ns : should contain the SDA falling time in nanoseconds. | |
| This value which is by default 300ns is used to compute the tHIGH period. | |
| Examples : | |
| i2c@f0000 { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| compatible = "snps,designware-i2c"; | |
| reg = <0xf0000 0x1000>; | |
| interrupts = <11>; | |
| clock-frequency = <400000>; | |
| }; | |
| i2c@1120000 { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| compatible = "snps,designware-i2c"; | |
| reg = <0x1120000 0x1000>; | |
| interrupt-parent = <&ictl>; | |
| interrupts = <12 1>; | |
| clock-frequency = <400000>; | |
| i2c-sda-hold-time-ns = <300>; | |
| i2c-sda-falling-time-ns = <300>; | |
| i2c-scl-falling-time-ns = <300>; | |
| };x | |
| i2c@1120000 { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| reg = <0x2000 0x100>; | |
| clock-frequency = <400000>; | |
| clocks = <&i2cclk>; | |
| interrupts = <0>; | |
| eeprom@64 { | |
| compatible = "linux,slave-24c02"; | |
| reg = <0x40000064>; | |
| }; | |
| }; |