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

3
u-boot/board/intel/galileo/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
dsdt.aml
dsdt.asl.tmp
dsdt.c

View File

@@ -0,0 +1,35 @@
if TARGET_GALILEO
config SYS_BOARD
default "galileo"
config SYS_VENDOR
default "intel"
config SYS_SOC
default "quark"
config SYS_CONFIG_NAME
default "galileo"
config SYS_TEXT_BASE
default 0xfff10000
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
select X86_RESET_VECTOR
select INTEL_QUARK
select BOARD_ROMSIZE_KB_1024
config SMBIOS_PRODUCT_NAME
default "GalileoGen2"
help
Override the default product name U-Boot reports in the SMBIOS
table, to be compatible with the Intel provided UEFI BIOS, as
Linux kernel drivers (drivers/mfd/intel_quark_i2c_gpio.c and
drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c) make use of
it to do different board level configuration.
This can be "Galileo" for GEN1 Galileo board.
endif

View File

@@ -0,0 +1,6 @@
INTEL GALILEO BOARD
M: Bin Meng <bmeng.cn@gmail.com>
S: Maintained
F: board/intel/galileo/
F: include/configs/galileo.h
F: configs/galileo_defconfig

View File

@@ -0,0 +1,8 @@
#
# Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
#
# SPDX-License-Identifier: GPL-2.0+
#
obj-y += galileo.o start.o
obj-$(CONFIG_GENERATE_ACPI_TABLE) += dsdt.o

View File

@@ -0,0 +1,11 @@
/*
* Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
/* Power Button */
Device (PWRB)
{
Name(_HID, EISAID("PNP0C0C"))
}

View File

@@ -0,0 +1,14 @@
/*
* Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
DefinitionBlock("dsdt.aml", "DSDT", 2, "U-BOOT", "U-BOOTBL", 0x00010000)
{
/* platform specific */
#include <asm/arch/acpi/platform.asl>
/* board specific */
#include "acpi/mainboard.asl"
}

View File

@@ -0,0 +1,67 @@
/*
* Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <asm/io.h>
#include <asm/arch/device.h>
#include <asm/arch/quark.h>
int board_early_init_f(void)
{
return 0;
}
/*
* Intel Galileo gen2 board uses GPIO Resume Well bank pin0 as the PERST# pin.
*
* We cannot use any public GPIO APIs in <asm-generic/gpio.h> to control this
* pin, as these APIs will eventually call into gpio_ich6_ofdata_to_platdata()
* in the Intel ICH6 GPIO driver where it calls PCI configuration space access
* APIs which will trigger PCI enumeration process.
*
* Check <asm/arch-quark/quark.h> for more details.
*/
void board_assert_perst(void)
{
u32 base, port, val;
/* retrieve the GPIO IO base */
qrk_pci_read_config_dword(QUARK_LEGACY_BRIDGE, LB_GBA, &base);
base = (base & 0xffff) & ~0x7f;
/* enable the pin */
port = base + 0x20;
val = inl(port);
val |= (1 << 0);
outl(val, port);
/* configure the pin as output */
port = base + 0x24;
val = inl(port);
val &= ~(1 << 0);
outl(val, port);
/* pull it down (assert) */
port = base + 0x28;
val = inl(port);
val &= ~(1 << 0);
outl(val, port);
}
void board_deassert_perst(void)
{
u32 base, port, val;
/* retrieve the GPIO IO base */
qrk_pci_read_config_dword(QUARK_LEGACY_BRIDGE, LB_GBA, &base);
base = (base & 0xffff) & ~0x7f;
/* pull it up (de-assert) */
port = base + 0x28;
val = inl(port);
val |= (1 << 0);
outl(val, port);
}

View File

@@ -0,0 +1,9 @@
/*
* Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
.globl early_board_init
early_board_init:
jmp early_board_init_ret