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,9 @@
if TARGET_DNP5370
config SYS_BOARD
default "dnp5370"
config SYS_CONFIG_NAME
default "dnp5370"
endif

View File

@@ -0,0 +1,6 @@
DNP5370 BOARD
M: M.Hasewinkel (MHA) <info@ssv-embedded.de>
S: Maintained
F: board/dnp5370/
F: include/configs/dnp5370.h
F: configs/dnp5370_defconfig

View File

@@ -0,0 +1,12 @@
#
# U-Boot - Makefile
#
# Copyright (c) 2005-2007 Analog Device Inc.
#
# (C) Copyright 2000-2006
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# SPDX-License-Identifier: GPL-2.0+
#
obj-y := dnp5370.o

View File

@@ -0,0 +1,67 @@
This document describes the board support for
Dil/NetPC DNP/5370 (http://www.dilnetpc.com/dnp0086.htm) module.
The distributor is SSV (http://www.ssv-embedded.de),
The module used to develop the support files contains:
* Processor: Blackfin BF537 Rev 0.3 (600 MHz core / 120MHz RAM)
* RAM: 32 MB SDRAM
Hynix HY57V561620FTP-H 810EA
Connected to Blackfin via "Expansion Bus"
Address range 0x0000.0000 - 0x1fff.ffff
* NOR flash: 32 MBit (4 MByte)
Exel Semiconductor ES29LVS320EB
Connected to Blackfin via "Expansion Bus",
Chip Selects 0, 1 and 2, each is connected
to a 1 MB memory bank at Blackfin, therefore
only 3 MB accessible.
Address range 0x2000.0000 - 0x202f.ffff
CFI compatible
Exel Semiconductor was bought by Rohm Semiconductor (www.rohm.com).
* NAND flash: 64 MBit (8 MByte)
Atmel 45DB642D-CNU
Connected to Blackfin via SPI
CFI compatible
* Davicom DM9161EP Ethernet PHY
* A SD card reader, connected via SPI
* Hardware watchdog MAX823 or TPS3823
(other devices not listed here)
To run it, the module must be inserted in a 64 pin DIL socket
on another board, e.g. DNP/EVA13 (together: SSV SK28).
The Blackfin is booted from NOR flash. The NOR flash data begins
with the U-Boot code and is then followed by the Linux code.
Finally, the MAC is stored in the last sector.
You may need to adjust these settings to your needs.
The memory map used to develop the board support is:
Memory map:
0x00000000 .. 0x01ffffff SDRAM
0x20000000 .. 0x202fffff NOR flash
RAM use:
0x01f9bffc .. 0x01fbbffb U-Boot stack
0x01f9c000 .. 0x01f9ffff U-Boot global data
0x01fa0000 .. 0x01fbffff U-Boot malloc() RAM
0x01fc0000 .. 0x01ffffff U-Boot execution RAM
NOR flash use:
0x20000000 .. 0x0002ffff U-Boot
0x20004000 .. 0x20005fff U-Boot environment
0x20030000 .. 0x202effff Linux kernel image
0x202f0000 .. 0x202fffff MAC address sector
NOR flash is 0x00300000 (3145728) bytes large (3 MB).
Max space for compressed kernel in flash is 0x002c0000 (2883584) bytes (2.75 MB)
Max space for u-boot in flash is 0x00030000 (196608) bytes (192 KB)
The module is hardwired to BYPASS boot mode.

View File

@@ -0,0 +1,73 @@
/*
* U-Boot - main board file
*
* (C) Copyright 2010 3ality Digital Systems
*
* Copyright (c) 2005-2008 Analog Devices Inc.
*
* (C) Copyright 2000-2004
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <config.h>
#include <asm/blackfin.h>
#include <net.h>
#include <netdev.h>
#include <asm/gpio.h>
static void disable_external_watchdog(void)
{
#ifdef CONFIG_DNP5370_EXT_WD_DISABLE
/* disable external HW watchdog with PH13 = WD1 = 1 */
gpio_request(GPIO_PH13, "ext_wd");
gpio_direction_output(GPIO_PH13, 1);
#endif
}
int checkboard(void)
{
printf("Board: SSV DilNet DNP5370\n");
return 0;
}
#ifdef CONFIG_BFIN_MAC
static void board_init_enetaddr(uchar *mac_addr)
{
#ifndef CONFIG_SYS_NO_FLASH
/* we cram the MAC in the last flash sector */
uchar *board_mac_addr = (uchar *)0x202F0000;
if (is_valid_ethaddr(board_mac_addr)) {
memcpy(mac_addr, board_mac_addr, 6);
eth_setenv_enetaddr("ethaddr", mac_addr);
}
#endif
}
int board_eth_init(bd_t *bis)
{
return bfin_EMAC_initialize(bis);
}
#endif
/* miscellaneous platform dependent initialisations */
int misc_init_r(void)
{
disable_external_watchdog();
#ifdef CONFIG_BFIN_MAC
uchar enetaddr[6];
if (!eth_getenv_enetaddr("ethaddr", enetaddr))
board_init_enetaddr(enetaddr);
#endif
#ifndef CONFIG_SYS_NO_FLASH
/* we use the last sector for the MAC address / POST LDR */
extern flash_info_t flash_info[];
flash_protect(FLAG_PROTECT_SET, 0x202F0000, 0x202FFFFF, &flash_info[0]);
#endif
return 0;
}