summaryrefslogtreecommitdiff
path: root/board/freescale
diff options
context:
space:
mode:
authorVincent Siles <vincent.siles@provenrun.com>2016-04-22 09:52:06 +0200
committerYork Sun <york.sun@nxp.com>2016-05-18 08:51:44 -0700
commit15b96ad8318d8670d3a776e72dbf8edaca74e4a7 (patch)
treedd68a9534e878189cb44c5b77990e16690929ef6 /board/freescale
parentacb8f5e914814ac6c697edb86701958da251a223 (diff)
downloadu-boot-imx-15b96ad8318d8670d3a776e72dbf8edaca74e4a7.zip
u-boot-imx-15b96ad8318d8670d3a776e72dbf8edaca74e4a7.tar.gz
u-boot-imx-15b96ad8318d8670d3a776e72dbf8edaca74e4a7.tar.bz2
arm: Fix SCFG ICID reg addresses
On the LS102x boards, in order to initialize the ICID values of masters, the dev_stream_id array holds absolute offsets from the base of SCFG. In ls102xa_config_ssmu_stream_id, the base pointer is cast to uint32_t * before adding the offset, leading to an invalid address. Casting it to void * solves the issue. Signed-off-by: Vincent Siles <vincent.siles@provenrun.com> Reviewed-by: York Sun <york.sun@nxp.com>
Diffstat (limited to 'board/freescale')
-rw-r--r--board/freescale/common/ls102xa_stream_id.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/board/freescale/common/ls102xa_stream_id.c b/board/freescale/common/ls102xa_stream_id.c
index f434269..39e7b30 100644
--- a/board/freescale/common/ls102xa_stream_id.c
+++ b/board/freescale/common/ls102xa_stream_id.c
@@ -10,11 +10,11 @@
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;
for (i = 0; i < num; i++)
- out_be32(scfg + id[i].offset, id[i].stream_id);
+ out_be32((u32 *)(scfg + id[i].offset), id[i].stream_id);
}
void ls1021x_config_caam_stream_id(struct liodn_id_table *tbl, int size)