board/tq: Add common baseboard API
TQMa6 and other SoMs from TQ-Systems GmbH need a baseboard. Therefore functionality of U-Boot board callbacks may be distributed between SoM and baseboard implementation. To prevent code duplication and boilerplate implement a baseboard specific API for TQ boards with weak defaults that can be filled out for baseboard implementations as needed. Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com> Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
This commit is contained in:
committed by
Fabio Estevam
parent
46de872995
commit
b162ec2a08
@@ -0,0 +1,10 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#
|
||||
# Copyright (c) 2023-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
# D-82229 Seefeld, Germany.
|
||||
# Author: Markus Niebel, Max Merchel
|
||||
#
|
||||
|
||||
config TQ_COMMON_BB
|
||||
bool
|
||||
default y
|
||||
@@ -0,0 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#
|
||||
# Copyright (c) 2016-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
# D-82229 Seefeld, Germany.
|
||||
# Author: Markus Niebel
|
||||
#
|
||||
|
||||
obj-$(CONFIG_TQ_COMMON_BB) += tq_bb.o
|
||||
@@ -0,0 +1,78 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/*
|
||||
* Copyright (c) 2022-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
* D-82229 Seefeld, Germany.
|
||||
* Author: Markus Niebel
|
||||
*/
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#include "tq_bb.h"
|
||||
|
||||
int __weak tq_bb_board_mmc_getwp(struct mmc *mmc)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __weak tq_bb_board_mmc_getcd(struct mmc *mmc)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __weak tq_bb_board_mmc_init(struct bd_info *bis)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __weak tq_bb_board_early_init_f(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __weak tq_bb_board_init(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __weak tq_bb_board_late_init(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __weak tq_bb_checkboard(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void __weak tq_bb_board_quiesce_devices(void)
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
const char * __weak tq_bb_get_boardname(void)
|
||||
{
|
||||
return "INVALID";
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_SPL_BUILD)
|
||||
void __weak tq_bb_board_init_f(ulong dummy)
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
void __weak tq_bb_spl_board_init(void)
|
||||
{
|
||||
;
|
||||
}
|
||||
#endif /* IS_ENABLED(CONFIG_SPL_BUILD) */
|
||||
|
||||
/*
|
||||
* Device Tree Support
|
||||
*/
|
||||
#if IS_ENABLED(CONFIG_OF_BOARD_SETUP) && IS_ENABLED(CONFIG_OF_LIBFDT)
|
||||
int __weak tq_bb_ft_board_setup(void *blob, struct bd_info *bis)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* IS_ENABLED(CONFIG_OF_BOARD_SETUP) && IS_ENABLED(CONFIG_OF_LIBFDT) */
|
||||
@@ -0,0 +1,39 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Copyright (c) 2013-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
* D-82229 Seefeld, Germany.
|
||||
* Author: Markus Niebel
|
||||
*/
|
||||
|
||||
#ifndef __TQ_BB_H
|
||||
#define __TQ_BB_H
|
||||
|
||||
struct mmc;
|
||||
struct bd_info;
|
||||
struct node_info;
|
||||
|
||||
int tq_bb_board_mmc_getwp(struct mmc *mmc);
|
||||
int tq_bb_board_mmc_getcd(struct mmc *mmc);
|
||||
int tq_bb_board_mmc_init(struct bd_info *bis);
|
||||
|
||||
int tq_bb_board_early_init_f(void);
|
||||
int tq_bb_board_init(void);
|
||||
int tq_bb_board_late_init(void);
|
||||
int tq_bb_checkboard(void);
|
||||
void tq_bb_board_quiesce_devices(void);
|
||||
|
||||
const char *tq_bb_get_boardname(void);
|
||||
|
||||
#if IS_ENABLED(CONFIG_SPL_BUILD)
|
||||
void tq_bb_board_init_f(ulong dummy);
|
||||
void tq_bb_spl_board_init(void);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Device Tree Support
|
||||
*/
|
||||
#if IS_ENABLED(CONFIG_OF_BOARD_SETUP) && IS_ENABLED(CONFIG_OF_LIBFDT)
|
||||
int tq_bb_ft_board_setup(void *blob, struct bd_info *bis);
|
||||
#endif /* IS_ENABLED(CONFIG_OF_BOARD_SETUP) && IS_ENABLED(CONFIG_OF_LIBFDT) */
|
||||
|
||||
#endif /* __TQ_BB_H */
|
||||
Reference in New Issue
Block a user