board/BuR/common: refactor ft_board_setup(...)
On other OS, not one provided by B&R, it is not guaranteed that there are factory-settings within a devicetree. So we must not treat the absence of them as error. Further we've the fact that on different version of the device-tree files there are different namings of the factory-settings, we consider this with searching for an alternative name. changing things as following: - don't treat as error if the bootloader version cannot written into devicetree. - since the naming of the factory-settings are different in different versions of the provided device-tree we search for the alternate name "/fset" Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
This commit is contained in:
parent
1d46986601
commit
d63f7130ce
@ -252,15 +252,20 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||
|
||||
nodeoffset = fdt_path_offset(blob, "/factory-settings");
|
||||
if (nodeoffset < 0) {
|
||||
puts("set bootloader version 'factory-settings' not in dtb!\n");
|
||||
return -1;
|
||||
}
|
||||
if (fdt_setprop(blob, nodeoffset, "bl-version",
|
||||
PLAIN_VERSION, strlen(PLAIN_VERSION)) != 0) {
|
||||
puts("set bootloader version 'bl-version' prop. not in dtb!\n");
|
||||
return -1;
|
||||
printf("%s: cannot find /factory-settings, trying /fset\n",
|
||||
__func__);
|
||||
nodeoffset = fdt_path_offset(blob, "/fset");
|
||||
if (nodeoffset < 0) {
|
||||
printf("%s: cannot find /fset.\n", __func__);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (fdt_setprop(blob, nodeoffset, "bl-version",
|
||||
PLAIN_VERSION, strlen(PLAIN_VERSION)) != 0) {
|
||||
printf("%s: no 'bl-version' prop in fdt!\n", __func__);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user