@@ -1573,7 +1573,7 @@ static int dt_vram_reserved_region(const char *dcp_alias, const char *disp_alias
15731573 disp_reserved_regions_vram , & region , 1 );
15741574}
15751575
1576- static int dt_reserve_asc_firmware (const char * adt_path , const char * fdt_path )
1576+ static int dt_reserve_asc_firmware (const char * adt_path , const char * fdt_path , bool remap )
15771577{
15781578 int ret = 0 ;
15791579
@@ -1603,7 +1603,7 @@ static int dt_reserve_asc_firmware(const char *adt_path, const char *fdt_path)
16031603 unsigned int num_maps = segments_len / sizeof (* seg );
16041604
16051605 for (unsigned i = 0 ; i < num_maps ; i ++ ) {
1606- u64 iova = seg -> iova ;
1606+ u64 iova = remap ? seg -> remap : seg -> iova ;
16071607
16081608 char node_name [64 ];
16091609 snprintf (node_name , sizeof (node_name ), "asc-firmware@%lx" , seg -> phys );
@@ -2216,13 +2216,13 @@ int kboot_prepare_dt(void *fdt)
22162216 return -1 ;
22172217 if (dt_disable_missing_devs ("i2c" , "i2c@" , 8 ))
22182218 return -1 ;
2219- if (dt_reserve_asc_firmware ("/arm-io/sio" , "sio" ))
2219+ if (dt_reserve_asc_firmware ("/arm-io/sio" , "sio" , true ))
22202220 return -1 ;
22212221 if (dt_set_sio_fwdata ())
22222222 return -1 ;
2223- if (dt_set_isp_fwdata ( ))
2223+ if (dt_reserve_asc_firmware ( "/arm-io/isp" , "isp" , false ))
22242224 return -1 ;
2225- if (dt_reserve_asc_firmware ( "/arm-io/isp" , "isp" ))
2225+ if (dt_set_isp_fwdata ( ))
22262226 return -1 ;
22272227#ifndef RELEASE
22282228 if (dt_transfer_virtios ())
0 commit comments