mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-09-22 23:52:03 +00:00
27326c7ee2
Right now the u-boot,dm-pre-reloc flag will make each marked node always appear in both spl and tpl. But systems needing an additional tpl might have special constraints for each, like the spl needing to be very tiny. So introduce two additional flags to mark nodes for only spl or tpl environments and introduce a function dm_fdt_pre_reloc to automate the necessary checks in code instances checking for pre-relocation flags. The behaviour of the original flag stays untouched and still marks a node for both spl and tpl. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Kever Yang <kever.yang@rock-chips.com>
77 lines
1.7 KiB
C
77 lines
1.7 KiB
C
/*
|
|
* Copyright (c) 2013 Google, Inc
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef __DM_UTIL_H
|
|
#define __DM_UTIL_H
|
|
|
|
#ifdef CONFIG_DM_WARN
|
|
void dm_warn(const char *fmt, ...);
|
|
#else
|
|
static inline void dm_warn(const char *fmt, ...)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
#ifdef DEBUG
|
|
void dm_dbg(const char *fmt, ...);
|
|
#else
|
|
static inline void dm_dbg(const char *fmt, ...)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
struct list_head;
|
|
|
|
/**
|
|
* list_count_items() - Count number of items in a list
|
|
*
|
|
* @param head: Head of list
|
|
* @return number of items, or 0 if empty
|
|
*/
|
|
int list_count_items(struct list_head *head);
|
|
|
|
/* Dump out a tree of all devices */
|
|
void dm_dump_all(void);
|
|
|
|
/* Dump out a list of uclasses and their devices */
|
|
void dm_dump_uclass(void);
|
|
|
|
#ifdef CONFIG_DEBUG_DEVRES
|
|
/* Dump out a list of device resources */
|
|
void dm_dump_devres(void);
|
|
#else
|
|
static inline void dm_dump_devres(void)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
/**
|
|
* Check if a dt node should be or was bound before relocation.
|
|
*
|
|
* Devicetree nodes can be marked as needed to be bound
|
|
* in the loader stages via special devicetree properties.
|
|
*
|
|
* Before relocation this function can be used to check if nodes
|
|
* are required in either SPL or TPL stages.
|
|
*
|
|
* After relocation and jumping into the real U-Boot binary
|
|
* it is possible to determine if a node was bound in one of
|
|
* SPL/TPL stages.
|
|
*
|
|
* There are 3 settings currently in use
|
|
* -
|
|
* - u-boot,dm-pre-reloc: legacy and indicates any of TPL or SPL
|
|
* Existing platforms only use it to indicate nodes needee in
|
|
* SPL. Should probably be replaced by u-boot,dm-spl for
|
|
* existing platforms.
|
|
* @blob: devicetree
|
|
* @offset: node offset
|
|
*
|
|
* Returns true if node is needed in SPL/TL, false otherwise.
|
|
*/
|
|
int dm_fdt_pre_reloc(const void *blob, int offset);
|
|
|
|
#endif
|