18b81a39eSGhennadi Procopciuc /* 28b81a39eSGhennadi Procopciuc * Copyright 2024 NXP 38b81a39eSGhennadi Procopciuc * 48b81a39eSGhennadi Procopciuc * SPDX-License-Identifier: BSD-3-Clause 58b81a39eSGhennadi Procopciuc */ 68b81a39eSGhennadi Procopciuc 78b81a39eSGhennadi Procopciuc #include <common/debug.h> 8*a1e07b39SGhennadi Procopciuc #include <lib/xlat_tables/xlat_tables_v2.h> 98b81a39eSGhennadi Procopciuc #include <linflex.h> 108b81a39eSGhennadi Procopciuc #include <plat_console.h> 118b81a39eSGhennadi Procopciuc #include <platform_def.h> 128b81a39eSGhennadi Procopciuc console_s32g2_register(void)138b81a39eSGhennadi Procopciucvoid console_s32g2_register(void) 148b81a39eSGhennadi Procopciuc { 15bf012960SGhennadi Procopciuc static console_t s32g2_console = { 16bf012960SGhennadi Procopciuc .next = NULL, 17bf012960SGhennadi Procopciuc .flags = 0u, 18bf012960SGhennadi Procopciuc }; 198b81a39eSGhennadi Procopciuc int ret; 208b81a39eSGhennadi Procopciuc 21*a1e07b39SGhennadi Procopciuc ret = mmap_add_dynamic_region(UART_BASE, UART_BASE, PAGE_SIZE, 22*a1e07b39SGhennadi Procopciuc MT_DEVICE | MT_RW | MT_SECURE); 23*a1e07b39SGhennadi Procopciuc if (ret != 0) { 24*a1e07b39SGhennadi Procopciuc panic(); 25*a1e07b39SGhennadi Procopciuc } 26*a1e07b39SGhennadi Procopciuc 278b81a39eSGhennadi Procopciuc ret = console_linflex_register(UART_BASE, UART_CLOCK_HZ, 288b81a39eSGhennadi Procopciuc UART_BAUDRATE, &s32g2_console); 298b81a39eSGhennadi Procopciuc if (ret == 0) { 308b81a39eSGhennadi Procopciuc panic(); 318b81a39eSGhennadi Procopciuc } 328b81a39eSGhennadi Procopciuc 338b81a39eSGhennadi Procopciuc console_set_scope(&s32g2_console, 348b81a39eSGhennadi Procopciuc CONSOLE_FLAG_BOOT | CONSOLE_FLAG_CRASH | 358b81a39eSGhennadi Procopciuc CONSOLE_FLAG_TRANSLATE_CRLF); 368b81a39eSGhennadi Procopciuc } 37