@@ -1517,7 +1517,7 @@ static int dt_vram_reserved_region(const char *dcp_alias, const char *disp_alias
15171517 disp_reserved_regions_vram , & region , 1 );
15181518}
15191519
1520- static int dt_reserve_asc_firmware (const char * adt_path , const char * fdt_path )
1520+ static int dt_reserve_asc_firmware (const char * adt_path , const char * fdt_path , bool remap )
15211521{
15221522 int ret = 0 ;
15231523
@@ -1547,7 +1547,7 @@ static int dt_reserve_asc_firmware(const char *adt_path, const char *fdt_path)
15471547 unsigned int num_maps = segments_len / sizeof (* seg );
15481548
15491549 for (unsigned i = 0 ; i < num_maps ; i ++ ) {
1550- u64 iova = seg -> iova ;
1550+ u64 iova = remap ? seg -> remap : seg -> iova ;
15511551
15521552 char node_name [64 ];
15531553 snprintf (node_name , sizeof (node_name ), "asc-firmware@%lx" , seg -> phys );
@@ -2158,13 +2158,13 @@ int kboot_prepare_dt(void *fdt)
21582158 return -1 ;
21592159 if (dt_disable_missing_devs ("i2c" , "i2c@" , 8 ))
21602160 return -1 ;
2161- if (dt_reserve_asc_firmware ("/arm-io/sio" , "sio" ))
2161+ if (dt_reserve_asc_firmware ("/arm-io/sio" , "sio" , true ))
21622162 return -1 ;
21632163 if (dt_set_sio_fwdata ())
21642164 return -1 ;
2165- if (dt_set_isp_fwdata ( ))
2165+ if (dt_reserve_asc_firmware ( "/arm-io/isp" , "isp" , false ))
21662166 return -1 ;
2167- if (dt_reserve_asc_firmware ( "/arm-io/isp" , "isp" ))
2167+ if (dt_set_isp_fwdata ( ))
21682168 return -1 ;
21692169#ifndef RELEASE
21702170 if (dt_transfer_virtios ())
0 commit comments