1c66ec88fSEmmanuel VadotI2C for Atmel platforms 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotRequired properties : 4c66ec88fSEmmanuel Vadot- compatible : Must be one of: 5c66ec88fSEmmanuel Vadot "atmel,at91rm9200-i2c", 6c66ec88fSEmmanuel Vadot "atmel,at91sam9261-i2c", 7c66ec88fSEmmanuel Vadot "atmel,at91sam9260-i2c", 8c66ec88fSEmmanuel Vadot "atmel,at91sam9g20-i2c", 9c66ec88fSEmmanuel Vadot "atmel,at91sam9g10-i2c", 10c66ec88fSEmmanuel Vadot "atmel,at91sam9x5-i2c", 11c66ec88fSEmmanuel Vadot "atmel,sama5d4-i2c", 12c66ec88fSEmmanuel Vadot "atmel,sama5d2-i2c", 13c66ec88fSEmmanuel Vadot "microchip,sam9x60-i2c". 14c66ec88fSEmmanuel Vadot- reg: physical base address of the controller and length of memory mapped 15c66ec88fSEmmanuel Vadot region. 16c66ec88fSEmmanuel Vadot- interrupts: interrupt number to the cpu. 17c66ec88fSEmmanuel Vadot- #address-cells = <1>; 18c66ec88fSEmmanuel Vadot- #size-cells = <0>; 19c66ec88fSEmmanuel Vadot- clocks: phandles to input clocks. 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel VadotOptional properties: 22c66ec88fSEmmanuel Vadot- clock-frequency: Desired I2C bus frequency in Hz, otherwise defaults to 100000 23c66ec88fSEmmanuel Vadot- dmas: A list of two dma specifiers, one for each entry in dma-names. 24c66ec88fSEmmanuel Vadot- dma-names: should contain "tx" and "rx". 25c66ec88fSEmmanuel Vadot- atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO 26c66ec88fSEmmanuel Vadot capable I2C controllers. 27c66ec88fSEmmanuel Vadot- i2c-sda-hold-time-ns: TWD hold time, only available for: 28c66ec88fSEmmanuel Vadot "atmel,sama5d4-i2c", 29c66ec88fSEmmanuel Vadot "atmel,sama5d2-i2c", 30c66ec88fSEmmanuel Vadot "microchip,sam9x60-i2c". 31c66ec88fSEmmanuel Vadot- scl-gpios: specify the gpio related to SCL pin 32c66ec88fSEmmanuel Vadot- sda-gpios: specify the gpio related to SDA pin 33c66ec88fSEmmanuel Vadot- pinctrl: add extra pinctrl to configure i2c pins to gpio function for i2c 34c66ec88fSEmmanuel Vadot bus recovery, call it "gpio" state 35c66ec88fSEmmanuel Vadot- Child nodes conforming to i2c bus binding 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot 38c66ec88fSEmmanuel VadotExamples : 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadoti2c0: i2c@fff84000 { 41c66ec88fSEmmanuel Vadot compatible = "atmel,at91sam9g20-i2c"; 42c66ec88fSEmmanuel Vadot reg = <0xfff84000 0x100>; 43c66ec88fSEmmanuel Vadot interrupts = <12 4 6>; 44c66ec88fSEmmanuel Vadot #address-cells = <1>; 45c66ec88fSEmmanuel Vadot #size-cells = <0>; 46c66ec88fSEmmanuel Vadot clocks = <&twi0_clk>; 47c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot 24c512@50 { 50c66ec88fSEmmanuel Vadot compatible = "atmel,24c512"; 51c66ec88fSEmmanuel Vadot reg = <0x50>; 52c66ec88fSEmmanuel Vadot pagesize = <128>; 53c66ec88fSEmmanuel Vadot } 54c66ec88fSEmmanuel Vadot} 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadoti2c0: i2c@f8034600 { 57c66ec88fSEmmanuel Vadot compatible = "atmel,sama5d2-i2c"; 58c66ec88fSEmmanuel Vadot reg = <0xf8034600 0x100>; 59c66ec88fSEmmanuel Vadot interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>; 60c66ec88fSEmmanuel Vadot dmas = <&dma0 61c66ec88fSEmmanuel Vadot (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)) 62c66ec88fSEmmanuel Vadot AT91_XDMAC_DT_PERID(11)>, 63c66ec88fSEmmanuel Vadot <&dma0 64c66ec88fSEmmanuel Vadot (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)) 65c66ec88fSEmmanuel Vadot AT91_XDMAC_DT_PERID(12)>; 66c66ec88fSEmmanuel Vadot dma-names = "tx", "rx"; 67c66ec88fSEmmanuel Vadot #address-cells = <1>; 68c66ec88fSEmmanuel Vadot #size-cells = <0>; 69c66ec88fSEmmanuel Vadot clocks = <&flx0>; 70c66ec88fSEmmanuel Vadot atmel,fifo-size = <16>; 71c66ec88fSEmmanuel Vadot i2c-sda-hold-time-ns = <336>; 72c66ec88fSEmmanuel Vadot pinctrl-names = "default", "gpio"; 73c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c0>; 74c66ec88fSEmmanuel Vadot pinctrl-1 = <&pinctrl_i2c0_gpio>; 75c66ec88fSEmmanuel Vadot sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>; 76*5956d97fSEmmanuel Vadot scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot wm8731: wm8731@1a { 79c66ec88fSEmmanuel Vadot compatible = "wm8731"; 80c66ec88fSEmmanuel Vadot reg = <0x1a>; 81c66ec88fSEmmanuel Vadot }; 82c66ec88fSEmmanuel Vadot}; 83