u-boot/arch/arm/mach-zynqmp/include/mach/psu_init_gpl.h
Michal Simek 11381fba99 arm64: zynqmp: Fix debug uart initialization
The commit 0dba45864b ("arm: Init the debug UART") calls
debug_uart_init() from crt0.S but it won't work because SOC is not
configured yet. That's why create board_debug_uart_init() which calls
psu_init() via new psu_uboot_init() earlier before the first access to UART
in SPL. In full U-Boot call psu_uboot_init() only when
CONFIG_ZYNQMP_PSU_INIT_ENABLED is enabled.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/878dc2daaa8685346f889989fbfb98b2e44da7fb.1645104518.git.michal.simek@xilinx.com
2022-02-21 13:20:29 +01:00

27 lines
642 B
C

/* SPDX-License-Identifier: GPL-2.0+ */
#ifndef _PSU_INIT_GPL_H_ /* prevent circular inclusions */
#define _PSU_INIT_GPL_H_
#include <asm/io.h>
#include <common.h>
int mask_pollonvalue(unsigned long add, u32 mask, u32 value);
int mask_poll(u32 add, u32 mask);
u32 mask_read(u32 add, u32 mask);
void mask_delay(u32 delay);
void psu_mask_write(unsigned long offset, unsigned long mask,
unsigned long val);
void prog_reg(unsigned long addr, unsigned long mask,
unsigned long shift, unsigned long value);
int psu_init(void);
unsigned long psu_post_config_data(void);
int psu_uboot_init(void);
#endif /* _PSU_INIT_GPL_H_ */