i2c-at91.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. I2C for Atmel platforms
  2. Required properties :
  3. - compatible : Must be "atmel,at91rm9200-i2c", "atmel,at91sam9261-i2c",
  4. "atmel,at91sam9260-i2c", "atmel,at91sam9g20-i2c", "atmel,at91sam9g10-i2c",
  5. "atmel,at91sam9x5-i2c" or "atmel,sama5d2-i2c"
  6. - reg: physical base address of the controller and length of memory mapped
  7. region.
  8. - interrupts: interrupt number to the cpu.
  9. - #address-cells = <1>;
  10. - #size-cells = <0>;
  11. - clocks: phandles to input clocks.
  12. Optional properties:
  13. - clock-frequency: Desired I2C bus frequency in Hz, otherwise defaults to 100000
  14. - dmas: A list of two dma specifiers, one for each entry in dma-names.
  15. - dma-names: should contain "tx" and "rx".
  16. - atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO
  17. capable I2C controllers.
  18. - Child nodes conforming to i2c bus binding
  19. Examples :
  20. i2c0: i2c@fff84000 {
  21. compatible = "atmel,at91sam9g20-i2c";
  22. reg = <0xfff84000 0x100>;
  23. interrupts = <12 4 6>;
  24. #address-cells = <1>;
  25. #size-cells = <0>;
  26. clocks = <&twi0_clk>;
  27. clock-frequency = <400000>;
  28. 24c512@50 {
  29. compatible = "24c512";
  30. reg = <0x50>;
  31. pagesize = <128>;
  32. }
  33. }
  34. i2c0: i2c@f8034600 {
  35. compatible = "atmel,sama5d2-i2c";
  36. reg = <0xf8034600 0x100>;
  37. interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
  38. dmas = <&dma0
  39. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1))
  40. AT91_XDMAC_DT_PERID(11)>,
  41. <&dma0
  42. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1))
  43. AT91_XDMAC_DT_PERID(12)>;
  44. dma-names = "tx", "rx";
  45. #address-cells = <1>;
  46. #size-cells = <0>;
  47. clocks = <&flx0>;
  48. atmel,fifo-size = <16>;
  49. wm8731: wm8731@1a {
  50. compatible = "wm8731";
  51. reg = <0x1a>;
  52. };
  53. };