]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
arm: Fix SCFG ICID reg addresses
authorVincent Siles <vincent.siles@provenrun.com>
Fri, 22 Apr 2016 07:52:06 +0000 (09:52 +0200)
committerYork Sun <york.sun@nxp.com>
Wed, 18 May 2016 15:51:44 +0000 (08:51 -0700)
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>
board/freescale/common/ls102xa_stream_id.c

index f43426991b74e0af4f4aba07ad78e59356885066..39e7b306eeeb61dffd01b1fddc086d310a4f6230 100644 (file)
 
 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)