Re: [PATCH v2 1/3] dt-bindings: Add I2C bindings for mt65xx/mt81xx.

From: Wolfram Sang
Date: Thu Nov 13 2014 - 13:15:56 EST


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