Browse Source
This file moves gicv2 codes to a new separate files, target is to add gicv3 support later. Signed-off-by: Hongbo Zhang <hongbo.zhang@linaro.org> Reviewed-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org> Tested-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org> Change-Id: I30eb1fda5ea5c2b35d79360c52f46601cbca1bccpull/1932/head
Hongbo Zhang
7 years ago
committed by
Radoslaw Biernacki
6 changed files with 82 additions and 62 deletions
@ -0,0 +1,39 @@ |
|||||
|
/*
|
||||
|
* Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved. |
||||
|
* |
||||
|
* SPDX-License-Identifier: BSD-3-Clause |
||||
|
*/ |
||||
|
|
||||
|
#include <drivers/arm/gicv2.h> |
||||
|
#include <drivers/arm/gic_common.h> |
||||
|
#include <platform_def.h> |
||||
|
|
||||
|
static const interrupt_prop_t qemu_interrupt_props[] = { |
||||
|
PLATFORM_G1S_PROPS(GICV2_INTR_GROUP0), |
||||
|
PLATFORM_G0_PROPS(GICV2_INTR_GROUP0) |
||||
|
}; |
||||
|
|
||||
|
static const struct gicv2_driver_data plat_gicv2_driver_data = { |
||||
|
.gicd_base = GICD_BASE, |
||||
|
.gicc_base = GICC_BASE, |
||||
|
.interrupt_props = qemu_interrupt_props, |
||||
|
.interrupt_props_num = ARRAY_SIZE(qemu_interrupt_props), |
||||
|
}; |
||||
|
|
||||
|
void plat_qemu_gic_init(void) |
||||
|
{ |
||||
|
/* Initialize the gic cpu and distributor interfaces */ |
||||
|
gicv2_driver_init(&plat_gicv2_driver_data); |
||||
|
gicv2_distif_init(); |
||||
|
gicv2_pcpu_distif_init(); |
||||
|
gicv2_cpuif_enable(); |
||||
|
} |
||||
|
|
||||
|
void qemu_pwr_gic_on_finish(void) |
||||
|
{ |
||||
|
/* TODO: This setup is needed only after a cold boot */ |
||||
|
gicv2_pcpu_distif_init(); |
||||
|
|
||||
|
/* Enable the gic cpu interface */ |
||||
|
gicv2_cpuif_enable(); |
||||
|
} |
Loading…
Reference in new issue