i2c-mt6577.txt 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. * Mediatek's I2C controller
  2. The Mediatek's I2C controller is used to interface with I2C devices.
  3. Required properties:
  4. - compatible: value should be either of the following.
  5. (a) "mediatek,mt6577-i2c", for i2c compatible with mt6577 i2c.
  6. (b) "mediatek,mt6589-i2c", for i2c compatible with mt6589 i2c.
  7. (c) "mediatek,mt8127-i2c", for i2c compatible with mt8127 i2c.
  8. (d) "mediatek,mt8135-i2c", for i2c compatible with mt8135 i2c.
  9. (e) "mediatek,mt8173-i2c", for i2c compatible with mt8173 i2c.
  10. - reg: physical base address of the controller and dma base, length of memory
  11. mapped region.
  12. - interrupts: interrupt number to the cpu.
  13. - clock-div: the fixed value for frequency divider of clock source in i2c
  14. module. Each IC may be different.
  15. - clocks: clock name from clock manager
  16. - clock-names: Must include "main" and "dma", if enable have-pmic need include
  17. "pmic" extra.
  18. Optional properties:
  19. - clock-frequency: Frequency in Hz of the bus when transfer, the default value
  20. is 100000.
  21. - mediatek,have-pmic: platform can control i2c form special pmic side.
  22. Only mt6589 and mt8135 support this feature.
  23. - mediatek,use-push-pull: IO config use push-pull mode.
  24. Example:
  25. i2c0: i2c@1100d000 {
  26. compatible = "mediatek,mt6577-i2c";
  27. reg = <0x1100d000 0x70>,
  28. <0x11000300 0x80>;
  29. interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
  30. clock-frequency = <400000>;
  31. mediatek,have-pmic;
  32. clock-div = <16>;
  33. clocks = <&i2c0_ck>, <&ap_dma_ck>;
  34. clock-names = "main", "dma";
  35. };