diff options
author | Lubomir Rintel | 2019-06-27 00:10:25 +0200 |
---|---|---|
committer | Lubomir Rintel | 2019-10-17 16:36:10 +0200 |
commit | e69fd5090dbd640a12b61feef78eb07a17cec209 (patch) | |
tree | 20af2a8013a91e058639c1bb4f286f9418f90236 /arch/arm/mach-mmp/common.c | |
parent | df8bf2d8a02082aba00dfbe6b93573fb008939d0 (diff) |
ARM: mmp: map the PGU as well
The MMP2 and later includes a system control unit in this area. We'll need
that to initialize the secondary core on MMP3.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Diffstat (limited to 'arch/arm/mach-mmp/common.c')
-rw-r--r-- | arch/arm/mach-mmp/common.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-mmp/common.c b/arch/arm/mach-mmp/common.c index 6684abc7708b..2ee08c78e8bc 100644 --- a/arch/arm/mach-mmp/common.c +++ b/arch/arm/mach-mmp/common.c @@ -36,6 +36,15 @@ static struct map_desc standard_io_desc[] __initdata = { }, }; +static struct map_desc mmp2_io_desc[] __initdata = { + { + .pfn = __phys_to_pfn(PGU_PHYS_BASE), + .virtual = (unsigned long)PGU_VIRT_BASE, + .length = PGU_PHYS_SIZE, + .type = MT_DEVICE, + }, +}; + void __init mmp_map_io(void) { iotable_init(standard_io_desc, ARRAY_SIZE(standard_io_desc)); @@ -44,6 +53,12 @@ void __init mmp_map_io(void) mmp_chip_id = __raw_readl(MMP_CHIPID); } +void __init mmp2_map_io(void) +{ + mmp_map_io(); + iotable_init(mmp2_io_desc, ARRAY_SIZE(mmp2_io_desc)); +} + void mmp_restart(enum reboot_mode mode, const char *cmd) { soft_restart(0); |