mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-18 14:48:17 +01:00
tools: fix incorrect usage of DT node unit address
The DT spec demands a unit-address in a node name to match the "reg" property in that node. Newer dtc versions will throw warnings if this is not the case. Correct the generated unit names when U-Boot's mkimage creates a FIT image. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
This commit is contained in:
parent
8837af154c
commit
2eda8e9aad
@ -185,7 +185,7 @@ static void get_basename(char *str, int size, const char *fname)
|
|||||||
* fit_write_images() - Write out a list of images to the FIT
|
* fit_write_images() - Write out a list of images to the FIT
|
||||||
*
|
*
|
||||||
* We always include the main image (params->datafile). If there are device
|
* We always include the main image (params->datafile). If there are device
|
||||||
* tree files, we include an fdt@ node for each of those too.
|
* tree files, we include an fdt- node for each of those too.
|
||||||
*/
|
*/
|
||||||
static int fit_write_images(struct image_tool_params *params, char *fdt)
|
static int fit_write_images(struct image_tool_params *params, char *fdt)
|
||||||
{
|
{
|
||||||
@ -199,7 +199,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
|
|||||||
|
|
||||||
/* First the main image */
|
/* First the main image */
|
||||||
typename = genimg_get_type_short_name(params->fit_image_type);
|
typename = genimg_get_type_short_name(params->fit_image_type);
|
||||||
snprintf(str, sizeof(str), "%s@1", typename);
|
snprintf(str, sizeof(str), "%s-1", typename);
|
||||||
fdt_begin_node(fdt, str);
|
fdt_begin_node(fdt, str);
|
||||||
fdt_property_string(fdt, "description", params->imagename);
|
fdt_property_string(fdt, "description", params->imagename);
|
||||||
fdt_property_string(fdt, "type", typename);
|
fdt_property_string(fdt, "type", typename);
|
||||||
@ -225,7 +225,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
|
|||||||
for (cont = params->content_head; cont; cont = cont->next) {
|
for (cont = params->content_head; cont; cont = cont->next) {
|
||||||
if (cont->type != IH_TYPE_FLATDT)
|
if (cont->type != IH_TYPE_FLATDT)
|
||||||
continue;
|
continue;
|
||||||
snprintf(str, sizeof(str), "%s@%d", FIT_FDT_PROP, ++upto);
|
snprintf(str, sizeof(str), "%s-%d", FIT_FDT_PROP, ++upto);
|
||||||
fdt_begin_node(fdt, str);
|
fdt_begin_node(fdt, str);
|
||||||
|
|
||||||
get_basename(str, sizeof(str), cont->fname);
|
get_basename(str, sizeof(str), cont->fname);
|
||||||
@ -243,7 +243,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
|
|||||||
|
|
||||||
/* And a ramdisk file if available */
|
/* And a ramdisk file if available */
|
||||||
if (params->fit_ramdisk) {
|
if (params->fit_ramdisk) {
|
||||||
fdt_begin_node(fdt, FIT_RAMDISK_PROP "@1");
|
fdt_begin_node(fdt, FIT_RAMDISK_PROP "-1");
|
||||||
|
|
||||||
fdt_property_string(fdt, "type", FIT_RAMDISK_PROP);
|
fdt_property_string(fdt, "type", FIT_RAMDISK_PROP);
|
||||||
fdt_property_string(fdt, "os", genimg_get_os_short_name(params->os));
|
fdt_property_string(fdt, "os", genimg_get_os_short_name(params->os));
|
||||||
@ -277,41 +277,41 @@ static void fit_write_configs(struct image_tool_params *params, char *fdt)
|
|||||||
int upto;
|
int upto;
|
||||||
|
|
||||||
fdt_begin_node(fdt, "configurations");
|
fdt_begin_node(fdt, "configurations");
|
||||||
fdt_property_string(fdt, "default", "conf@1");
|
fdt_property_string(fdt, "default", "conf-1");
|
||||||
|
|
||||||
upto = 0;
|
upto = 0;
|
||||||
for (cont = params->content_head; cont; cont = cont->next) {
|
for (cont = params->content_head; cont; cont = cont->next) {
|
||||||
if (cont->type != IH_TYPE_FLATDT)
|
if (cont->type != IH_TYPE_FLATDT)
|
||||||
continue;
|
continue;
|
||||||
typename = genimg_get_type_short_name(cont->type);
|
typename = genimg_get_type_short_name(cont->type);
|
||||||
snprintf(str, sizeof(str), "conf@%d", ++upto);
|
snprintf(str, sizeof(str), "conf-%d", ++upto);
|
||||||
fdt_begin_node(fdt, str);
|
fdt_begin_node(fdt, str);
|
||||||
|
|
||||||
get_basename(str, sizeof(str), cont->fname);
|
get_basename(str, sizeof(str), cont->fname);
|
||||||
fdt_property_string(fdt, "description", str);
|
fdt_property_string(fdt, "description", str);
|
||||||
|
|
||||||
typename = genimg_get_type_short_name(params->fit_image_type);
|
typename = genimg_get_type_short_name(params->fit_image_type);
|
||||||
snprintf(str, sizeof(str), "%s@1", typename);
|
snprintf(str, sizeof(str), "%s-1", typename);
|
||||||
fdt_property_string(fdt, typename, str);
|
fdt_property_string(fdt, typename, str);
|
||||||
|
|
||||||
if (params->fit_ramdisk)
|
if (params->fit_ramdisk)
|
||||||
fdt_property_string(fdt, FIT_RAMDISK_PROP,
|
fdt_property_string(fdt, FIT_RAMDISK_PROP,
|
||||||
FIT_RAMDISK_PROP "@1");
|
FIT_RAMDISK_PROP "-1");
|
||||||
|
|
||||||
snprintf(str, sizeof(str), FIT_FDT_PROP "@%d", upto);
|
snprintf(str, sizeof(str), FIT_FDT_PROP "-%d", upto);
|
||||||
fdt_property_string(fdt, FIT_FDT_PROP, str);
|
fdt_property_string(fdt, FIT_FDT_PROP, str);
|
||||||
fdt_end_node(fdt);
|
fdt_end_node(fdt);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!upto) {
|
if (!upto) {
|
||||||
fdt_begin_node(fdt, "conf@1");
|
fdt_begin_node(fdt, "conf-1");
|
||||||
typename = genimg_get_type_short_name(params->fit_image_type);
|
typename = genimg_get_type_short_name(params->fit_image_type);
|
||||||
snprintf(str, sizeof(str), "%s@1", typename);
|
snprintf(str, sizeof(str), "%s-1", typename);
|
||||||
fdt_property_string(fdt, typename, str);
|
fdt_property_string(fdt, typename, str);
|
||||||
|
|
||||||
if (params->fit_ramdisk)
|
if (params->fit_ramdisk)
|
||||||
fdt_property_string(fdt, FIT_RAMDISK_PROP,
|
fdt_property_string(fdt, FIT_RAMDISK_PROP,
|
||||||
FIT_RAMDISK_PROP "@1");
|
FIT_RAMDISK_PROP "-1");
|
||||||
|
|
||||||
fdt_end_node(fdt);
|
fdt_end_node(fdt);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user