void set_backup_values(int overwrite) { backup_t back; int i; get_backup_values(&back); if(!overwrite) { if(strncmp(back.signature,"MPL\0",4)==0) { puts("Not possible to write Backup\n"); return; } } memcpy(back.signature,"MPL\0",4); i = getenv_r("serial#",back.serial_name,16); if(i < 0) { puts("Not possible to write Backup\n"); return; } back.serial_name[16]=0; i = getenv_r("ethaddr",back.eth_addr,20); if(i < 0) { puts("Not possible to write Backup\n"); return; } back.eth_addr[20]=0; i2c_write(CONFIG_SYS_DEF_EEPROM_ADDR, I2C_BACKUP_ADDR,2,(void *)&back,sizeof(backup_t)); }
int checkboard(void) { char s[50]; int i; backup_t *b = (backup_t *) s; i = getenv_f("serial#", s, 32); if ((i < 0) || strncmp (s, "VCMA9", 5)) { get_backup_values (b); if (strncmp (b->signature, "MPL\0", 4) != 0) { puts ("### No HW ID - assuming VCMA9"); } else { b->serial_name[5] = 0; vcma9_show_info(b->serial_name, &b->serial_name[6]); } } else { s[5] = 0; vcma9_show_info(s, &s[6]); } return 0; }