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: Kyungmin Park <kyungmin.park@samsung.com> [kgene.kim@samsung.com: coding-style and minor comment fixes] Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
acfdc56d54
commit
793177b554
|
@ -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
|
||||
|
|
|
@ -22,3 +22,8 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
|
|||
# machine support
|
||||
|
||||
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
|
||||
|
|
|
@ -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 <linux/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);
|
||||
}
|
||||
|
|
|
@ -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 <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);
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* 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);
|
||||
}
|
Loading…
Reference in New Issue