i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780
authorZubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Tue, 31 Mar 2015 13:03:55 +0000 (14:03 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 3 Apr 2015 19:22:52 +0000 (21:22 +0200)
Adds the i2c bus controller driver for the Ingenic JZ4780 SoC.

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Documentation/devicetree/bindings/i2c/i2c-jz4780.txt [new file with mode: 0644]
drivers/i2c/busses/Kconfig
drivers/i2c/busses/Makefile
drivers/i2c/busses/i2c-jz4780.c [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/i2c/i2c-jz4780.txt b/Documentation/devicetree/bindings/i2c/i2c-jz4780.txt
new file mode 100644 (file)
index 0000000..231e4cc
--- /dev/null
@@ -0,0 +1,35 @@
+* Ingenic JZ4780 I2C Bus controller
+
+Required properties:
+- compatible: should be "ingenic,jz4780-i2c"
+- reg: Should contain the address & size of the I2C controller registers.
+- interrupts: Should specify the interrupt provided by parent.
+- clocks: Should contain a single clock specifier for the JZ4780 I2C clock.
+- clock-frequency: desired I2C bus clock frequency in Hz.
+
+Recommended properties:
+- pinctrl-names: should be "default";
+- pinctrl-0: phandle to pinctrl function
+
+Optional properties:
+- interrupt-parent: Should be the phandle of the interrupt controller that
+  delivers interrupts to the I2C block.
+
+Example
+
+/ {
+       i2c4: i2c4@0x10054000 {
+               compatible = "ingenic,jz4780-i2c";
+               reg = <0x10054000 0x1000>;
+
+               interrupt-parent = <&intc>;
+               interrupts = <56>;
+
+               clocks = <&cgu JZ4780_CLK_SMB4>;
+               clock-frequency = <100000>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pins_i2c4_data>;
+
+       };
+};
+
Simple merge
Simple merge
Simple merge