xen/arm: Specific mapping for dom0 on OMAP5 platform.
PATCH 1/1 xen/arm: Specific mapping for dom0 on OMAP5 platform.
Signed-off-by Chen Baozi <[email protected]>
--- xen/arch/arm/platforms/omap5.c | 31 +++++++++++++++++++++++++++++++ xen/include/asm-arm/platforms/omap5.h | 4 ++++ 2 files changed, 35 insertions(+)
xen/arch/arm/platforms/omap5.c +31 -0
@@ -17,6 +17,7 @@* GNU General Public License for more details. */ +#include <asm/p2m.h> #include <xen/config.h> #include <asm/platform.h> #include <asm/platforms/omap5.h>
@@ -96,6 +97,34 @@ static int omap5_init_time(void)return 0 ; } +/* Additional mappings for dom0 (not in the DTS) */ +static int omap5_specific_mapping (struct domain *d) +{ +/* Map the PRM module */ +map_mmio_regions (d,OMAP5_PRM_BASE ,OMAP5_PRM_BASE + (PAGE_SIZE *2 ) -1 , +OMAP5_PRM_BASE ); + +/* Map the PRM_MPU */ +map_mmio_regions (d,OMAP5_PRCM_MPU_BASE , +OMAP5_PRCM_MPU_BASE +PAGE_SIZE -1 , +OMAP5_PRCM_MPU_BASE ); + +/* Map the Wakeup Gen */ +map_mmio_regions (d,OMAP5_WKUPGEN_BASE ,OMAP5_WKUPGEN_BASE +PAGE_SIZE -1 , +OMAP5_WKUPGEN_BASE ); + +/* Map the on-chip SRAM */ +map_mmio_regions (d,OMAP5_SRAM_PA ,OMAP5_SRAM_PA + (PAGE_SIZE *32 ) -1 , +OMAP5_SRAM_PA ); + +return 0 ; +} + +static uint32_t omap5_quirks (void ) +{ +return PLATFORM_QUIRK_DOM0_MAPPING_11 ; +} +static const char const *omap5_dt_compat[]__initdata = {"ti,omap5" ,
@@ -105,6 +134,8 @@ static const char const *omap5_dt_compat[] __initdata =PLATFORM_START (omap5,"TI OMAP5" ) .compatible = omap5_dt_compat, .init_time = omap5_init_time, + .specific_mapping = omap5_specific_mapping, + .quirks = omap5_quirks,PLATFORM_END /*
xen/include/asm-arm/platforms/omap5.h +4 -0
@@ -16,6 +16,10 @@#define OMAP_AUX_CORE_BOOT_0 0x48281800#define OMAP_AUX_CORE_BOOT_1 0x48281804 +#define OMAP5_PRCM_MPU_BASE 0x48243000 +#define OMAP5_WKUPGEN_BASE 0x48281000 +#define OMAP5_SRAM_PA 0x40300000 +/* Constants below is only used in assembly because the DTS is not yet parsed */ #ifdef __ASSEMBLY__
Signature · 1 line
1.8.1.4