]>
Commit | Line | Data |
---|---|---|
1bfda055 | 1 | /** @file\r |
2 | *\r | |
41fb5d46 | 3 | * Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r |
1bfda055 | 4 | *\r |
4059386c | 5 | * SPDX-License-Identifier: BSD-2-Clause-Patent\r |
1bfda055 | 6 | *\r |
7 | **/\r | |
8 | \r | |
438311a3 | 9 | #include <Uefi.h>\r |
1bfda055 | 10 | #include <Library/IoLib.h>\r |
55a0d64b | 11 | #include <Library/ArmGicLib.h>\r |
1bfda055 | 12 | \r |
1bfda055 | 13 | VOID\r |
14 | EFIAPI\r | |
55a0d64b | 15 | ArmGicEnableDistributor (\r |
1bfda055 | 16 | IN INTN GicDistributorBase\r |
17 | )\r | |
18 | {\r | |
41fb5d46 OM |
19 | ARM_GIC_ARCH_REVISION Revision;\r |
20 | \r | |
438311a3 | 21 | /*\r |
22 | * Enable GIC distributor in Non-Secure world.\r | |
23 | * Note: The ICDDCR register is banked when Security extensions are implemented\r | |
24 | */\r | |
41fb5d46 OM |
25 | Revision = ArmGicGetSupportedArchRevision ();\r |
26 | if (Revision == ARM_GIC_ARCH_REVISION_2) {\r | |
27 | MmioWrite32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x1);\r | |
28 | } else {\r | |
152ac489 | 29 | if (MmioRead32 (GicDistributorBase + ARM_GIC_ICDDCR) & ARM_GIC_ICDDCR_ARE) {\r |
33ed33f1 | 30 | MmioOr32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x2);\r |
152ac489 | 31 | } else {\r |
33ed33f1 | 32 | MmioOr32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x1);\r |
152ac489 | 33 | }\r |
41fb5d46 | 34 | }\r |
1bfda055 | 35 | }\r |