-
Notifications
You must be signed in to change notification settings - Fork 102
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
I2C: mediatek: Add driver for MediaTek I2C controller
The mediatek SoCs have I2C controller that handle I2C transfer. This patch include common I2C bus driver. This driver is compatible with I2C controller on mt65xx/mt81xx. Signed-off-by: Xudong Chen <xudong.chen@mediatek.com> Signed-off-by: Liguo Zhang <liguo.zhang@mediatek.com> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
- Loading branch information
Xudong Chen
authored and
Wolfram Sang
committed
May 31, 2015
1 parent
4c1344f
commit ce38815
Showing
4 changed files
with
737 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
* Mediatek's I2C controller | ||
|
||
The Mediatek's I2C controller is used to interface with I2C devices. | ||
|
||
Required properties: | ||
- compatible: value should be either of the following. | ||
(a) "mediatek,mt6577-i2c", for i2c compatible with mt6577 i2c. | ||
(b) "mediatek,mt6589-i2c", for i2c compatible with mt6589 i2c. | ||
(c) "mediatek,mt8127-i2c", for i2c compatible with mt8127 i2c. | ||
(d) "mediatek,mt8135-i2c", for i2c compatible with mt8135 i2c. | ||
(e) "mediatek,mt8173-i2c", for i2c compatible with mt8173 i2c. | ||
- reg: physical base address of the controller and dma base, length of memory | ||
mapped region. | ||
- interrupts: interrupt number to the cpu. | ||
- clock-div: the fixed value for frequency divider of clock source in i2c | ||
module. Each IC may be different. | ||
- clocks: clock name from clock manager | ||
- clock-names: Must include "main" and "dma", if enable have-pmic need include | ||
"pmic" extra. | ||
|
||
Optional properties: | ||
- clock-frequency: Frequency in Hz of the bus when transfer, the default value | ||
is 100000. | ||
- mediatek,have-pmic: platform can control i2c form special pmic side. | ||
Only mt6589 and mt8135 support this feature. | ||
- mediatek,use-push-pull: IO config use push-pull mode. | ||
|
||
Example: | ||
|
||
i2c0: i2c@1100d000 { | ||
compatible = "mediatek,mt6577-i2c"; | ||
reg = <0x1100d000 0x70>, | ||
<0x11000300 0x80>; | ||
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>; | ||
clock-frequency = <400000>; | ||
mediatek,have-pmic; | ||
clock-div = <16>; | ||
clocks = <&i2c0_ck>, <&ap_dma_ck>; | ||
clock-names = "main", "dma"; | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.