From c4f97b1f53a48ab52efc221b73a235797375fbfb Mon Sep 17 00:00:00 2001 From: Vincent Siles Date: Wed, 18 May 2016 14:41:14 +0200 Subject: [PATCH] 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 --- board/freescale/common/ls102xa_stream_id.c | 7 +++++-- 1 file 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) -- 2.39.5