On Mon, Jul 18, 2011 at 06:20:41AM +0530, Thomas Abraham wrote: > Add device node for i2c instance 1 and list all its connected slave > devices. > > Signed-off-by: Thomas Abraham <thomas.abraham@xxxxxxxxxx> > --- > arch/arm/boot/dts/exynos4-smdkv310.dts | 19 ++++++++++++++++++- > arch/arm/mach-exynos4/Kconfig | 1 + > arch/arm/mach-exynos4/mach-exynos4-dt.c | 9 +++++++++ > 3 files changed, 28 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/boot/dts/exynos4-smdkv310.dts b/arch/arm/boot/dts/exynos4-smdkv310.dts > index d65c18c..29c40ed 100644 > --- a/arch/arm/boot/dts/exynos4-smdkv310.dts > +++ b/arch/arm/boot/dts/exynos4-smdkv310.dts > @@ -23,7 +23,7 @@ > }; > > chosen { > - bootargs = "root=/dev/mmcblk0p1 rootfstype=ext3 rootwait console=ttySAC1,115200"; > + bootargs = "root=/dev/mmcblk0p1 rootfstype=ext3 rootwait console=ttySAC1,115200 init=/linuxrc"; > }; > > soc { > @@ -64,5 +64,22 @@ > samsung,sdhci-cd-type = <0>; > samsung,sdhci-clkdiv-external; > }; > + > + i2c@13870000 { > + compatible = "samsung,s3c2440-i2c"; > + reg = <0x13870000 0x100>; > + interrupts = <345>; > + samsung,i2c-bus-number = <1>; > + samsung,i2c-slave-addr = <16>; > + samsung,i2c-sda-delay = <100>; > + samsung,i2c-max-bus-freq = <100000>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + wm8994@1a { > + compatible = "wlf,wm8994"; > + reg = <0x1a>; > + }; > + }; > }; > }; > diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig > index bb97b7e..c7fce3e 100644 > --- a/arch/arm/mach-exynos4/Kconfig > +++ b/arch/arm/mach-exynos4/Kconfig > @@ -193,6 +193,7 @@ config MACH_EXYNOS4_DT > select S3C_DEV_HSMMC > select S3C_DEV_HSMMC2 > select EXYNOS4_SETUP_SDHCI > + select EXYNOS4_SETUP_I2C1 > help > Machine support for Samsung Exynos4 machine with device tree enabled. > > diff --git a/arch/arm/mach-exynos4/mach-exynos4-dt.c b/arch/arm/mach-exynos4/mach-exynos4-dt.c > index 120665a..ef6b4cb 100644 > --- a/arch/arm/mach-exynos4/mach-exynos4-dt.c > +++ b/arch/arm/mach-exynos4/mach-exynos4-dt.c > @@ -23,7 +23,10 @@ > #include <plat/regs-serial.h> > #include <plat/exynos4.h> > #include <plat/cpu.h> > +#include <plat/devs.h> > #include <plat/sdhci.h> > +#include <plat/iic.h> > +#include <plat/iic-core.h> > > #include <mach/map.h> > > @@ -62,6 +65,10 @@ static struct s3c2410_uartcfg smdkv310_uartcfgs[] __initdata = { > }, > }; > > +static struct s3c2410_platform_i2c exynos4_dt_i2c_data1 __initdata = { > + .cfg_gpio = s3c_i2c1_cfg_gpio, > +}; > + > /* > * The following lookup table is used to override device names when devices > * are registered from device tree. Optionally, the platform data can also > @@ -75,6 +82,8 @@ static const struct of_dev_auxdata exynos4_auxdata_lookup[] __initconst = { > "s3c-sdhci.2", &s3c_hsmmc2_def_platdata), > OF_DEV_AUXDATA("samsung,s3c6410-sdhci", EXYNOS4_PA_HSMMC(0), > "s3c-sdhci.0", &s3c_hsmmc0_def_platdata), > + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(1), > + "s3c2440-i2c.1", &exynos4_dt_i2c_data1), Should not need the platform_data here. Add DT support to the GPIO driver and decode the data from there (which should be easy). g. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html