]> nv-tegra.nvidia Code Review - linux-3.10.git/commitdiff
ARM: Orion: Add arch support needed for I2C via DT.
authorAndrew Lunn <andrew@lunn.ch>
Fri, 20 Jul 2012 11:51:55 +0000 (13:51 +0200)
committerAndrew Lunn <andrew@lunn.ch>
Fri, 27 Jul 2012 14:48:29 +0000 (16:48 +0200)
The MV64XXX I2C driver needs a clock in order to calculate the baud
rate factors. So add an clk to the clk tree. Also add the base DT
properties for kirkwood devices.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Conflicts:
arch/arm/mach-kirkwood/common.c

arch/arm/boot/dts/kirkwood.dtsi
arch/arm/mach-kirkwood/board-dt.c
arch/arm/mach-kirkwood/common.c
arch/arm/plat-orion/common.c

index 3aaad7d147de5be57fbb695b7d387e604a07c35d..3df24cd03c0778507ae99a572ad4201dc8cef5fe 100644 (file)
                        /* set partition map and/or chip-delay in board dts */
                        status = "disabled";
                };
+
+               i2c@11000 {
+                       compatible = "marvell,mv64xxx-i2c";
+                       reg = <0x11000 0x20>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <29>;
+                       clock-frequency = <100000>;
+                       status = "disabled";
+               };
        };
 };
index 8f8da5d9a8dd983a02fcfc063f52a28e8226ebef..24c8fdd174d165d359c1ceb35a0e6e346885f8aa 100644 (file)
@@ -28,6 +28,8 @@ static struct of_device_id kirkwood_dt_match_table[] __initdata = {
 
 struct of_dev_auxdata kirkwood_auxdata_lookup[] __initdata = {
        OF_DEV_AUXDATA("marvell,orion-spi", 0xf1010600, "orion_spi.0", NULL),
+       OF_DEV_AUXDATA("marvell,mv64xxx-i2c", 0xf1011000, "mv64xxx_i2c.0",
+                      NULL),
        {},
 };
 
index c9201539ffbd7cb17117278dbce407127887bc56..c4b64adcbfce4be58c7a9b149df9e33d19e02e51 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/dma-mapping.h>
 #include <linux/clk-provider.h>
 #include <linux/spinlock.h>
+#include <linux/mv643xx_i2c.h>
 #include <net/dsa.h>
 #include <asm/page.h>
 #include <asm/timex.h>
@@ -276,6 +277,7 @@ void __init kirkwood_clk_init(void)
        orion_clkdev_add("0", "pcie", pex0);
        orion_clkdev_add("1", "pcie", pex1);
        orion_clkdev_add(NULL, "kirkwood-i2s", audio);
+       orion_clkdev_add(NULL, MV64XXX_I2C_CTLR_NAME ".0", runit);
 
        /* Marvell says runit is used by SPI, UART, NAND, TWSI, ...,
         * so should never be gated.
index c1793786aea989de24668d31529f1d22eb1e7012..d245a87dc014d4c6cf3d1c9a3285add47a56ecb5 100644 (file)
@@ -47,6 +47,7 @@ void __init orion_clkdev_init(struct clk *tclk)
        orion_clkdev_add(NULL, MV643XX_ETH_NAME ".2", tclk);
        orion_clkdev_add(NULL, MV643XX_ETH_NAME ".3", tclk);
        orion_clkdev_add(NULL, "orion_wdt", tclk);
+       orion_clkdev_add(NULL, MV64XXX_I2C_CTLR_NAME ".0", tclk);
 }
 
 /* Fill in the resources structure and link it into the platform