powerpc: mpc8xx: harmonise initialisation of the immap local pointer
authorChristophe Leroy <christophe.leroy@c-s.fr>
Fri, 16 Mar 2018 16:20:33 +0000 (17:20 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 6 Apr 2018 20:30:37 +0000 (16:30 -0400)
In most places, immap local pointer is defined as
immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
In a few places, it is defined as
immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);

This patch replaces the few of the latest form by the other one.

The two are fully equivalent since SPRN_IMMR is set with CONFIG_SYS_IMMR
very early in start.S

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
arch/powerpc/cpu/mpc8xx/cpu.c
arch/powerpc/cpu/mpc8xx/speed.c

index 1120fd7..9da73ac 100644 (file)
@@ -36,7 +36,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 static int check_CPU(long clock, uint pvr, uint immr)
 {
-       immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);
+       immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
        uint k;
        char buf[32];
 
@@ -237,8 +237,7 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  */
 unsigned long get_tbclk(void)
 {
-       uint immr = get_immr(0);        /* Return full IMMR contents */
-       immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);
+       immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
        ulong oscclk, factor, pll;
 
        if (in_be32(&immap->im_clkrst.car_sccr) & SCCR_TBS)
index fa8f87c..f8eb4a1 100644 (file)
@@ -17,8 +17,7 @@ DECLARE_GLOBAL_DATA_PTR;
  */
 int get_clocks(void)
 {
-       uint immr = get_immr(0);        /* Return full IMMR contents */
-       immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);
+       immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
        uint sccr = in_be32(&immap->im_clkrst.car_sccr);
        uint divider = 1 << (((sccr & SCCR_DFBRG11) >> 11) * 2);