// SPDX-License-Identifier: BSD-2-Clause /* * Copyright (c) 2019, HiSilicon Technologies Co., Ltd. */ #include #include #include #include #include #include #include #include #include #include #include #include static void main_fiq(void); static const struct thread_handlers handlers = { .std_smc = tee_entry_std, .fast_smc = tee_entry_fast, .nintr = main_fiq, .cpu_on = pm_panic, .cpu_off = pm_panic, .cpu_suspend = pm_panic, .cpu_resume = pm_panic, .system_off = pm_panic, .system_reset = pm_panic, }; static struct pl011_data console_data; register_phys_mem(MEM_AREA_IO_NSEC, CONSOLE_UART_BASE, PL011_REG_SIZE); #ifdef BOOTSRAM_BASE register_phys_mem(MEM_AREA_IO_SEC, BOOTSRAM_BASE, BOOTSRAM_SIZE); #endif #ifdef CPU_CRG_BASE register_phys_mem(MEM_AREA_IO_SEC, CPU_CRG_BASE, CPU_CRG_SIZE); #endif #ifdef SYS_CTRL_BASE register_phys_mem(MEM_AREA_IO_SEC, SYS_CTRL_BASE, SYS_CTRL_SIZE); #endif const struct thread_handlers *generic_boot_get_handlers(void) { return &handlers; } static void main_fiq(void) { panic(); } void console_init(void) { pl011_init(&console_data, CONSOLE_UART_BASE, CONSOLE_UART_CLK_IN_HZ, CONSOLE_BAUDRATE); register_serial_console(&console_data.chip); }