Merge tag 'efi-2020-07-rc6' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
[oweals/u-boot.git] / board / freescale / common / ls102xa_stream_id.c
index f43426991b74e0af4f4aba07ad78e59356885066..a6ee87da9f550bac9caa0374ca6aff00f73e9853 100644 (file)
@@ -1,7 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright 2014 Freescale Semiconductor
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 
 void ls102xa_config_smmu_stream_id(struct smmu_stream_id *id, uint32_t num)
 {
-       uint32_t *scfg = (uint32_t *)CONFIG_SYS_FSL_SCFG_ADDR;
+       void *scfg = (void *)CONFIG_SYS_FSL_SCFG_ADDR;
        int i;
+       u32 icid;
 
-       for (i = 0; i < num; i++)
-               out_be32(scfg + id[i].offset, id[i].stream_id);
+       for (i = 0; i < num; i++) {
+               icid = (id[i].stream_id & 0xff) << 24;
+               out_be32((u32 *)(scfg + id[i].offset), icid);
+       }
 }
 
 void ls1021x_config_caam_stream_id(struct liodn_id_table *tbl, int size)
@@ -28,6 +30,6 @@ void ls1021x_config_caam_stream_id(struct liodn_id_table *tbl, int size)
                else
                        liodn = tbl[i].id[0];
 
-               out_le32((uint32_t *)(tbl[i].reg_offset), liodn);
+               out_le32((u32 *)(tbl[i].reg_offset), liodn);
        }
 }