Skip to contentSkip to conversation

S5V310: I2C0/I2C1/I2C2 support

PATCH New Kyungmin Park 3 participants 4 messages Jul 30, 2010 – Jul 31, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 S5V310: I2C0/I2C1/I2C2 support

From: Kyungmin Park <[email protected]>

Configure proper mux pins and define i2c0/i2c1/i2c2.

---
 arch/arm/mach-s5pv310/Kconfig      |   10 ++++++++++
 arch/arm/mach-s5pv310/Makefile     |    5 +++++
 arch/arm/mach-s5pv310/setup-i2c0.c |   12 ++++++++++--
 arch/arm/mach-s5pv310/setup-i2c1.c |   25 +++++++++++++++++++++++++
 arch/arm/mach-s5pv310/setup-i2c2.c |   26 ++++++++++++++++++++++++++
 5 files changed, 76 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/mach-s5pv310/setup-i2c1.c
 create mode 100644 arch/arm/mach-s5pv310/setup-i2c2.c
arch/arm/mach-s5pv310/Kconfig +10 -0
index 2fe8149..faa3436 100644
@@ -15,6 +15,16 @@ config CPU_S5PV310
 	help
 	  Enable S5PV310 CPU support
 
+config S5PV310_SETUP_I2C1
+	bool
+	help
+	  Common setup code for i2c bus 1.
+
+config S5PV310_SETUP_I2C2
+	bool
+	help
+	  Common setup code for i2c bus 2.
+
 # machine support
 
 config MACH_SMDKV310
arch/arm/mach-s5pv310/Makefile +5 -0
index 5b52132..82dbbaa 100644
@@ -23,3 +23,8 @@ obj-$(CONFIG_HOTPLUG_CPU)	+= hotplug.o
 
 obj-$(CONFIG_MACH_SMDKV310)	+= mach-smdkv310.o
 obj-$(CONFIG_MACH_UNIVERSAL)	+= mach-universal.o
+
+# device support
+
+obj-$(CONFIG_S5PV310_SETUP_I2C1)	+= setup-i2c1.o
+obj-$(CONFIG_S5PV310_SETUP_I2C2)	+= setup-i2c2.o
arch/arm/mach-s5pv310/setup-i2c0.c +10 -2
index d4f5a81..b14dea7 100644
@@ -1,4 +1,5 @@
-/* linux/arch/arm/mach-s5pv210/setup-i2c0.c
+/*
+ * linux/arch/arm/mach-s5pv310/setup-i2c0.c
  *
  * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
  *		http://www.samsung.com/
@@ -14,7 +15,14 @@
 
 struct platform_device; /* don't need the contents */
 
+#include <mach/gpio.h>
+#include <plat/iic.h>
+#include <plat/gpio-cfg.h>
+
 void s3c_i2c0_cfg_gpio(struct platform_device *dev)
 {
-/* will be implemented later */
+        s3c_gpio_cfgpin(S5PV310_GPD1(0), S3C_GPIO_SFN(2));
+        s3c_gpio_setpull(S5PV310_GPD1(0), S3C_GPIO_PULL_UP);
+        s3c_gpio_cfgpin(S5PV310_GPD1(1), S3C_GPIO_SFN(2));
+        s3c_gpio_setpull(S5PV310_GPD1(1), S3C_GPIO_PULL_UP);
 }
arch/arm/mach-s5pv310/setup-i2c1.c new file +25 -0
new file mode 100644
index 0000000..76099ff
@@ -0,0 +1,25 @@
+/*
+ * linux/arch/arm/mach-s5pv310/setup-i2c1.c
+ *
+ * Copyright (C) 2010 Samsung Electronics Co., Ltd.
+ *
+ * I2C1 GPIO configuration.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+struct platform_device; /* don't need the contents */
+
+#include <mach/gpio.h>
+#include <plat/iic.h>
+#include <plat/gpio-cfg.h>
+
+void s3c_i2c1_cfg_gpio(struct platform_device *dev)
+{
+        s3c_gpio_cfgpin(S5PV310_GPD1(2), S3C_GPIO_SFN(2));
+        s3c_gpio_setpull(S5PV310_GPD1(2), S3C_GPIO_PULL_UP);
+        s3c_gpio_cfgpin(S5PV310_GPD1(3), S3C_GPIO_SFN(2));
+        s3c_gpio_setpull(S5PV310_GPD1(3), S3C_GPIO_PULL_UP);
+}
arch/arm/mach-s5pv310/setup-i2c2.c new file +26 -0
new file mode 100644
index 0000000..2f1ca7e
@@ -0,0 +1,26 @@
+/*
+ * linux/arch/arm/mach-s5pv310/setup-i2c2.c
+ *
+ * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
+ *		http://www.samsung.com/
+ *
+ * I2C2 GPIO configuration.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+struct platform_device; /* don't need the contents */
+
+#include <mach/gpio.h>
+#include <plat/iic.h>
+#include <plat/gpio-cfg.h>
+
+void s3c_i2c2_cfg_gpio(struct platform_device *dev)
+{
+        s3c_gpio_cfgpin(S5PV310_GPA0(6), S3C_GPIO_SFN(3));
+        s3c_gpio_setpull(S5PV310_GPA0(6), S3C_GPIO_PULL_UP);
+        s3c_gpio_cfgpin(S5PV310_GPA0(7), S3C_GPIO_SFN(3));
+        s3c_gpio_setpull(S5PV310_GPA0(7), S3C_GPIO_PULL_UP);
+}
#1 lore raw

PATCH 1/1 S5V310: I2C0/I2C1/I2C2 support

Quoted 16 lines · Kyungmin Park

From: Kyungmin Park <[email protected]>

Configure proper mux pins and define i2c0/i2c1/i2c2.

---
 arch/arm/mach-s5pv310/Kconfig      |   10 ++++++++++
 arch/arm/mach-s5pv310/Makefile     |    5 +++++
 arch/arm/mach-s5pv310/setup-i2c0.c |   12 ++++++++++--
 arch/arm/mach-s5pv310/setup-i2c1.c |   25 +++++++++++++++++++++++++
 arch/arm/mach-s5pv310/setup-i2c2.c |   26 ++++++++++++++++++++++++++
 5 files changed, 76 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/mach-s5pv310/setup-i2c1.c
 create mode 100644 arch/arm/mach-s5pv310/setup-i2c2.c

(snip)

Quoted 1 line

+#include <mach/gpio.h>

Should be <linux/gpio.h>

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.

#2 lore raw

PATCH 1/1 S5V310: I2C0/I2C1/I2C2 support

Quoted 18 lines · Kukjin Kim
Quoted 7 lines · Kyungmin Park

From: Kyungmin Park <[email protected]>

Configure proper mux pins and define i2c0/i2c1/i2c2.

---

Quoted 9 lines
?arch/arm/mach-s5pv310/Kconfig ? ? ?| ? 10 ++++++++++
?arch/arm/mach-s5pv310/Makefile ? ? | ? ?5 +++++
?arch/arm/mach-s5pv310/setup-i2c0.c | ? 12 ++++++++++--
?arch/arm/mach-s5pv310/setup-i2c1.c | ? 25 +++++++++++++++++++++++++
?arch/arm/mach-s5pv310/setup-i2c2.c | ? 26 ++++++++++++++++++++++++++

?5 files changed, 76 insertions(+), 2 deletions(-) ?create mode 100644 arch/arm/mach-s5pv310/setup-i2c1.c ?create mode 100644 arch/arm/mach-s5pv310/setup-i2c2.c

Quoted 4 lines

(snip)

Quoted 1 line

+#include <mach/gpio.h>

Should be <linux/gpio.h>

It comes from your previous patch.

Anyway I will fix it. and resend it.

Quoted 10 lines

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.

#3 lore raw

PATCH 1/1 S5V310: I2C0/I2C1/I2C2 support

In reply to Kyungmin Park
Quoted 12 lines · Kyungmin Park
arch/arm/mach-s5pv310/setup-i2c0.c +2 -1
index d4f5a81..b14dea7 100644
@@ -1,4 +1,5 @@
-/* linux/arch/arm/mach-s5pv210/setup-i2c0.c
+/*
+ * linux/arch/arm/mach-s5pv310/setup-i2c0.c
  *
  * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
  *		http://www.samsung.com/

arch/arm/mach-s5pv310/setup-i2c0.c line 18

Quoted 4 lines
arch/arm/mach-s5pv310/setup-i2c0.c +1 -0
@@ -14,7 +15,14 @@
 
 struct platform_device; /* don't need the contents */
 
+#include <mach/gpio.h>

linux/gpio.h?

Quoted 11 lines
arch/arm/mach-s5pv310/setup-i2c1.c new file +5 -0
new file mode 100644
index 0000000..76099ff
@@ -0,0 +1,25 @@
+/*
+ * linux/arch/arm/mach-s5pv310/setup-i2c1.c
+ *
+ * Copyright (C) 2010 Samsung Electronics Co., Ltd.
+ *

arch/arm/mach-s5pv310/setup-i2c1.c line 15

Quoted 10 lines
arch/arm/mach-s5pv310/setup-i2c1.c new file +10 -0
+ * I2C1 GPIO configuration.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+struct platform_device; /* don't need the contents */
+
+#include <mach/gpio.h>

linux/gpio.h ?

... etc ...