@ -36,6 +36,10 @@
DECLARE_GLOBAL_DATA_PTR ;
# if defined(CONFIG_CMD_NET)
static int i2c_read_mac ( uchar * buffer ) ;
# endif
int dram_init ( void )
{
/* Store complete RAM size and return */
@ -136,6 +140,7 @@ int spear_board_init(ulong mach_type)
return 0 ;
}
# if defined(CONFIG_CMD_NET)
static int i2c_read_mac ( uchar * buffer )
{
u8 buf [ 2 ] ;
@ -172,17 +177,18 @@ static int write_mac(uchar *mac)
return 0 ;
}
puts ( " I2C EEPROM writing failed \n " ) ;
puts ( " I2C EEPROM writing failed \n " ) ;
return - 1 ;
}
# endif
int do_chip_config ( cmd_tbl_t * cmdtp , int flag , int argc , char * const argv [ ] )
{
void ( * sram_setfreq ) ( unsigned int , unsigned int ) ;
unsigned int frequency ;
# if defined(CONFIG_CMD_NET)
unsigned char mac [ 6 ] ;
unsigned int reg , frequency ;
char * s , * e ;
char i2c_mac [ 20 ] ;
# endif
if ( ( argc > 3 ) | | ( argc < 2 ) )
return cmd_usage ( cmdtp ) ;
@ -207,9 +213,12 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
}
return 0 ;
# if defined(CONFIG_CMD_NET)
} else if ( ! strcmp ( argv [ 1 ] , " ethaddr " ) ) {
s = argv [ 2 ] ;
u32 reg ;
char * e , * s = argv [ 2 ] ;
for ( reg = 0 ; reg < 6 ; + + reg ) {
mac [ reg ] = s ? simple_strtoul ( s , & e , 16 ) : 0 ;
if ( s )
@ -218,14 +227,15 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
write_mac ( mac ) ;
return 0 ;
# endif
} else if ( ! strcmp ( argv [ 1 ] , " print " ) ) {
# if defined(CONFIG_CMD_NET)
if ( ! i2c_read_mac ( mac ) ) {
sprintf ( i2c_mac , " %pM " , mac ) ;
printf ( " Ethaddr (from i2c mem) = %s \n " , i2c_mac ) ;
printf ( " Ethaddr (from i2c mem) = %pM \n " , mac ) ;
} else {
printf ( " Ethaddr (from i2c mem) = Not set \n " ) ;
}
# endif
return 0 ;
}
@ -235,4 +245,7 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
U_BOOT_CMD ( chip_config , 3 , 1 , do_chip_config ,
" configure chip " ,
" chip_config cpufreq/ddrfreq frequency \n "
# if defined(CONFIG_CMD_NET)
" chip_config ethaddr XX:XX:XX:XX:XX:XX \n "
# endif
" chip_config print " ) ;