From: Thomas Abraham <thomas.abraham@linaro.org>
To: devicetree-discuss@lists.ozlabs.org
Cc: linux-i2c@vger.kernel.org, grant.likely@secretlab.ca,
ben-linux@fluff.org, linux-samsung-soc@vger.kernel.org
Subject: [PATCH v2 3/3] arm: dt: Add device tree support for i2c instance 0 and 1 on exynos4 dt machine
Date: Fri, 22 Jul 2011 15:48:38 +0530 [thread overview]
Message-ID: <1311329918-8105-4-git-send-email-thomas.abraham@linaro.org> (raw)
In-Reply-To: <1311329918-8105-3-git-send-email-thomas.abraham@linaro.org>
Add device node for i2c instance 0 and 1 and list all its connected slave
devices.
Signed-off-by: Thomas Abraham <thomas.abraham at linaro.org>
---
arch/arm/boot/dts/exynos4-smdkv310.dts | 45 +++++++++++++++++++++++++++++++
arch/arm/mach-exynos4/Kconfig | 2 +
arch/arm/mach-exynos4/mach-exynos4-dt.c | 23 ++++++++++++++++
3 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/exynos4-smdkv310.dts b/arch/arm/boot/dts/exynos4-smdkv310.dts
index d65c18c..6fd2032 100644
--- a/arch/arm/boot/dts/exynos4-smdkv310.dts
+++ b/arch/arm/boot/dts/exynos4-smdkv310.dts
@@ -41,6 +41,12 @@
irq-start = <61>;
};
+ gpd1: gpio-controller@114000C0 {
+ compatible = "samsung,exynos4-gpio-gpd1","samsung,exynos4-gpio";
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
watchdog@10060000 {
compatible = "samsung,s3c2410-wdt";
reg = <0x10060000 0x400>;
@@ -64,5 +70,44 @@
samsung,sdhci-cd-type = <0>;
samsung,sdhci-clkdiv-external;
};
+
+ i2c@13860000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x13860000 0x100>;
+ interrupts = <344>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-max-bus-freq = <20000>;
+ gpios = <&gpd1 0 0 /* SDA */
+ &gpd1 1 0 /* SCL */>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ eeprom@50 {
+ compatible = "samsung,24ad0xd1";
+ reg = <0x50>;
+ };
+
+ eeprom@52 {
+ compatible = "samsung,24ad0xd1";
+ reg = <0x51>;
+ };
+ };
+
+ i2c@13870000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x13870000 0x100>;
+ interrupts = <345>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-max-bus-freq = <100000>;
+ gpios = <&gpd1 2 0 /* SDA */
+ &gpd1 3 0 /* SCL */>;
+ #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..06b43ca 100644
--- a/arch/arm/mach-exynos4/Kconfig
+++ b/arch/arm/mach-exynos4/Kconfig
@@ -193,6 +193,8 @@ config MACH_EXYNOS4_DT
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC2
select EXYNOS4_SETUP_SDHCI
+ select EXYNOS4_SETUP_I2C0
+ 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..8b0cf8f 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>
@@ -63,6 +66,22 @@ static struct s3c2410_uartcfg smdkv310_uartcfgs[] __initdata = {
};
/*
+ * The i2c driver does not handle the pinmux settings. Instead, the
+ * platform specific callback function is passed through the platform
+ * data that can handle the pinmux settings for the i2c module.
+ * Eventually, when the new pinmux api is merged, the i2c driver can
+ * be modified to handle the pinmux settings. This is temporary for
+ * now.
+ */
+static struct s3c2410_platform_i2c exynos4_dt_i2c_data0 __initdata = {
+ .cfg_gpio = s3c_i2c0_cfg_gpio,
+};
+
+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
* to supplied. The sdhci driver requires the device name to be overridden
@@ -75,6 +94,10 @@ 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(0),
+ "s3c2440-i2c.0", &exynos4_dt_i2c_data0),
+ OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(1),
+ "s3c2440-i2c.1", &exynos4_dt_i2c_data1),
{},
};
--
1.6.6.rc2
next prev parent reply other threads:[~2011-07-22 10:18 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-22 10:18 [PATCH v2 0/3] Add device tree support for Samsung's I2C driver Thomas Abraham
[not found] ` <1311329918-8105-1-git-send-email-thomas.abraham-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2011-07-22 10:18 ` [PATCH v2 1/3] i2c: s3c2410: Keep a copy of platform data and use it Thomas Abraham
2011-07-22 10:18 ` [PATCH v2 2/3] i2c: s3c2410: Add device tree support Thomas Abraham
2011-07-22 10:18 ` Thomas Abraham [this message]
2011-07-31 3:55 ` [PATCH v2 3/3] arm: dt: Add device tree support for i2c instance 0 and 1 on exynos4 dt machine Grant Likely
[not found] ` <20110731035536.GI24334-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2011-07-31 21:02 ` Thomas Abraham
2011-07-31 3:53 ` [PATCH v2 2/3] i2c: s3c2410: Add device tree support Grant Likely
2011-07-31 20:50 ` Thomas Abraham
2011-07-31 3:51 ` [PATCH v2 1/3] i2c: s3c2410: Keep a copy of platform data and use it Grant Likely
2011-07-31 20:33 ` Thomas Abraham
2011-07-27 22:06 ` [PATCH v2 0/3] Add device tree support for Samsung's I2C driver Ben Dooks
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1311329918-8105-4-git-send-email-thomas.abraham@linaro.org \
--to=thomas.abraham@linaro.org \
--cc=ben-linux@fluff.org \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).