Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 793177b5 authored by Kyungmin Park's avatar Kyungmin Park Committed by Kukjin Kim
Browse files

ARM: S5PV310: Add I2C channel 0, 1 and 2 support



This patch adds configuration of proper mux pins for support
I2C channel 0, 1, and 2 on S5PV310/S5PC210.

Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
[kgene.kim@samsung.com: coding-style and minor comment fixes]
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent acfdc56d
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -15,6 +15,16 @@ config CPU_S5PV310
	help
	help
	  Enable S5PV310 CPU support
	  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
# machine support


config MACH_SMDKV310
config MACH_SMDKV310
+5 −0
Original line number Original line Diff line number Diff line
@@ -22,3 +22,8 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
# machine support
# machine support


obj-$(CONFIG_MACH_SMDKV310)	+= mach-smdkv310.o
obj-$(CONFIG_MACH_SMDKV310)	+= mach-smdkv310.o

# device support

obj-$(CONFIG_S5PV310_SETUP_I2C1)	+= setup-i2c1.o
obj-$(CONFIG_S5PV310_SETUP_I2C2)	+= setup-i2c2.o
+10 −2
Original line number Original line Diff line number Diff line
/* linux/arch/arm/mach-s5pv210/setup-i2c0.c
/*
 * linux/arch/arm/mach-s5pv310/setup-i2c0.c
 *
 *
 * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
 * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com/
 *		http://www.samsung.com/
@@ -14,7 +15,14 @@


struct platform_device; /* don't need the contents */
struct platform_device; /* don't need the contents */


#include <linux/gpio.h>
#include <plat/iic.h>
#include <plat/gpio-cfg.h>

void s3c_i2c0_cfg_gpio(struct platform_device *dev)
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);
}
}
+25 −0
Original line number Original line Diff line number Diff line
/*
 * 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 <linux/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);
}
+25 −0
Original line number Original line Diff line number Diff line
/*
 * linux/arch/arm/mach-s5pv310/setup-i2c2.c
 *
 * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
 *
 * 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 <linux/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);
}