@ -25,9 +25,6 @@
*/
# include <common.h>
# if defined(CONFIG_KM82XX)
# include <mpc8260.h>
# endif
# include <ioports.h>
# include <command.h>
# include <malloc.h>
@ -44,6 +41,7 @@
# include "common.h"
# if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
# include <i2c.h>
# endif
static void i2c_write_start_seq ( void ) ;
DECLARE_GLOBAL_DATA_PTR ;
@ -83,70 +81,9 @@ int set_km_env(void)
return 0 ;
}
# if defined(CONFIG_SYS_I2C_INIT_BOARD)
# define DELAY_ABORT_SEQ 62 /* @200kHz 9 clocks = 44us, 62us is ok */
# define DELAY_HALF_PERIOD (500 / (CONFIG_SYS_I2C_SPEED / 1000))
# if defined(CONFIG_KM_82XX)
# define SDA_MASK 0x00010000
# define SCL_MASK 0x00020000
void set_pin ( int state , unsigned long mask )
{
ioport_t * iop = ioport_addr ( ( immap_t * ) CONFIG_SYS_IMMR , 3 ) ;
if ( state )
setbits_be32 ( & iop - > pdat , mask ) ;
else
clrbits_be32 ( & iop - > pdat , mask ) ;
setbits_be32 ( & iop - > pdir , mask ) ;
}
static int get_pin ( unsigned long mask )
{
ioport_t * iop = ioport_addr ( ( immap_t * ) CONFIG_SYS_IMMR , 3 ) ;
clrbits_be32 ( & iop - > pdir , mask ) ;
return 0 ! = ( in_be32 ( & iop - > pdat ) & mask ) ;
}
static void set_sda ( int state )
{
set_pin ( state , SDA_MASK ) ;
}
static void set_scl ( int state )
{
set_pin ( state , SCL_MASK ) ;
}
static int get_sda ( void )
{
return get_pin ( SDA_MASK ) ;
}
static int get_scl ( void )
{
return get_pin ( SCL_MASK ) ;
}
# if defined(CONFIG_HARD_I2C)
static void setports ( int gpio )
{
ioport_t * iop = ioport_addr ( ( immap_t * ) CONFIG_SYS_IMMR , 3 ) ;
if ( gpio ) {
clrbits_be32 ( & iop - > ppar , ( SDA_MASK | SCL_MASK ) ) ;
clrbits_be32 ( & iop - > podr , ( SDA_MASK | SCL_MASK ) ) ;
} else {
setbits_be32 ( & iop - > ppar , ( SDA_MASK | SCL_MASK ) ) ;
clrbits_be32 ( & iop - > pdir , ( SDA_MASK | SCL_MASK ) ) ;
setbits_be32 ( & iop - > podr , ( SDA_MASK | SCL_MASK ) ) ;
}
}
# endif
# endif
# if !defined(CONFIG_MPC83xx)
static void i2c_write_start_seq ( void )
{
@ -223,7 +160,7 @@ int i2c_make_abort(void)
# endif
return ret ;
}
# endif
# endif /* !MPC83xx */
# if defined(CONFIG_MPC83xx)
static void i2c_write_start_seq ( void )
@ -296,8 +233,6 @@ void i2c_init_board(void)
/* Now run the AbortSequence() */
i2c_make_abort ( ) ;
}
# endif
# endif
# if !defined(MACH_TYPE_KM_KIRKWOOD)
int ethernet_present ( void )