| * 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>; |
| }; |
| |
| 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>; |
| }; |
| }; |