avionic design with actual uboot and tooling

submodule of avionic design uboot bootloader and with included tools to
get you started , read readme.md and readme-tk1-loader.md
This commit is contained in:
2026-03-03 21:46:32 +02:00
parent fe3ba02c96
commit 68d74d3181
11967 changed files with 2221897 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
if TARGET_SPEAR310
config SYS_BOARD
default "spear310"
config SYS_VENDOR
default "spear"
config SYS_SOC
default "spear"
config SYS_CONFIG_NAME
default "spear3xx_evb"
endif

View File

@@ -0,0 +1,15 @@
SPEAR310 BOARD
M: Vipin Kumar <vipin.kumar@st.com>
S: Maintained
F: board/spear/spear310/
F: include/configs/spear3xx_evb.h
F: configs/spear310_defconfig
SPEAR310_NAND BOARD
#M: -
S: Maintained
F: configs/spear310_nand_defconfig
F: configs/spear310_pnor_defconfig
F: configs/spear310_usbtty_defconfig
F: configs/spear310_usbtty_nand_defconfig
F: configs/spear310_usbtty_pnor_defconfig

View File

@@ -0,0 +1,8 @@
#
# (C) Copyright 2000-2004
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# SPDX-License-Identifier: GPL-2.0+
#
obj-y := spear310.o

View File

@@ -0,0 +1,78 @@
/*
* (C) Copyright 2009
* Ryan Chen, ST Micoelectronics, ryan.chen@st.com.
* Vipin Kumar, ST Micoelectronics, vipin.kumar@st.com.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <miiphy.h>
#include <netdev.h>
#include <nand.h>
#include <asm/io.h>
#include <linux/mtd/fsmc_nand.h>
#include <asm/arch/hardware.h>
#include <asm/arch/spr_defs.h>
#include <asm/arch/spr_misc.h>
static struct nand_chip nand_chip[CONFIG_SYS_MAX_NAND_DEVICE];
int board_init(void)
{
return spear_board_init(MACH_TYPE_SPEAR310);
}
/*
* board_nand_init - Board specific NAND initialization
* @nand: mtd private chip structure
*
* Called by nand_init_chip to initialize the board specific functions
*/
void board_nand_init()
{
struct misc_regs *const misc_regs_p =
(struct misc_regs *)CONFIG_SPEAR_MISCBASE;
struct nand_chip *nand = &nand_chip[0];
#if defined(CONFIG_NAND_FSMC)
if (((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) ==
MISC_SOCCFG30) ||
((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) ==
MISC_SOCCFG31)) {
fsmc_nand_init(nand);
}
#endif
return;
}
int board_eth_init(bd_t *bis)
{
int ret = 0;
#if defined(CONFIG_ETH_DESIGNWARE)
u32 interface = PHY_INTERFACE_MODE_MII;
if (designware_initialize(CONFIG_SPEAR_ETHBASE, interface) >= 0)
ret++;
#endif
#if defined(CONFIG_MACB)
if (macb_eth_initialize(0, (void *)CONFIG_SYS_MACB0_BASE,
CONFIG_MACB0_PHY) >= 0)
ret++;
if (macb_eth_initialize(1, (void *)CONFIG_SYS_MACB1_BASE,
CONFIG_MACB1_PHY) >= 0)
ret++;
if (macb_eth_initialize(2, (void *)CONFIG_SYS_MACB2_BASE,
CONFIG_MACB2_PHY) >= 0)
ret++;
if (macb_eth_initialize(3, (void *)CONFIG_SYS_MACB3_BASE,
CONFIG_MACB3_PHY) >= 0)
ret++;
#endif
return ret;
}