aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorVishwanathrao Badarkhe, Manish <manishv.b@ti.com>2013-02-06 04:36:22 -0500
committerSekhar Nori <nsekhar@ti.com>2013-02-09 12:07:43 -0500
commit01729ccf19b3c136cd93f8837b0a2761c23da700 (patch)
tree7b00df270bca494bf83cab6227c77d11fcad843e /arch
parent1661636d362b6d1a6c2bab210f2ab363a69deccc (diff)
ARM: davinci: da850: add DT node for I2C0
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/da850-evm.dts6
-rw-r--r--arch/arm/boot/dts/da850.dtsi14
-rw-r--r--arch/arm/mach-davinci/da8xx-dt.c8
3 files changed, 27 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index fa04152b24bf..0060903b2b78 100644
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -30,6 +30,12 @@
30 rtc0: rtc@1c23000 { 30 rtc0: rtc@1c23000 {
31 status = "okay"; 31 status = "okay";
32 }; 32 };
33 i2c0: i2c@1c22000 {
34 status = "okay";
35 clock-frequency = <100000>;
36 pinctrl-names = "default";
37 pinctrl-0 = <&i2c0_pins>;
38 };
33 }; 39 };
34 nand_cs3@62000000 { 40 nand_cs3@62000000 {
35 status = "okay"; 41 status = "okay";
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index 8dd15c0426a8..9669e80cbada 100644
--- a/arch/arm/boot/dts/da850.dtsi
+++ b/arch/arm/boot/dts/da850.dtsi
@@ -56,6 +56,12 @@
56 0x30 0x01100000 0x0ff00000 56 0x30 0x01100000 0x0ff00000
57 >; 57 >;
58 }; 58 };
59 i2c0_pins: pinmux_i2c0_pins {
60 pinctrl-single,bits = <
61 /* I2C0_SDA,I2C0_SCL */
62 0x10 0x00002200 0x0000ff00
63 >;
64 };
59 }; 65 };
60 serial0: serial@1c42000 { 66 serial0: serial@1c42000 {
61 compatible = "ns16550a"; 67 compatible = "ns16550a";
@@ -88,6 +94,14 @@
88 19>; 94 19>;
89 status = "disabled"; 95 status = "disabled";
90 }; 96 };
97 i2c0: i2c@1c22000 {
98 compatible = "ti,davinci-i2c";
99 reg = <0x22000 0x1000>;
100 interrupts = <15>;
101 #address-cells = <1>;
102 #size-cells = <0>;
103 status = "disabled";
104 };
91 }; 105 };
92 nand_cs3@62000000 { 106 nand_cs3@62000000 {
93 compatible = "ti,davinci-nand"; 107 compatible = "ti,davinci-nand";
diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
index 37c27af18fa0..a1731f0f5b97 100644
--- a/arch/arm/mach-davinci/da8xx-dt.c
+++ b/arch/arm/mach-davinci/da8xx-dt.c
@@ -37,11 +37,17 @@ static void __init da8xx_init_irq(void)
37 of_irq_init(da8xx_irq_match); 37 of_irq_init(da8xx_irq_match);
38} 38}
39 39
40struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
41 OF_DEV_AUXDATA("ti,davinci-i2c", 0x01c22000, "i2c_davinci.1", NULL),
42 {}
43};
44
40#ifdef CONFIG_ARCH_DAVINCI_DA850 45#ifdef CONFIG_ARCH_DAVINCI_DA850
41 46
42static void __init da850_init_machine(void) 47static void __init da850_init_machine(void)
43{ 48{
44 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 49 of_platform_populate(NULL, of_default_bus_match_table,
50 da850_auxdata_lookup, NULL);
45 51
46 da8xx_uart_clk_enable(); 52 da8xx_uart_clk_enable();
47} 53}