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));
}
Exemplo n.º 2
0
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;
}