forked from Minki/linux
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: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
079b032417
commit
5eda288fa9
@ -75,6 +75,10 @@ void __init s5pc100_map_io(void)
|
|||||||
iotable_init(s5pc100_iodesc, ARRAY_SIZE(s5pc100_iodesc));
|
iotable_init(s5pc100_iodesc, ARRAY_SIZE(s5pc100_iodesc));
|
||||||
|
|
||||||
/* initialise device information early */
|
/* 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)
|
void __init s5pc100_init_clocks(int xtal)
|
||||||
|
@ -42,7 +42,7 @@ config S5PC1XX_SETUP_FB_24BPP
|
|||||||
help
|
help
|
||||||
Common setup code for S5PC1XX with an 24bpp RGB display helper.
|
Common setup code for S5PC1XX with an 24bpp RGB display helper.
|
||||||
|
|
||||||
config S5PC100_SETUP_I2C0
|
config S5PC1XX_SETUP_I2C0
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
@ -51,7 +51,7 @@ config S5PC100_SETUP_I2C0
|
|||||||
Note, currently since i2c0 is always compiled, this setup helper
|
Note, currently since i2c0 is always compiled, this setup helper
|
||||||
is always compiled with it.
|
is always compiled with it.
|
||||||
|
|
||||||
config S5PC100_SETUP_I2C1
|
config S5PC1XX_SETUP_I2C1
|
||||||
bool
|
bool
|
||||||
help
|
help
|
||||||
Common setup code for i2c bus 1.
|
Common setup code for i2c bus 1.
|
||||||
|
@ -26,5 +26,5 @@ obj-$(CONFIG_CPU_S5PC100_CLOCK) += s5pc100-clock.o
|
|||||||
|
|
||||||
obj-$(CONFIG_S5P_GPIO_CFG_S5PC1XX) += gpio-config.o
|
obj-$(CONFIG_S5P_GPIO_CFG_S5PC1XX) += gpio-config.o
|
||||||
obj-$(CONFIG_S5PC1XX_SETUP_FB_24BPP) += setup-fb-24bpp.o
|
obj-$(CONFIG_S5PC1XX_SETUP_FB_24BPP) += setup-fb-24bpp.o
|
||||||
obj-$(CONFIG_S5PC100_SETUP_I2C0) += setup-i2c0.o
|
obj-$(CONFIG_S5PC1XX_SETUP_I2C0) += setup-i2c0.o
|
||||||
obj-$(CONFIG_S5PC100_SETUP_I2C1) += setup-i2c1.o
|
obj-$(CONFIG_S5PC1XX_SETUP_I2C1) += setup-i2c1.o
|
||||||
|
@ -17,9 +17,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/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)
|
||||||
{
|
{
|
||||||
/* 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);
|
||||||
}
|
}
|
||||||
|
@ -17,9 +17,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/iic.h>
|
||||||
|
#include <plat/gpio-cfg.h>
|
||||||
|
|
||||||
void s3c_i2c1_cfg_gpio(struct platform_device *dev)
|
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);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user