12345678910111213141516171819202122232425262728293031 |
- /*
- * Copyright (c) 2018-2020, Renesas Electronics Corporation. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
- #include <arch.h>
- #include <arch_helpers.h>
- #include "micro_delay.h"
- #define RCAR_CONV_MICROSEC 1000000U
- void
- #if IMAGE_BL31
- __attribute__ ((section(".system_ram")))
- #endif
- rcar_micro_delay(uint64_t micro_sec)
- {
- uint64_t freq;
- uint64_t base_count;
- uint64_t get_count;
- uint64_t wait_time = 0U;
- freq = read_cntfrq_el0();
- base_count = read_cntpct_el0();
- while (micro_sec > wait_time) {
- get_count = read_cntpct_el0();
- wait_time = ((get_count - base_count) * RCAR_CONV_MICROSEC) / freq;
- }
- }
|