@ -27,7 +27,7 @@
*/
# include <common.h>
# ifdef CONFIG_EXYNOS5
# if ( defined CONFIG_EXYNOS4 || defined CONFIG_EXYNOS5)
# include <asm/arch/clk.h>
# include <asm/arch/cpu.h>
# else
@ -62,7 +62,7 @@
static unsigned int g_current_bus ; /* Stores Current I2C Bus */
# ifndef CONFIG_EXYNOS5
# if !(defi ned CONFIG_EXYNOS4 || defined CONFIG_EXYNOS5)
static int GetI2CSDA ( void )
{
struct s3c24x0_gpio * gpio = s3c24x0_get_base_gpio ( ) ;
@ -121,7 +121,12 @@ static void ReadWriteByte(struct s3c24x0_i2c *i2c)
static struct s3c24x0_i2c * get_base_i2c ( void )
{
# ifdef CONFIG_EXYNOS5
# ifdef CONFIG_EXYNOS4
struct s3c24x0_i2c * i2c = ( struct s3c24x0_i2c * ) ( samsung_get_base_i2c ( )
+ ( EXYNOS4_I2C_SPACING
* g_current_bus ) ) ;
return i2c ;
# elif defined CONFIG_EXYNOS5
struct s3c24x0_i2c * i2c = ( struct s3c24x0_i2c * ) ( samsung_get_base_i2c ( )
+ ( EXYNOS5_I2C_SPACING
* g_current_bus ) ) ;
@ -134,7 +139,7 @@ static struct s3c24x0_i2c *get_base_i2c(void)
static void i2c_ch_init ( struct s3c24x0_i2c * i2c , int speed , int slaveadd )
{
ulong freq , pres = 16 , div ;
# ifdef CONFIG_EXYNOS5
# if ( defined CONFIG_EXYNOS4 || defined CONFIG_EXYNOS5)
freq = get_i2c_clk ( ) ;
# else
freq = get_PCLK ( ) ;
@ -188,7 +193,7 @@ unsigned int i2c_get_bus_num(void)
void i2c_init ( int speed , int slaveadd )
{
struct s3c24x0_i2c * i2c ;
# ifndef CONFIG_EXYNOS5
# if !(defi ned CONFIG_EXYNOS4 || defined CONFIG_EXYNOS5)
struct s3c24x0_gpio * gpio = s3c24x0_get_base_gpio ( ) ;
# endif
int i ;
@ -204,7 +209,7 @@ void i2c_init(int speed, int slaveadd)
i - - ;
}
# ifndef CONFIG_EXYNOS5
# if !(defi ned CONFIG_EXYNOS4 || defined CONFIG_EXYNOS5)
if ( ( readl ( & i2c - > iicstat ) & I2CSTAT_BSY ) | | GetI2CSDA ( ) = = 0 ) {
# ifdef CONFIG_S3C2410
ulong old_gpecon = readl ( & gpio - > gpecon ) ;
@ -248,7 +253,7 @@ void i2c_init(int speed, int slaveadd)
writel ( old_gpecon , & gpio - > pgcon ) ;
# endif
}
# endif /* #ifndef CONFIG_EXYNOS5 */
# endif /* #if !(defi ned CONFIG_EXYNOS4 || defined CONFIG_EXYNOS5) */
i2c_ch_init ( i2c , speed , slaveadd ) ;
}