ARM: shmobile: rcar-gen2: Use ICRAM1 for jump stub on all SoCs

Currently the different SoCs in the R-Car Gen2 family use different
types of on-chip RAM for the jump stub:
  - R-Car H2 uses Media RAM,
  - R-Car M2-W uses another type of optional On-chip RAM, as it doesn't
    have Media RAM,
  - R-Car M2-N uses Inter Connect RAM in Magnus Damm's "ARM: shmobile:
    r8a7793 boot address update".

As all R-Car Gen2 SoCs have 4 KiB of Inter Connect RAM, consolidate the
code by always using that.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This commit is contained in:
Geert Uytterhoeven 2016-05-17 17:15:33 +02:00 committed by Simon Horman
parent 85d9bf152b
commit c94bc815f3
1 changed files with 4 additions and 9 deletions

View File

@ -26,8 +26,7 @@
#define CA7RESCNT 0x0044 #define CA7RESCNT 0x0044
/* On-chip RAM */ /* On-chip RAM */
#define MERAM 0xe8080000 #define ICRAM1 0xe63c0000 /* Inter Connect RAM1 (4 KiB) */
#define RAM 0xe6300000
/* SYSC */ /* SYSC */
#define SYSCIER 0x0c #define SYSCIER 0x0c
@ -58,7 +57,7 @@ void __init rcar_gen2_pm_init(void)
struct device_node *np, *cpus; struct device_node *np, *cpus;
bool has_a7 = false; bool has_a7 = false;
bool has_a15 = false; bool has_a15 = false;
phys_addr_t boot_vector_addr = 0; phys_addr_t boot_vector_addr = ICRAM1;
u32 syscier = 0; u32 syscier = 0;
if (once++) if (once++)
@ -75,14 +74,10 @@ void __init rcar_gen2_pm_init(void)
has_a7 = true; has_a7 = true;
} }
if (of_machine_is_compatible("renesas,r8a7790")) { if (of_machine_is_compatible("renesas,r8a7790"))
boot_vector_addr = MERAM;
syscier = 0x013111ef; syscier = 0x013111ef;
else if (of_machine_is_compatible("renesas,r8a7791"))
} else if (of_machine_is_compatible("renesas,r8a7791")) {
boot_vector_addr = RAM;
syscier = 0x00111003; syscier = 0x00111003;
}
/* RAM for jump stub, because BAR requires 256KB aligned address */ /* RAM for jump stub, because BAR requires 256KB aligned address */
p = ioremap_nocache(boot_vector_addr, shmobile_boot_size); p = ioremap_nocache(boot_vector_addr, shmobile_boot_size);