summaryrefslogtreecommitdiff
path: root/board/freescale
diff options
context:
space:
mode:
authorVincent Siles <vincent.siles@provenrun.com>2016-05-18 14:41:14 +0200
committerYork Sun <york.sun@nxp.com>2016-06-03 14:12:06 -0700
commitc4f97b1f53a48ab52efc221b73a235797375fbfb (patch)
treefd74714ca2260588fea15d9e54509b79dc8fbfd5 /board/freescale
parentcc634e283659096e792f9515e6a9268b58179954 (diff)
board: ls102xa: Fix ICID setup
LS102A ref manual dictates that ICID have to be written to the MSB of the ICID register, not to the LSB. Signed-off-by: Vincent Siles <vincent.siles@provenrun.com>
Diffstat (limited to 'board/freescale')
-rw-r--r--board/freescale/common/ls102xa_stream_id.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/board/freescale/common/ls102xa_stream_id.c b/board/freescale/common/ls102xa_stream_id.c
index 3d5404ee10..0abaffb334 100644
--- a/board/freescale/common/ls102xa_stream_id.c
+++ b/board/freescale/common/ls102xa_stream_id.c
@@ -12,9 +12,12 @@ void ls102xa_config_smmu_stream_id(struct smmu_stream_id *id, uint32_t num)
{
void *scfg = (void *)CONFIG_SYS_FSL_SCFG_ADDR;
int i;
+ u32 icid;
- for (i = 0; i < num; i++)
- out_be32((u32 *)(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)