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

Commit 5eda288f authored by Kyungmin Park's avatar Kyungmin Park Committed by Ben Dooks
Browse files

ARM: S5PC1xx: add platform helpers for i2c adapter devices



Samsung S5PC100 has I2C bus controller compatible with the one known from
previous SoCs series. Add required platform setup and support code that
it can be used with s3c2410-i2c driver.

Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent 079b0324
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -75,6 +75,10 @@ void __init s5pc100_map_io(void)
	iotable_init(s5pc100_iodesc, ARRAY_SIZE(s5pc100_iodesc));

	/* initialise device information early */

	/* the i2c devices are directly compatible with s3c2440 */
	s3c_i2c0_setname("s3c2440-i2c");
	s3c_i2c1_setname("s3c2440-i2c");
}

void __init s5pc100_init_clocks(int xtal)
+2 −2
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ config S5PC1XX_SETUP_FB_24BPP
	help
          Common setup code for S5PC1XX with an 24bpp RGB display helper.

config S5PC100_SETUP_I2C0
config S5PC1XX_SETUP_I2C0
	bool
	default y
	help
@@ -51,7 +51,7 @@ config S5PC100_SETUP_I2C0
	  Note, currently since i2c0 is always compiled, this setup helper
	  is always compiled with it.

config S5PC100_SETUP_I2C1
config S5PC1XX_SETUP_I2C1
	bool
	help
	  Common setup code for i2c bus 1.
+2 −2
Original line number Diff line number Diff line
@@ -26,5 +26,5 @@ obj-$(CONFIG_CPU_S5PC100_CLOCK) += s5pc100-clock.o

obj-$(CONFIG_S5P_GPIO_CFG_S5PC1XX) += gpio-config.o
obj-$(CONFIG_S5PC1XX_SETUP_FB_24BPP) += setup-fb-24bpp.o
obj-$(CONFIG_S5PC100_SETUP_I2C0) += setup-i2c0.o
obj-$(CONFIG_S5PC100_SETUP_I2C1) += setup-i2c1.o
obj-$(CONFIG_S5PC1XX_SETUP_I2C0) += setup-i2c0.o
obj-$(CONFIG_S5PC1XX_SETUP_I2C1) += setup-i2c1.o
+6 −1
Original line number Diff line number Diff line
@@ -17,9 +17,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)
{
	/* Pin configuration would be needed */
	s3c_gpio_cfgpin(S5PC100_GPD(3), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5PC100_GPD(3), S3C_GPIO_PULL_UP);
	s3c_gpio_cfgpin(S5PC100_GPD(4), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5PC100_GPD(4), S3C_GPIO_PULL_UP);
}
+6 −1
Original line number Diff line number Diff line
@@ -17,9 +17,14 @@

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)
{
	/* Pin configuration would be needed */
	s3c_gpio_cfgpin(S5PC100_GPD(5), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5PC100_GPD(5), S3C_GPIO_PULL_UP);
	s3c_gpio_cfgpin(S5PC100_GPD(6), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5PC100_GPD(6), S3C_GPIO_PULL_UP);
}