Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11871890 authored by Linus Walleij's avatar Linus Walleij
Browse files

mach-ux500: make PRCMU base address dynamic



This makes the PRCMU base address be selected at runtime for U8500
and U5500 instead of being compiled-in.

Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 9f3c645c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -188,6 +188,8 @@ void __init u5500_map_io(void)
	ux500_map_io();

	iotable_init(u5500_io_desc, ARRAY_SIZE(u5500_io_desc));

	_PRCMU_BASE = __io_address(U5500_PRCMU_BASE);
}

static int usb_db5500_rx_dma_cfg[] = {
+2 −0
Original line number Diff line number Diff line
@@ -87,6 +87,8 @@ void __init u8500_map_io(void)
		iotable_init(u8500_v1_io_desc, ARRAY_SIZE(u8500_v1_io_desc));
	else if (cpu_is_u8500v2())
		iotable_init(u8500_v2_io_desc, ARRAY_SIZE(u8500_v2_io_desc));

	_PRCMU_BASE = __io_address(U8500_PRCMU_BASE);
}

static struct resource db8500_pmu_resources[] = {
+2 −0
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@

#include "clock.h"

void __iomem *_PRCMU_BASE;

#ifdef CONFIG_CACHE_L2X0
static void __iomem *l2x0_base;
#endif
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@
#ifndef __ASSEMBLY__

#include <mach/id.h>
extern void __iomem *_PRCMU_BASE;

#define ARRAY_AND_SIZE(x)	(x), ARRAY_SIZE(x)

+0 −2
Original line number Diff line number Diff line
@@ -15,8 +15,6 @@

#include <mach/hardware.h>

#define _PRCMU_BASE		IO_ADDRESS(U8500_PRCMU_BASE)

#define PRCM_ARM_PLLDIVPS	(_PRCMU_BASE + 0x118)
#define PRCM_ARM_CHGCLKREQ	(_PRCMU_BASE + 0x114)
#define PRCM_PLLARM_ENABLE	(_PRCMU_BASE + 0x98)