ARM: davinci: da850: add DT node for I2C0
authorVishwanathrao Badarkhe, Manish <manishv.b@ti.com>
Wed, 6 Feb 2013 09:36:22 +0000 (15:06 +0530)
committerSekhar Nori <nsekhar@ti.com>
Sat, 9 Feb 2013 17:07:43 +0000 (22:37 +0530)
Add I2C0 device tree and pin muxing information to da850-evm.
Also, add OF_DEV_AUXDATA for I2C0 controller driver in da850
board dt file to use I2C0 clock.
Verified i2c0 node gets created in sys class interface as
"/sys/class/i2c-dev/i2c-0/subsystem/i2c-0".

nsekhar@ti.com: tested using i2cdetect and i2cdump.

Signed-off-by: Vishwanathrao Badarkhe, Manish <manishv.b@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/boot/dts/da850-evm.dts
arch/arm/boot/dts/da850.dtsi
arch/arm/mach-davinci/da8xx-dt.c

index fa04152b24bfca219d48c10ad0e1137ba37cea21..0060903b2b78af23926b06f7dbf7b1a8affcda9f 100644 (file)
                rtc0: rtc@1c23000 {
                        status = "okay";
                };
+               i2c0: i2c@1c22000 {
+                       status = "okay";
+                       clock-frequency = <100000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_pins>;
+               };
        };
        nand_cs3@62000000 {
                status = "okay";
index 8dd15c0426a871c0a53f79db1b80fbcd0c0fda3e..9669e80cbada312a71506bbc52c6bed83f84a3a8 100644 (file)
                                        0x30 0x01100000  0x0ff00000
                                >;
                        };
+                       i2c0_pins: pinmux_i2c0_pins {
+                               pinctrl-single,bits = <
+                                       /* I2C0_SDA,I2C0_SCL */
+                                       0x10 0x00002200 0x0000ff00
+                               >;
+                       };
                };
                serial0: serial@1c42000 {
                        compatible = "ns16550a";
                                      19>;
                        status = "disabled";
                };
+               i2c0: i2c@1c22000 {
+                       compatible = "ti,davinci-i2c";
+                       reg = <0x22000 0x1000>;
+                       interrupts = <15>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
        };
        nand_cs3@62000000 {
                compatible = "ti,davinci-nand";
index 37c27af18fa0c575823bc6d62ab646ca035931f8..a1731f0f5b97cc732d129a06a46867d6ae204ec1 100644 (file)
@@ -37,11 +37,17 @@ static void __init da8xx_init_irq(void)
        of_irq_init(da8xx_irq_match);
 }
 
+struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
+       OF_DEV_AUXDATA("ti,davinci-i2c", 0x01c22000, "i2c_davinci.1", NULL),
+       {}
+};
+
 #ifdef CONFIG_ARCH_DAVINCI_DA850
 
 static void __init da850_init_machine(void)
 {
-       of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
+       of_platform_populate(NULL, of_default_bus_match_table,
+                            da850_auxdata_lookup, NULL);
 
        da8xx_uart_clk_enable();
 }
This page took 0.028589 seconds and 5 git commands to generate.