On Tue, Nov 04, 2014 at 01:29:35PM +0800, Xudong Chen wrote: > Add devicetree bindings for Mediatek Soc I2C driver. > > Signed-off-by: Xudong Chen <xudong.chen@xxxxxxxxxxxx> > --- > .../devicetree/bindings/i2c/i2c-mt6577.txt | 39 ++++++++++++++++++++++ > 1 file changed, 39 insertions(+) > create mode 100644 Documentation/devicetree/bindings/i2c/i2c-mt6577.txt > > diff --git a/Documentation/devicetree/bindings/i2c/i2c-mt6577.txt b/Documentation/devicetree/bindings/i2c/i2c-mt6577.txt > new file mode 100644 > index 0000000..733e65e > --- /dev/null > +++ b/Documentation/devicetree/bindings/i2c/i2c-mt6577.txt > @@ -0,0 +1,39 @@ > +* 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. > + - 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. ? Doesn't that platform have CCF and can't we derive an I2C clock there? > + - clocks: clock name from clock manager > + - clock-names: clock name used in i2c driver probe This needs names of the clocks. Check other binding documentation for examples. > +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,have-dcm: platform has DCM(hardware digital clock manager) property. > + - mediatek,use-push-pull: IO use push-pull mode. About the last 3 ones: Can't we encode this in the driver? Like, if the compatible is "mediatek,mt6589-i2c" we know it has this and that but not this? > + > +Example: > + > + i2c0: i2c@1100d000 { > + compatible = "mediatek,mt6577-i2c"; > + reg = <0x1100d000 0x70>, > + <0x11000300 0x80>; > + interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>; > + clock-frequency = <100000>; > + mediatek,have-pmic; > + clock-div = <16>; > + clocks = <&i2c0_ck>, <&ap_dma_ck>; > + clock-names = "main", "dma"; > + }; > + > -- > 1.8.1.1.dirty >
Attachment:
signature.asc
Description: Digital signature