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

Commit 2853a0ef authored by Kukjin Kim's avatar Kukjin Kim
Browse files

ARM: S5P64X0: Add S5P6450 I2C support



This patch adds S5P6450 I2C support in the ARCH_S5P64X0. And
moves S5P6440 I2C support files into the mach-s5p64x0 together.

Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent f1fee582
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
/* linux/arch/arm/mach-s5p64x0/include/mach/i2c.h
 *
 * Copyright (c) 2010 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * S5P64X0 I2C 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.
*/

extern void s5p6440_i2c0_cfg_gpio(struct platform_device *dev);
extern void s5p6440_i2c1_cfg_gpio(struct platform_device *dev);

extern void s5p6450_i2c0_cfg_gpio(struct platform_device *dev);
extern void s5p6450_i2c1_cfg_gpio(struct platform_device *dev);
+18 −6
Original line number Diff line number Diff line
/* linux/arch/arm/mach-s5p6440/setup-i2c0.c
/* linux/arch/arm/mach-s5p64x0/setup-i2c0.c
 *
 * Copyright (c) 2009 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com/
 * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * I2C0 GPIO configuration.
 *
 * Based on plat-s3c64xx/setup-i2c0.c
 * Based on plat-s3c64x0/setup-i2c0.c
 *
 * 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
@@ -14,17 +14,29 @@

#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/gpio.h>

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

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

void s3c_i2c0_cfg_gpio(struct platform_device *dev)
#include <mach/i2c.h>

void s5p6440_i2c0_cfg_gpio(struct platform_device *dev)
{
	s3c_gpio_cfgpin(S5P6440_GPB(5), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5P6440_GPB(5), S3C_GPIO_PULL_UP);
	s3c_gpio_cfgpin(S5P6440_GPB(6), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5P6440_GPB(6), S3C_GPIO_PULL_UP);
}

void s5p6450_i2c0_cfg_gpio(struct platform_device *dev)
{
	s3c_gpio_cfgpin(S5P6450_GPB(5), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5P6450_GPB(5), S3C_GPIO_PULL_UP);
	s3c_gpio_cfgpin(S5P6450_GPB(6), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5P6450_GPB(6), S3C_GPIO_PULL_UP);
}

void s3c_i2c0_cfg_gpio(struct platform_device *dev) { }
+16 −4
Original line number Diff line number Diff line
/* linux/arch/arm/mach-s5p6440/setup-i2c1.c
/* linux/arch/arm/mach-s5p64xx/setup-i2c1.c
 *
 * Copyright (c) 2009 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com/
 * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * I2C1 GPIO configuration.
 *
@@ -21,10 +21,22 @@ struct platform_device; /* don't need the contents */
#include <plat/gpio-cfg.h>
#include <plat/iic.h>

void s3c_i2c1_cfg_gpio(struct platform_device *dev)
#include <mach/i2c.h>

void s5p6440_i2c1_cfg_gpio(struct platform_device *dev)
{
	s3c_gpio_cfgpin(S5P6440_GPR(9), S3C_GPIO_SFN(6));
	s3c_gpio_setpull(S5P6440_GPR(9), S3C_GPIO_PULL_UP);
	s3c_gpio_cfgpin(S5P6440_GPR(10), S3C_GPIO_SFN(6));
	s3c_gpio_setpull(S5P6440_GPR(10), S3C_GPIO_PULL_UP);
}

void s5p6450_i2c1_cfg_gpio(struct platform_device *dev)
{
	s3c_gpio_cfgpin(S5P6450_GPR(9), S3C_GPIO_SFN(6));
	s3c_gpio_setpull(S5P6450_GPR(9), S3C_GPIO_PULL_UP);
	s3c_gpio_cfgpin(S5P6450_GPR(10), S3C_GPIO_SFN(6));
	s3c_gpio_setpull(S5P6450_GPR(10), S3C_GPIO_PULL_UP);
}

void s3c_i2c1_cfg_gpio(struct platform_device *dev) { }