1*0499215eSPankaj Gupta /* 2*0499215eSPankaj Gupta * Copyright 2021 NXP 3*0499215eSPankaj Gupta * 4*0499215eSPankaj Gupta * SPDX-License-Identifier: BSD-3-Clause 5*0499215eSPankaj Gupta * 6*0499215eSPankaj Gupta */ 7*0499215eSPankaj Gupta 8*0499215eSPankaj Gupta #include <assert.h> 9*0499215eSPankaj Gupta 10*0499215eSPankaj Gupta #include <common/debug.h> 11*0499215eSPankaj Gupta #include <dcfg.h> 12*0499215eSPankaj Gupta #include <lib/utils.h> 13*0499215eSPankaj Gupta #include <plat_console.h> 14*0499215eSPankaj Gupta 15*0499215eSPankaj Gupta /* 16*0499215eSPankaj Gupta * Perform Arm specific early platform setup. At this moment we only initialize 17*0499215eSPankaj Gupta * the console and the memory layout. 18*0499215eSPankaj Gupta */ plat_console_init(uintptr_t nxp_console_addr,uint32_t uart_clk_div,uint32_t baud)19*0499215eSPankaj Guptavoid plat_console_init(uintptr_t nxp_console_addr, uint32_t uart_clk_div, 20*0499215eSPankaj Gupta uint32_t baud) 21*0499215eSPankaj Gupta { 22*0499215eSPankaj Gupta struct sysinfo sys; 23*0499215eSPankaj Gupta static console_t nxp_console; 24*0499215eSPankaj Gupta 25*0499215eSPankaj Gupta zeromem(&sys, sizeof(sys)); 26*0499215eSPankaj Gupta if (get_clocks(&sys)) { 27*0499215eSPankaj Gupta ERROR("System clocks are not set\n"); 28*0499215eSPankaj Gupta panic(); 29*0499215eSPankaj Gupta } 30*0499215eSPankaj Gupta nxp_console_16550_register(nxp_console_addr, 31*0499215eSPankaj Gupta (sys.freq_platform/uart_clk_div), 32*0499215eSPankaj Gupta baud, &nxp_console); 33*0499215eSPankaj Gupta } 34