blob: 7744aa0230a54e64435bd49249f7314f1d790060 [file] [log] [blame]
Yann Gautierc9d75b32019-02-14 11:13:25 +01001/*
2 * Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <assert.h>
8
9#include <platform_def.h>
10
11#include <arch_helpers.h>
12#include <common/debug.h>
13#include <dt-bindings/clock/stm32mp1-clks.h>
14#include <plat/common/platform.h>
15
16uintptr_t plat_get_ns_image_entrypoint(void)
17{
18 return BL33_BASE;
19}
20
21unsigned int plat_get_syscnt_freq2(void)
22{
23 return read_cntfrq_el0();
24}
25
26static uintptr_t boot_ctx_address;
27
28void stm32mp1_save_boot_ctx_address(uintptr_t address)
29{
30 boot_ctx_address = address;
31}
32
33uintptr_t stm32mp1_get_boot_ctx_address(void)
34{
35 return boot_ctx_address;
36}
37
38uintptr_t stm32_get_gpio_bank_base(unsigned int bank)
39{
40 if (bank == GPIO_BANK_Z) {
41 return GPIOZ_BASE;
42 }
43
44 assert(GPIO_BANK_A == 0 && bank <= GPIO_BANK_K);
45
46 return GPIOA_BASE + (bank * GPIO_BANK_OFFSET);
47}
48
49unsigned long stm32_get_gpio_bank_clock(unsigned int bank)
50{
51 if (bank == GPIO_BANK_Z) {
52 return GPIOZ;
53 }
54
55 assert(GPIO_BANK_A == 0 && bank <= GPIO_BANK_K);
56
57 return GPIOA + (bank - GPIO_BANK_A);
58}
59
60uint32_t stm32_get_gpio_bank_offset(unsigned int bank)
61{
62 if (bank == GPIO_BANK_Z) {
63 return 0;
64 }
65
66 assert(GPIO_BANK_A == 0 && bank <= GPIO_BANK_K);
67
68 return bank * GPIO_BANK_OFFSET;
69}