Compare commits
81 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62e2ad1cea | ||
|
|
31500e7bcf | ||
|
|
53e5b584e6 | ||
|
|
051f409d25 | ||
|
|
d1f4b090dd | ||
|
|
be914b00df | ||
|
|
4bba71ff83 | ||
|
|
06d514d77c | ||
|
|
eff4440195 | ||
|
|
f4af97cdb4 | ||
|
|
9ddcdcc03c | ||
|
|
bd7fbd58b7 | ||
|
|
5404dfcc4d | ||
|
|
edd9c891d2 | ||
|
|
1416591876 | ||
|
|
519e6641db | ||
|
|
bee3551e00 | ||
|
|
ab644db9ba | ||
|
|
4671435c54 | ||
|
|
f8548ce0e0 | ||
|
|
1b697407ae | ||
|
|
a2e0b041d6 | ||
|
|
8d6cbf5e6b | ||
|
|
60bba6e205 | ||
|
|
93cdb95238 | ||
|
|
07355760b1 | ||
|
|
7a9b366cd9 | ||
|
|
d7ddeb66a6 | ||
|
|
673a92c5d2 | ||
|
|
fbc595b412 | ||
|
|
566b7b2f51 | ||
|
|
532952f63c | ||
|
|
582e3c9fb2 | ||
|
|
5387b093cb | ||
|
|
3089d12a02 | ||
|
|
d36bc89be2 | ||
|
|
6f975524cb | ||
|
|
88c2e9157c | ||
|
|
9348d93b0d | ||
|
|
ec9efcf62a | ||
|
|
20422d6930 | ||
|
|
fe1489bc6d | ||
|
|
478ed23e11 | ||
|
|
f557cf08b9 | ||
|
|
77bb14758d | ||
|
|
fcf583b4a7 | ||
|
|
eff6b7157c | ||
|
|
3ec07c99d8 | ||
|
|
c33d389c7a | ||
|
|
159dbe1fb1 | ||
|
|
f16086e3e2 | ||
|
|
7fa4c27a2e | ||
|
|
a17be96b62 | ||
|
|
16a30b3474 | ||
|
|
0820e117c3 | ||
|
|
adcee0791f | ||
|
|
dbedf4a56b | ||
|
|
e1befc8512 | ||
|
|
24a0a00f07 | ||
|
|
fe8a4ed011 | ||
|
|
476a3d58df | ||
|
|
440098c42e | ||
|
|
dd5f07eb6b | ||
|
|
1db706edcd | ||
|
|
138b6061a1 | ||
|
|
c0d0569cf6 | ||
|
|
56e3b14703 | ||
|
|
0d6d5a4aa6 | ||
|
|
f365971229 | ||
|
|
dcb0cc0169 | ||
|
|
1154e965d0 | ||
|
|
566bc672a7 | ||
|
|
ad50ca5019 | ||
|
|
9ba35e64fa | ||
|
|
70a4ac693d | ||
|
|
645502743a | ||
|
|
ce3270849b | ||
|
|
f823e32388 | ||
|
|
f9178e19a1 | ||
|
|
ea58b9a404 | ||
|
|
33ba80303e |
@@ -447,6 +447,8 @@ stages:
|
||||
matrix:
|
||||
arc_microblaze_xtensa:
|
||||
BUILDMAN: "arc microblaze xtensa"
|
||||
amlogic:
|
||||
BUILDMAN: "amlogic"
|
||||
arm11_arm7_arm920t_arm946es:
|
||||
BUILDMAN: "arm11 arm7 arm920t arm946es"
|
||||
arm926ejs:
|
||||
@@ -476,9 +478,9 @@ stages:
|
||||
imx6:
|
||||
BUILDMAN: "mx6 -x boundary,engicam,freescale,technexion,toradex"
|
||||
imx:
|
||||
BUILDMAN: "mx -x mx6,freescale,technexion,toradex"
|
||||
imx8:
|
||||
BUILDMAN: "imx8"
|
||||
BUILDMAN: "mx -x mx6,imx8,freescale,technexion,toradex"
|
||||
imx8_imx9:
|
||||
BUILDMAN: "imx8 imx9"
|
||||
keystone2_keystone3:
|
||||
BUILDMAN: "k2 k3"
|
||||
sandbox_asan:
|
||||
@@ -532,9 +534,11 @@ stages:
|
||||
uniphier:
|
||||
BUILDMAN: "uniphier"
|
||||
aarch64_catch_all:
|
||||
BUILDMAN: "aarch64 -x bcm,imx8,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,renesas,sunxi,samsung,socfpga,rk,versal,zynq"
|
||||
rockchip:
|
||||
BUILDMAN: "rk"
|
||||
BUILDMAN: "aarch64 -x amlogic,bcm,imx8,imx9,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,renesas,sunxi,samsung,socfpga,rk,versal,zynq"
|
||||
rockchip_32bit:
|
||||
BUILDMAN: "rk -x aarch64"
|
||||
rockchip_64bit:
|
||||
BUILDMAN: "rk&aarch64"
|
||||
renesas:
|
||||
BUILDMAN: "renesas"
|
||||
zynq:
|
||||
|
||||
4
Makefile
4
Makefile
@@ -3,7 +3,7 @@
|
||||
VERSION = 2023
|
||||
PATCHLEVEL = 01
|
||||
SUBLEVEL =
|
||||
EXTRAVERSION = -rc4
|
||||
EXTRAVERSION =
|
||||
NAME =
|
||||
|
||||
# *DOCUMENTATION*
|
||||
@@ -2372,7 +2372,7 @@ tcheck:
|
||||
# Documentation targets
|
||||
# ---------------------------------------------------------------------------
|
||||
DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
|
||||
linkcheckdocs dochelp refcheckdocs
|
||||
linkcheckdocs dochelp refcheckdocs texinfodocs infodocs
|
||||
PHONY += $(DOC_TARGETS)
|
||||
$(DOC_TARGETS): scripts_basic FORCE
|
||||
$(Q)$(MAKE) $(build)=doc $@
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
};
|
||||
|
||||
&rpc {
|
||||
compatible = "renesas,rcar-gen3-rpc";
|
||||
pinctrl-0 = <&qspi_pins>;
|
||||
pinctrl-names = "default";
|
||||
num-cs = <1>;
|
||||
|
||||
@@ -25,7 +25,7 @@ pe_header:
|
||||
.long IMAGE_NT_SIGNATURE /* 'PE' */
|
||||
coff_header:
|
||||
.short IMAGE_FILE_MACHINE_ARM64 /* AArch64 */
|
||||
.short 2 /* nr_sections */
|
||||
.short 3 /* nr_sections */
|
||||
.long 0 /* TimeDateStamp */
|
||||
.long 0 /* PointerToSymbolTable */
|
||||
.long 0 /* NumberOfSymbols */
|
||||
@@ -34,12 +34,13 @@ coff_header:
|
||||
.short (IMAGE_FILE_EXECUTABLE_IMAGE | \
|
||||
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
||||
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
||||
IMAGE_FILE_LARGE_ADDRESS_AWARE | \
|
||||
IMAGE_FILE_DEBUG_STRIPPED)
|
||||
optional_header:
|
||||
.short IMAGE_NT_OPTIONAL_HDR64_MAGIC /* PE32+ format */
|
||||
.byte 0x02 /* MajorLinkerVersion */
|
||||
.byte 0x14 /* MinorLinkerVersion */
|
||||
.long _edata - _start /* SizeOfCode */
|
||||
.long _etext - _start /* SizeOfCode */
|
||||
.long 0 /* SizeOfInitializedData */
|
||||
.long 0 /* SizeOfUninitializedData */
|
||||
.long _start - ImageBase /* AddressOfEntryPoint */
|
||||
@@ -47,7 +48,7 @@ optional_header:
|
||||
|
||||
extra_header_fields:
|
||||
.quad 0 /* ImageBase */
|
||||
.long 0x200 /* SectionAlignment */
|
||||
.long 0x1000 /* SectionAlignment */
|
||||
.long 0x200 /* FileAlignment */
|
||||
.short 0 /* MajorOperatingSystemVersion */
|
||||
.short 0 /* MinorOperatingSystemVersion */
|
||||
@@ -99,25 +100,46 @@ section_table:
|
||||
.long 0 /* PointerToLineNumbers */
|
||||
.short 0 /* NumberOfRelocations */
|
||||
.short 0 /* NumberOfLineNumbers */
|
||||
.long 0x42100040 /* Characteristics (section flags) */
|
||||
|
||||
/* Characteristics (section flags) */
|
||||
.long (IMAGE_SCN_MEM_READ | \
|
||||
IMAGE_SCN_MEM_DISCARDABLE | \
|
||||
IMAGE_SCN_CNT_INITIALIZED_DATA)
|
||||
|
||||
.ascii ".text"
|
||||
.byte 0
|
||||
.byte 0
|
||||
.byte 0 /* end of 0 padding of section name */
|
||||
.long _edata - _start /* VirtualSize */
|
||||
.long _etext - _start /* VirtualSize */
|
||||
.long _start - ImageBase /* VirtualAddress */
|
||||
.long _edata - _start /* SizeOfRawData */
|
||||
.long _etext - _start /* SizeOfRawData */
|
||||
.long _start - ImageBase /* PointerToRawData */
|
||||
.long 0 /* PointerToRelocations */
|
||||
.long 0 /* PointerToLineNumbers */
|
||||
.short 0 /* NumberOfRelocations */
|
||||
.short 0 /* NumberOfLineNumbers */
|
||||
/* Characteristics (section flags) */
|
||||
.long (IMAGE_SCN_MEM_READ | \
|
||||
IMAGE_SCN_MEM_EXECUTE | \
|
||||
IMAGE_SCN_CNT_CODE)
|
||||
|
||||
.long 0 /* PointerToRelocations (0 for executables) */
|
||||
.long 0 /* PointerToLineNumbers (0 for executables) */
|
||||
.short 0 /* NumberOfRelocations (0 for executables) */
|
||||
.short 0 /* NumberOfLineNumbers (0 for executables) */
|
||||
.long 0xe0500020 /* Characteristics (section flags) */
|
||||
.ascii ".data"
|
||||
.byte 0
|
||||
.byte 0
|
||||
.byte 0 /* end of 0 padding of section name */
|
||||
.long _data_size /* VirtualSize */
|
||||
.long _data - ImageBase /* VirtualAddress */
|
||||
.long _data_size /* SizeOfRawData */
|
||||
.long _data - ImageBase /* PointerToRawData */
|
||||
.long 0 /* PointerToRelocations */
|
||||
.long 0 /* PointerToLineNumbers */
|
||||
.short 0 /* NumberOfRelocations */
|
||||
.short 0 /* NumberOfLineNumbers */
|
||||
/* Characteristics (section flags) */
|
||||
.long (IMAGE_SCN_MEM_WRITE | \
|
||||
IMAGE_SCN_MEM_READ | \
|
||||
IMAGE_SCN_CNT_INITIALIZED_DATA)
|
||||
|
||||
.align 9
|
||||
.align 12
|
||||
_start:
|
||||
stp x29, x30, [sp, #-32]!
|
||||
mov x29, sp
|
||||
|
||||
@@ -7,6 +7,12 @@
|
||||
|
||||
OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
|
||||
OUTPUT_ARCH(aarch64)
|
||||
|
||||
PHDRS
|
||||
{
|
||||
data PT_LOAD FLAGS(3); /* SHF_WRITE | SHF_ALLOC */
|
||||
}
|
||||
|
||||
ENTRY(_start)
|
||||
SECTIONS
|
||||
{
|
||||
@@ -18,11 +24,13 @@ SECTIONS
|
||||
*(.gnu.linkonce.t.*)
|
||||
*(.srodata)
|
||||
*(.rodata*)
|
||||
. = ALIGN(16);
|
||||
*(.dynamic);
|
||||
. = ALIGN(512);
|
||||
}
|
||||
_etext = .;
|
||||
_text_size = . - _text;
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
.data : {
|
||||
_data = .;
|
||||
*(.sdata)
|
||||
@@ -47,12 +55,12 @@ SECTIONS
|
||||
. = ALIGN(512);
|
||||
_bss_end = .;
|
||||
_edata = .;
|
||||
}
|
||||
} :data
|
||||
_data_size = _edata - _data;
|
||||
.rela.dyn : { *(.rela.dyn) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
.rela.data : { *(.rela.data) *(.rela.data*) }
|
||||
_data_size = . - _etext;
|
||||
|
||||
. = ALIGN(4096);
|
||||
.dynsym : { *(.dynsym) }
|
||||
|
||||
@@ -51,7 +51,7 @@ phys_size_t board_get_usable_ram_top(phys_size_t total_size)
|
||||
|
||||
/* found enough not-reserved memory to relocated U-Boot */
|
||||
lmb_init(&lmb);
|
||||
lmb_add(&lmb, gd->ram_base, gd->ram_size);
|
||||
lmb_add(&lmb, gd->ram_base, get_effective_memsize());
|
||||
boot_fdt_add_mem_rsv_regions(&lmb, (void *)gd->fdt_blob);
|
||||
/* add 8M for reserved memory for display, fdt, gd,... */
|
||||
size = ALIGN(SZ_8M + CONFIG_SYS_MALLOC_LEN + total_size, MMU_SECTION_SIZE),
|
||||
|
||||
@@ -72,6 +72,7 @@ choice
|
||||
config TARGET_SOCRATES
|
||||
bool "Support socrates"
|
||||
select ARCH_MPC8544
|
||||
select BINMAN
|
||||
|
||||
config TARGET_P3041DS
|
||||
bool "Support P3041DS"
|
||||
@@ -1459,14 +1460,14 @@ config SYS_FSL_USB_DUAL_PHY_ENABLE
|
||||
|
||||
config SYS_MPC85XX_NO_RESETVEC
|
||||
bool "Discard resetvec section and move bootpg section up"
|
||||
depends on MPC85xx
|
||||
depends on MPC85xx && !MPC85XX_HAVE_RESET_VECTOR
|
||||
help
|
||||
If this variable is specified, the section .resetvec is not kept and
|
||||
the section .bootpg is placed in the previous 4k of the .text section.
|
||||
|
||||
config SPL_SYS_MPC85XX_NO_RESETVEC
|
||||
bool "Discard resetvec section and move bootpg section up, in SPL"
|
||||
depends on MPC85xx && SPL
|
||||
depends on MPC85xx && SPL && !MPC85XX_HAVE_RESET_VECTOR
|
||||
help
|
||||
If this variable is specified, the section .resetvec is not kept and
|
||||
the section .bootpg is placed in the previous 4k of the .text section,
|
||||
@@ -1474,7 +1475,7 @@ config SPL_SYS_MPC85XX_NO_RESETVEC
|
||||
|
||||
config TPL_SYS_MPC85XX_NO_RESETVEC
|
||||
bool "Discard resetvec section and move bootpg section up, in TPL"
|
||||
depends on MPC85xx && TPL
|
||||
depends on MPC85xx && TPL && !MPC85XX_HAVE_RESET_VECTOR
|
||||
help
|
||||
If this variable is specified, the section .resetvec is not kept and
|
||||
the section .bootpg is placed in the previous 4k of the .text section,
|
||||
|
||||
@@ -3,11 +3,26 @@
|
||||
# (C) Copyright 2002,2003 Motorola Inc.
|
||||
# Xianghua Xiao, X.Xiao@motorola.com
|
||||
|
||||
PLATFORM_CPPFLAGS += -Wa,-me500 -msoft-float -mno-string
|
||||
PLATFORM_CPPFLAGS += -msoft-float -mno-string
|
||||
PLATFORM_RELFLAGS += -msingle-pic-base -fno-jump-tables
|
||||
|
||||
# -mspe=yes is needed to have -mno-spe accepted by a buggy GCC;
|
||||
# No SPE instruction when building u-boot
|
||||
# (We use all available options to help semi-broken compilers)
|
||||
# see "[PATCH,rs6000] make -mno-spe work as expected" on
|
||||
# http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00311.html
|
||||
PLATFORM_CPPFLAGS += $(call cc-option,-mspe=yes) \
|
||||
$(call cc-option,-mno-spe)
|
||||
PLATFORM_CPPFLAGS += $(call cc-option,-mno-spe) \
|
||||
$(call cc-option,-mspe=no)
|
||||
|
||||
# No AltiVec or VSX instructions when building u-boot
|
||||
PLATFORM_CPPFLAGS += $(call cc-option,-mno-altivec)
|
||||
PLATFORM_CPPFLAGS += $(call cc-option,-mno-vsx)
|
||||
|
||||
ifdef CONFIG_E6500
|
||||
PLATFORM_CPPFLAGS += -mcpu=e6500
|
||||
else ifdef CONFIG_E5500
|
||||
PLATFORM_CPPFLAGS += -mcpu=e5500
|
||||
else ifdef CONFIG_E500MC
|
||||
PLATFORM_CPPFLAGS += -mcpu=e500mc
|
||||
else
|
||||
PLATFORM_CPPFLAGS += -mcpu=8540
|
||||
endif
|
||||
|
||||
@@ -16,12 +16,23 @@
|
||||
#define LOAD_LONG(reg, idx) ld reg, (idx*SIZE_LONG)(sp)
|
||||
#define PE_MACHINE IMAGE_FILE_MACHINE_RISCV64
|
||||
#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC
|
||||
#define IMG_CHARACTERISTICS \
|
||||
(IMAGE_FILE_EXECUTABLE_IMAGE | \
|
||||
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
||||
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
||||
IMAGE_FILE_LARGE_ADDRESS_AWARE | \
|
||||
IMAGE_FILE_DEBUG_STRIPPED)
|
||||
#else
|
||||
#define SIZE_LONG 4
|
||||
#define SAVE_LONG(reg, idx) sw reg, (idx*SIZE_LONG)(sp)
|
||||
#define LOAD_LONG(reg, idx) lw reg, (idx*SIZE_LONG)(sp)
|
||||
#define PE_MACHINE IMAGE_FILE_MACHINE_RISCV32
|
||||
#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC
|
||||
#define IMG_CHARACTERISTICS \
|
||||
(IMAGE_FILE_EXECUTABLE_IMAGE | \
|
||||
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
||||
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
||||
IMAGE_FILE_DEBUG_STRIPPED)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -47,11 +58,7 @@ coff_header:
|
||||
.long 0 /* PointerToSymbolTable */
|
||||
.long 0 /* NumberOfSymbols */
|
||||
.short section_table - optional_header /* SizeOfOptionalHeader */
|
||||
/* Characteristics */
|
||||
.short (IMAGE_FILE_EXECUTABLE_IMAGE | \
|
||||
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
||||
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
||||
IMAGE_FILE_DEBUG_STRIPPED)
|
||||
.short IMG_CHARACTERISTICS /* Characteristics */
|
||||
optional_header:
|
||||
.short PE_MAGIC /* PE32(+) format */
|
||||
.byte 0x02 /* MajorLinkerVersion */
|
||||
|
||||
@@ -724,16 +724,19 @@ config RAMBOOT_PBL
|
||||
For more details refer to doc/README.pblimage
|
||||
|
||||
choice
|
||||
prompt "Freescale PBL load location"
|
||||
prompt "Freescale PBL (or predecessor) load location"
|
||||
depends on RAMBOOT_PBL || ((TARGET_P1010RDB_PA || TARGET_P1010RDB_PB \
|
||||
|| TARGET_P1020RDB_PC || TARGET_P1020RDB_PD || TARGET_P2020RDB) \
|
||||
&& !CMD_NAND)
|
||||
|
||||
config SDCARD
|
||||
bool "Freescale PBL is found on SD card"
|
||||
bool "Freescale PBL (or similar) is found on SD card"
|
||||
|
||||
config SPIFLASH
|
||||
bool "Freescale PBL is found on SPI flash"
|
||||
bool "Freescale PBL (or similar) is found on SPI flash"
|
||||
|
||||
config NO_PBL
|
||||
bool "Freescale PBL (or similar) is not used in this case"
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
@@ -616,7 +616,10 @@ static int label_boot(struct pxe_context *ctx, struct pxe_label *label)
|
||||
* Scenario 2: If there is an fdt_addr specified, pass it along to
|
||||
* bootm, and adjust argc appropriately.
|
||||
*
|
||||
* Scenario 3: fdt blob is not available.
|
||||
* Scenario 3: If there is an fdtcontroladdr specified, pass it along to
|
||||
* bootm, and adjust argc appropriately, unless the image type is fitImage.
|
||||
*
|
||||
* Scenario 4: fdt blob is not available.
|
||||
*/
|
||||
bootm_argv[3] = env_get("fdt_addr_r");
|
||||
|
||||
@@ -721,14 +724,18 @@ static int label_boot(struct pxe_context *ctx, struct pxe_label *label)
|
||||
if (!bootm_argv[3])
|
||||
bootm_argv[3] = env_get("fdt_addr");
|
||||
|
||||
kernel_addr_r = genimg_get_kernel_addr(kernel_addr);
|
||||
buf = map_sysmem(kernel_addr_r, 0);
|
||||
|
||||
if (!bootm_argv[3] && genimg_get_format(buf) != IMAGE_FORMAT_FIT)
|
||||
bootm_argv[3] = env_get("fdtcontroladdr");
|
||||
|
||||
if (bootm_argv[3]) {
|
||||
if (!bootm_argv[2])
|
||||
bootm_argv[2] = "-";
|
||||
bootm_argc = 4;
|
||||
}
|
||||
|
||||
kernel_addr_r = genimg_get_kernel_addr(kernel_addr);
|
||||
buf = map_sysmem(kernel_addr_r, 0);
|
||||
/* Try bootm for legacy and FIT format image */
|
||||
if (genimg_get_format(buf) != IMAGE_FORMAT_INVALID &&
|
||||
IS_ENABLED(CONFIG_CMD_BOOTM))
|
||||
|
||||
@@ -1814,7 +1814,7 @@ config SYS_DISABLE_AUTOLOAD
|
||||
|
||||
config CMD_WGET
|
||||
bool "wget"
|
||||
select TCP
|
||||
select PROT_TCP
|
||||
help
|
||||
wget is a simple command to download kernel, or other files,
|
||||
from a http server over TCP.
|
||||
|
||||
114
cmd/eficonfig.c
114
cmd/eficonfig.c
@@ -1683,7 +1683,7 @@ static efi_status_t eficonfig_show_boot_selection(unsigned int *selected)
|
||||
u32 i;
|
||||
u16 *bootorder;
|
||||
efi_status_t ret;
|
||||
u16 *var_name16 = NULL, *p;
|
||||
u16 *var_name16 = NULL;
|
||||
efi_uintn_t num, size, buf_size;
|
||||
struct efimenu *efi_menu;
|
||||
struct list_head *pos, *n;
|
||||
@@ -1718,24 +1718,12 @@ static efi_status_t eficonfig_show_boot_selection(unsigned int *selected)
|
||||
int index;
|
||||
efi_guid_t guid;
|
||||
|
||||
size = buf_size;
|
||||
ret = efi_get_next_variable_name_int(&size, var_name16, &guid);
|
||||
ret = efi_next_variable_name(&buf_size, &var_name16, &guid);
|
||||
if (ret == EFI_NOT_FOUND)
|
||||
break;
|
||||
if (ret == EFI_BUFFER_TOO_SMALL) {
|
||||
buf_size = size;
|
||||
p = realloc(var_name16, buf_size);
|
||||
if (!p) {
|
||||
free(var_name16);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
var_name16 = p;
|
||||
ret = efi_get_next_variable_name_int(&size, var_name16, &guid);
|
||||
}
|
||||
if (ret != EFI_SUCCESS) {
|
||||
free(var_name16);
|
||||
return ret;
|
||||
}
|
||||
if (ret != EFI_SUCCESS)
|
||||
goto out;
|
||||
|
||||
if (efi_varname_is_load_option(var_name16, &index)) {
|
||||
/* If the index is included in the BootOrder, skip it */
|
||||
if (search_bootorder(bootorder, num, index, NULL))
|
||||
@@ -2026,7 +2014,7 @@ static efi_status_t eficonfig_create_change_boot_order_entry(struct efimenu *efi
|
||||
u32 i;
|
||||
char *title;
|
||||
efi_status_t ret;
|
||||
u16 *var_name16 = NULL, *p;
|
||||
u16 *var_name16 = NULL;
|
||||
efi_uintn_t size, buf_size;
|
||||
|
||||
/* list the load option in the order of BootOrder variable */
|
||||
@@ -2054,19 +2042,9 @@ static efi_status_t eficonfig_create_change_boot_order_entry(struct efimenu *efi
|
||||
break;
|
||||
|
||||
size = buf_size;
|
||||
ret = efi_get_next_variable_name_int(&size, var_name16, &guid);
|
||||
ret = efi_next_variable_name(&buf_size, &var_name16, &guid);
|
||||
if (ret == EFI_NOT_FOUND)
|
||||
break;
|
||||
if (ret == EFI_BUFFER_TOO_SMALL) {
|
||||
buf_size = size;
|
||||
p = realloc(var_name16, buf_size);
|
||||
if (!p) {
|
||||
ret = EFI_OUT_OF_RESOURCES;
|
||||
goto out;
|
||||
}
|
||||
var_name16 = p;
|
||||
ret = efi_get_next_variable_name_int(&size, var_name16, &guid);
|
||||
}
|
||||
if (ret != EFI_SUCCESS)
|
||||
goto out;
|
||||
|
||||
@@ -2332,14 +2310,15 @@ out:
|
||||
efi_status_t eficonfig_delete_invalid_boot_option(struct eficonfig_media_boot_option *opt,
|
||||
efi_status_t count)
|
||||
{
|
||||
u32 i;
|
||||
efi_uintn_t size;
|
||||
void *load_option;
|
||||
u32 i, list_size = 0;
|
||||
struct efi_load_option lo;
|
||||
u16 *var_name16 = NULL, *p;
|
||||
u16 *var_name16 = NULL;
|
||||
u16 varname[] = u"Boot####";
|
||||
efi_status_t ret = EFI_SUCCESS;
|
||||
efi_uintn_t varname_size, buf_size;
|
||||
u16 *delete_index_list = NULL, *p;
|
||||
efi_uintn_t buf_size;
|
||||
|
||||
buf_size = 128;
|
||||
var_name16 = malloc(buf_size);
|
||||
@@ -2352,24 +2331,18 @@ efi_status_t eficonfig_delete_invalid_boot_option(struct eficonfig_media_boot_op
|
||||
efi_guid_t guid;
|
||||
efi_uintn_t tmp;
|
||||
|
||||
varname_size = buf_size;
|
||||
ret = efi_get_next_variable_name_int(&varname_size, var_name16, &guid);
|
||||
if (ret == EFI_NOT_FOUND)
|
||||
ret = efi_next_variable_name(&buf_size, &var_name16, &guid);
|
||||
if (ret == EFI_NOT_FOUND) {
|
||||
/*
|
||||
* EFI_NOT_FOUND indicates we retrieved all EFI variables.
|
||||
* This should be treated as success.
|
||||
*/
|
||||
ret = EFI_SUCCESS;
|
||||
break;
|
||||
if (ret == EFI_BUFFER_TOO_SMALL) {
|
||||
buf_size = varname_size;
|
||||
p = realloc(var_name16, buf_size);
|
||||
if (!p) {
|
||||
free(var_name16);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
var_name16 = p;
|
||||
ret = efi_get_next_variable_name_int(&varname_size, var_name16, &guid);
|
||||
}
|
||||
if (ret != EFI_SUCCESS) {
|
||||
free(var_name16);
|
||||
return ret;
|
||||
}
|
||||
if (ret != EFI_SUCCESS)
|
||||
goto out;
|
||||
|
||||
if (!efi_varname_is_load_option(var_name16, &index))
|
||||
continue;
|
||||
|
||||
@@ -2383,30 +2356,47 @@ efi_status_t eficonfig_delete_invalid_boot_option(struct eficonfig_media_boot_op
|
||||
if (ret != EFI_SUCCESS)
|
||||
goto next;
|
||||
|
||||
if (size >= sizeof(efi_guid_bootmenu_auto_generated)) {
|
||||
if (guidcmp(lo.optional_data, &efi_guid_bootmenu_auto_generated) == 0) {
|
||||
for (i = 0; i < count; i++) {
|
||||
if (opt[i].size == tmp &&
|
||||
memcmp(opt[i].lo, load_option, tmp) == 0) {
|
||||
opt[i].exist = true;
|
||||
break;
|
||||
}
|
||||
if (size >= sizeof(efi_guid_bootmenu_auto_generated) &&
|
||||
!guidcmp(lo.optional_data, &efi_guid_bootmenu_auto_generated)) {
|
||||
for (i = 0; i < count; i++) {
|
||||
if (opt[i].size == tmp &&
|
||||
memcmp(opt[i].lo, load_option, tmp) == 0) {
|
||||
opt[i].exist = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (i == count) {
|
||||
ret = delete_boot_option(i);
|
||||
if (ret != EFI_SUCCESS) {
|
||||
free(load_option);
|
||||
goto out;
|
||||
}
|
||||
/*
|
||||
* The entire list of variables must be retrieved by
|
||||
* efi_get_next_variable_name_int() before deleting the invalid
|
||||
* boot option, just save the index here.
|
||||
*/
|
||||
if (i == count) {
|
||||
p = realloc(delete_index_list, sizeof(u32) *
|
||||
(list_size + 1));
|
||||
if (!p) {
|
||||
ret = EFI_OUT_OF_RESOURCES;
|
||||
goto out;
|
||||
}
|
||||
delete_index_list = p;
|
||||
delete_index_list[list_size++] = index;
|
||||
}
|
||||
}
|
||||
next:
|
||||
free(load_option);
|
||||
}
|
||||
|
||||
/* delete all invalid boot options */
|
||||
for (i = 0; i < list_size; i++) {
|
||||
ret = delete_boot_option(delete_index_list[i]);
|
||||
if (ret != EFI_SUCCESS)
|
||||
goto out;
|
||||
}
|
||||
|
||||
out:
|
||||
free(var_name16);
|
||||
free(delete_index_list);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -72,6 +72,28 @@ static bool file_have_auth_header(void *buf, efi_uintn_t size)
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* file_is_null_key() - check the file is an authenticated and signed null key
|
||||
*
|
||||
* @auth: pointer to the file
|
||||
* @size: file size
|
||||
* @null_key: pointer to store the result
|
||||
* Return: status code
|
||||
*/
|
||||
static efi_status_t file_is_null_key(struct efi_variable_authentication_2 *auth,
|
||||
efi_uintn_t size, bool *null_key)
|
||||
{
|
||||
efi_uintn_t auth_size =
|
||||
sizeof(auth->time_stamp) + auth->auth_info.hdr.dwLength;
|
||||
|
||||
if (size < auth_size)
|
||||
return EFI_INVALID_PARAMETER;
|
||||
|
||||
*null_key = (size == auth_size);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* eficonfig_process_enroll_key() - enroll key into signature database
|
||||
*
|
||||
@@ -84,6 +106,7 @@ static efi_status_t eficonfig_process_enroll_key(void *data)
|
||||
char *buf = NULL;
|
||||
efi_uintn_t size;
|
||||
efi_status_t ret;
|
||||
bool null_key = false;
|
||||
struct efi_file_handle *f = NULL;
|
||||
struct efi_device_path *full_dp = NULL;
|
||||
struct eficonfig_select_file_info file_info;
|
||||
@@ -149,13 +172,24 @@ static efi_status_t eficonfig_process_enroll_key(void *data)
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = file_is_null_key((struct efi_variable_authentication_2 *)buf,
|
||||
size, &null_key);
|
||||
if (ret != EFI_SUCCESS) {
|
||||
eficonfig_print_msg("ERROR! Invalid file format.");
|
||||
goto out;
|
||||
}
|
||||
|
||||
attr = EFI_VARIABLE_NON_VOLATILE |
|
||||
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
||||
EFI_VARIABLE_RUNTIME_ACCESS |
|
||||
EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS;
|
||||
|
||||
/* PK can enroll only one certificate */
|
||||
if (u16_strcmp(data, u"PK")) {
|
||||
/*
|
||||
* PK can enroll only one certificate.
|
||||
* The signed null key is used to clear KEK, db and dbx.
|
||||
* EFI_VARIABLE_APPEND_WRITE attribute must not be set in these cases.
|
||||
*/
|
||||
if (u16_strcmp(data, u"PK") && !null_key) {
|
||||
efi_uintn_t db_size = 0;
|
||||
|
||||
/* check the variable exists. If exists, add APPEND_WRITE attribute */
|
||||
|
||||
@@ -591,25 +591,15 @@ static void print_memory_attributes(u64 attributes)
|
||||
static int do_efi_show_memmap(struct cmd_tbl *cmdtp, int flag,
|
||||
int argc, char *const argv[])
|
||||
{
|
||||
struct efi_mem_desc *memmap = NULL, *map;
|
||||
efi_uintn_t map_size = 0;
|
||||
struct efi_mem_desc *memmap, *map;
|
||||
efi_uintn_t map_size;
|
||||
const char *type;
|
||||
int i;
|
||||
efi_status_t ret;
|
||||
|
||||
ret = efi_get_memory_map(&map_size, memmap, NULL, NULL, NULL);
|
||||
if (ret == EFI_BUFFER_TOO_SMALL) {
|
||||
map_size += sizeof(struct efi_mem_desc); /* for my own */
|
||||
ret = efi_allocate_pool(EFI_BOOT_SERVICES_DATA, map_size,
|
||||
(void *)&memmap);
|
||||
if (ret != EFI_SUCCESS)
|
||||
return CMD_RET_FAILURE;
|
||||
ret = efi_get_memory_map(&map_size, memmap, NULL, NULL, NULL);
|
||||
}
|
||||
if (ret != EFI_SUCCESS) {
|
||||
efi_free_pool(memmap);
|
||||
ret = efi_get_memory_map_alloc(&map_size, &memmap);
|
||||
if (ret != EFI_SUCCESS)
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
printf("Type Start%.*s End%.*s Attributes\n",
|
||||
EFI_PHYS_ADDR_WIDTH - 5, spc, EFI_PHYS_ADDR_WIDTH - 3, spc);
|
||||
|
||||
41
cmd/sound.c
41
cmd/sound.c
@@ -39,26 +39,39 @@ static int do_play(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
int ret = 0;
|
||||
int msec = 1000;
|
||||
int freq = 400;
|
||||
|
||||
if (argc > 1)
|
||||
msec = dectoul(argv[1], NULL);
|
||||
if (argc > 2)
|
||||
freq = dectoul(argv[2], NULL);
|
||||
bool first = true;
|
||||
|
||||
ret = uclass_first_device_err(UCLASS_SOUND, &dev);
|
||||
if (!ret)
|
||||
if (ret)
|
||||
goto err;
|
||||
--argc;
|
||||
++argv;
|
||||
while (argc || first) {
|
||||
first = false;
|
||||
if (argc) {
|
||||
msec = dectoul(argv[0], NULL);
|
||||
--argc;
|
||||
++argv;
|
||||
}
|
||||
if (argc) {
|
||||
freq = dectoul(argv[0], NULL);
|
||||
--argc;
|
||||
++argv;
|
||||
}
|
||||
ret = sound_beep(dev, msec, freq);
|
||||
if (ret) {
|
||||
printf("Sound device failed to play (err=%d)\n", ret);
|
||||
return CMD_RET_FAILURE;
|
||||
if (ret)
|
||||
goto err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err:
|
||||
printf("Sound device failed to play (err=%d)\n", ret);
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
static struct cmd_tbl cmd_sound_sub[] = {
|
||||
U_BOOT_CMD_MKENT(init, 0, 1, do_init, "", ""),
|
||||
U_BOOT_CMD_MKENT(play, 2, 1, do_play, "", ""),
|
||||
U_BOOT_CMD_MKENT(play, INT_MAX, 1, do_play, "", ""),
|
||||
};
|
||||
|
||||
/* process sound command */
|
||||
@@ -83,8 +96,10 @@ static int do_sound(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
}
|
||||
|
||||
U_BOOT_CMD(
|
||||
sound, 4, 1, do_sound,
|
||||
sound, INT_MAX, 1, do_sound,
|
||||
"sound sub-system",
|
||||
"init - initialise the sound driver\n"
|
||||
"sound play [len [freq]] - play a sound for len ms at freq Hz\n"
|
||||
"sound play [[[-q|-s] len [freq]] ...] - play sounds\n"
|
||||
" len - duration in ms\n"
|
||||
" freq - frequency in Hz\n"
|
||||
);
|
||||
|
||||
@@ -96,6 +96,7 @@ phys_size_t __weak get_effective_memsize(void)
|
||||
{
|
||||
phys_size_t ram_size = gd->ram_size;
|
||||
|
||||
#ifdef CONFIG_MPC85xx
|
||||
/*
|
||||
* Check for overflow and limit ram size to some representable value.
|
||||
* It is required that ram_base + ram_size must be representable by
|
||||
@@ -105,6 +106,7 @@ phys_size_t __weak get_effective_memsize(void)
|
||||
*/
|
||||
if (gd->ram_base + ram_size < gd->ram_base)
|
||||
ram_size = ((phys_size_t)~0xfffULL) - gd->ram_base;
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_MAX_MEM_MAPPED
|
||||
return ram_size;
|
||||
|
||||
@@ -1481,6 +1481,7 @@ config SPL_AM33XX_ENABLE_RTC32K_OSC
|
||||
config SPL_OPTEE_IMAGE
|
||||
bool "Support OP-TEE Trusted OS image in SPL"
|
||||
depends on ARM
|
||||
depends on SPL_LOAD_FIT || SPL_LOAD_FIT_FULL
|
||||
help
|
||||
OP-TEE is an open source Trusted OS which is loaded by SPL.
|
||||
More detail at: https://github.com/OP-TEE/optee_os
|
||||
|
||||
@@ -10,7 +10,6 @@ CONFIG_SYS_INIT_RAM_LOCK=y
|
||||
CONFIG_TARGET_P1010RDB_PA=y
|
||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||
CONFIG_ENABLE_36BIT_PHYS=y
|
||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
CONFIG_PHYS_64BIT=y
|
||||
@@ -19,7 +18,7 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
||||
CONFIG_NO_PBL=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs ramdisk_size=$ramdisk_size;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr"
|
||||
|
||||
@@ -10,7 +10,6 @@ CONFIG_SYS_INIT_RAM_LOCK=y
|
||||
CONFIG_TARGET_P1010RDB_PA=y
|
||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||
CONFIG_ENABLE_36BIT_PHYS=y
|
||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
CONFIG_SYS_MONITOR_LEN=786432
|
||||
@@ -18,7 +17,7 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
||||
CONFIG_NO_PBL=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs ramdisk_size=$ramdisk_size;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr"
|
||||
|
||||
@@ -10,7 +10,6 @@ CONFIG_SYS_INIT_RAM_LOCK=y
|
||||
CONFIG_TARGET_P1010RDB_PB=y
|
||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||
CONFIG_ENABLE_36BIT_PHYS=y
|
||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
CONFIG_PHYS_64BIT=y
|
||||
@@ -19,7 +18,7 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
||||
CONFIG_NO_PBL=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs ramdisk_size=$ramdisk_size;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr"
|
||||
|
||||
@@ -10,7 +10,6 @@ CONFIG_SYS_INIT_RAM_LOCK=y
|
||||
CONFIG_TARGET_P1010RDB_PB=y
|
||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||
CONFIG_ENABLE_36BIT_PHYS=y
|
||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
CONFIG_SYS_MONITOR_LEN=786432
|
||||
@@ -18,7 +17,7 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
||||
CONFIG_NO_PBL=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs ramdisk_size=$ramdisk_size;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr"
|
||||
|
||||
@@ -11,7 +11,6 @@ CONFIG_SYS_INIT_RAM_LOCK=y
|
||||
CONFIG_TARGET_P1020RDB_PC=y
|
||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||
CONFIG_ENABLE_36BIT_PHYS=y
|
||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
CONFIG_PHYS_64BIT=y
|
||||
@@ -21,7 +20,7 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
||||
CONFIG_NO_PBL=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
|
||||
|
||||
@@ -11,7 +11,6 @@ CONFIG_SYS_INIT_RAM_LOCK=y
|
||||
CONFIG_TARGET_P1020RDB_PC=y
|
||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||
CONFIG_ENABLE_36BIT_PHYS=y
|
||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
CONFIG_SYS_MONITOR_LEN=786432
|
||||
@@ -20,7 +19,7 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
||||
CONFIG_NO_PBL=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
|
||||
|
||||
@@ -11,7 +11,6 @@ CONFIG_SYS_INIT_RAM_LOCK=y
|
||||
CONFIG_TARGET_P1020RDB_PD=y
|
||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||
CONFIG_ENABLE_36BIT_PHYS=y
|
||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
CONFIG_SYS_MONITOR_LEN=786432
|
||||
@@ -20,7 +19,7 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
||||
CONFIG_NO_PBL=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
|
||||
|
||||
@@ -11,7 +11,6 @@ CONFIG_SYS_INIT_RAM_LOCK=y
|
||||
CONFIG_TARGET_P2020RDB=y
|
||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||
CONFIG_ENABLE_36BIT_PHYS=y
|
||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
CONFIG_PHYS_64BIT=y
|
||||
@@ -21,7 +20,7 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
||||
CONFIG_NO_PBL=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
|
||||
|
||||
@@ -11,7 +11,6 @@ CONFIG_SYS_INIT_RAM_LOCK=y
|
||||
CONFIG_TARGET_P2020RDB=y
|
||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||
CONFIG_ENABLE_36BIT_PHYS=y
|
||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
||||
CONFIG_PCIE1=y
|
||||
CONFIG_PCIE2=y
|
||||
CONFIG_SYS_MONITOR_LEN=786432
|
||||
@@ -20,7 +19,7 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
||||
CONFIG_NO_PBL=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs root=/dev/$bdev rw rootdelay=30 console=$consoledev,$baudrate $othbootargs;usb start;ext2load usb 0:1 $loadaddr /boot/$bootfile;ext2load usb 0:1 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr"
|
||||
|
||||
@@ -80,6 +80,7 @@ CONFIG_DM_REGULATOR_FIXED=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_SPL_RAM=y
|
||||
CONFIG_DM_RESET=y
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
CONFIG_SYSRESET=y
|
||||
CONFIG_USB=y
|
||||
|
||||
@@ -64,4 +64,5 @@ CONFIG_DM_RESET=y
|
||||
CONFIG_BAUDRATE=1500000
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
CONFIG_SYSRESET=y
|
||||
# CONFIG_BINMAN_FDT is not set
|
||||
CONFIG_ERRNO_STR=y
|
||||
|
||||
@@ -77,6 +77,7 @@ CONFIG_DM_REGULATOR_FIXED=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_SPL_RAM=y
|
||||
CONFIG_DM_RESET=y
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
CONFIG_SYSRESET=y
|
||||
CONFIG_USB=y
|
||||
|
||||
@@ -65,7 +65,6 @@ CONFIG_CMD_DNS=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_CMD_BOOTCOUNT=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_CMD_CLS=y
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_CMD_PMIC=y
|
||||
CONFIG_CMD_REGULATOR=y
|
||||
|
||||
@@ -36,7 +36,6 @@ CONFIG_CMD_PCI=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_CMD_BOOTCOUNT=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_CMD_CLS=y
|
||||
CONFIG_CMD_EXT2=y
|
||||
CONFIG_CMD_EXT4=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
|
||||
@@ -74,6 +74,7 @@ CONFIG_DM_REGULATOR_FIXED=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_SPL_RAM=y
|
||||
CONFIG_DM_RESET=y
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
CONFIG_SYSRESET=y
|
||||
CONFIG_USB=y
|
||||
|
||||
@@ -34,7 +34,6 @@ CONFIG_CMD_DHCP=y
|
||||
CONFIG_CMD_MII=y
|
||||
CONFIG_CMD_PING=y
|
||||
CONFIG_CMD_BOOTCOUNT=y
|
||||
CONFIG_CMD_CLS=y
|
||||
CONFIG_CMD_EXT2=y
|
||||
CONFIG_CMD_EXT4=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
|
||||
@@ -45,7 +45,6 @@ CONFIG_CMD_TIME=y
|
||||
CONFIG_SPL_OF_CONTROL=y
|
||||
CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_ENV_SPI_MAX_HZ=30000000
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SPL_DM_SEQ_ALIAS=y
|
||||
CONFIG_ROCKCHIP_GPIO=y
|
||||
@@ -82,7 +81,6 @@ CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_GENERIC=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_OHCI_GENERIC=y
|
||||
CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_DWC3_GENERIC=y
|
||||
CONFIG_USB_KEYBOARD=y
|
||||
|
||||
@@ -30,6 +30,7 @@ CONFIG_SPL_STACK_R=y
|
||||
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
CONFIG_TPL=y
|
||||
CONFIG_CMD_BOOTZ=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MMC=y
|
||||
@@ -38,6 +39,7 @@ CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_ROCKUSB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_CMD_EFIDEBUG=y
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_SPL_OF_CONTROL=y
|
||||
CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
@@ -90,9 +92,5 @@ CONFIG_DISPLAY_ROCKCHIP_HDMI=y
|
||||
CONFIG_SPL_TINY_MEMSET=y
|
||||
CONFIG_ERRNO_STR=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CMD_EFIDEBUG=y
|
||||
CONFIG_TOOLS_MKEFICAPSULE=y
|
||||
CONFIG_HEXDUMP=y
|
||||
CONFIG_EFI_CAPSULE_ON_DISK=y
|
||||
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
|
||||
|
||||
@@ -30,6 +30,7 @@ CONFIG_SPL_STACK_R=y
|
||||
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
CONFIG_TPL=y
|
||||
CONFIG_CMD_BOOTZ=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MMC=y
|
||||
@@ -38,6 +39,7 @@ CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_ROCKUSB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_CMD_EFIDEBUG=y
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_SPL_OF_CONTROL=y
|
||||
CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
@@ -90,9 +92,5 @@ CONFIG_DISPLAY_ROCKCHIP_HDMI=y
|
||||
CONFIG_SPL_TINY_MEMSET=y
|
||||
CONFIG_ERRNO_STR=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CMD_EFIDEBUG=y
|
||||
CONFIG_TOOLS_MKEFICAPSULE=y
|
||||
CONFIG_HEXDUMP=y
|
||||
CONFIG_EFI_CAPSULE_ON_DISK=y
|
||||
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
|
||||
|
||||
@@ -73,6 +73,7 @@ CONFIG_PWM_ROCKCHIP=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_SPL_RAM=y
|
||||
# CONFIG_RAM_ROCKCHIP_DEBUG is not set
|
||||
CONFIG_DM_RESET=y
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
CONFIG_SYSRESET=y
|
||||
CONFIG_USB=y
|
||||
|
||||
@@ -68,6 +68,8 @@ CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_BITBANGMII=y
|
||||
CONFIG_BITBANGMII_MULTI=y
|
||||
CONFIG_PHY_ATHEROS=y
|
||||
CONFIG_PHY_MICREL=y
|
||||
CONFIG_PHY_MICREL_KSZ90X1=y
|
||||
CONFIG_RENESAS_RAVB=y
|
||||
CONFIG_DM_REGULATOR=y
|
||||
CONFIG_DM_REGULATOR_FIXED=y
|
||||
|
||||
@@ -101,6 +101,7 @@ CONFIG_BOOTP_SEND_HOSTNAME=y
|
||||
CONFIG_NETCONSOLE=y
|
||||
CONFIG_IP_DEFRAG=y
|
||||
CONFIG_BOOTP_SERVERIP=y
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_DM_DMA=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
@@ -258,4 +259,3 @@ CONFIG_FWU_MULTI_BANK_UPDATE=y
|
||||
CONFIG_UNIT_TEST=y
|
||||
CONFIG_UT_TIME=y
|
||||
CONFIG_UT_DM=y
|
||||
CONFIG_IPV6=y
|
||||
|
||||
@@ -135,6 +135,7 @@ CONFIG_BOOTP_SEND_HOSTNAME=y
|
||||
CONFIG_NETCONSOLE=y
|
||||
CONFIG_IP_DEFRAG=y
|
||||
CONFIG_BOOTP_SERVERIP=y
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_DM_DMA=y
|
||||
CONFIG_DEVRES=y
|
||||
CONFIG_DEBUG_DEVRES=y
|
||||
@@ -333,4 +334,3 @@ CONFIG_TEST_FDTDEC=y
|
||||
CONFIG_UNIT_TEST=y
|
||||
CONFIG_UT_TIME=y
|
||||
CONFIG_UT_DM=y
|
||||
CONFIG_IPV6=y
|
||||
|
||||
@@ -78,6 +78,7 @@ CONFIG_BOOTP_SEND_HOSTNAME=y
|
||||
CONFIG_NETCONSOLE=y
|
||||
CONFIG_IP_DEFRAG=y
|
||||
CONFIG_BOOTP_SERVERIP=y
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_DM_DMA=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
@@ -216,4 +217,3 @@ CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
|
||||
CONFIG_UNIT_TEST=y
|
||||
CONFIG_UT_TIME=y
|
||||
CONFIG_UT_DM=y
|
||||
CONFIG_IPV6=y
|
||||
|
||||
@@ -72,10 +72,8 @@ CONFIG_CMD_CLK=y
|
||||
CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_FUSE=y
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_REMOTEPROC=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_USB=y
|
||||
@@ -110,9 +108,6 @@ CONFIG_STM32_ADC=y
|
||||
CONFIG_SPL_BLOCK_CACHE=y
|
||||
CONFIG_BOOTCOUNT_LIMIT=y
|
||||
CONFIG_SYS_BOOTCOUNT_MAGIC=0xB0C40000
|
||||
CONFIG_DFU_MMC=y
|
||||
CONFIG_DFU_MTD=y
|
||||
CONFIG_DFU_RAM=y
|
||||
CONFIG_GPIO_HOG=y
|
||||
CONFIG_DM_HWSPINLOCK=y
|
||||
CONFIG_HWSPINLOCK_STM32=y
|
||||
|
||||
@@ -70,10 +70,8 @@ CONFIG_CMD_CLK=y
|
||||
CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_FUSE=y
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_REMOTEPROC=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_USB=y
|
||||
@@ -107,9 +105,6 @@ CONFIG_STM32_ADC=y
|
||||
CONFIG_SPL_BLOCK_CACHE=y
|
||||
CONFIG_BOOTCOUNT_LIMIT=y
|
||||
CONFIG_SYS_BOOTCOUNT_MAGIC=0xB0C40000
|
||||
CONFIG_DFU_MMC=y
|
||||
CONFIG_DFU_MTD=y
|
||||
CONFIG_DFU_RAM=y
|
||||
CONFIG_GPIO_HOG=y
|
||||
CONFIG_DM_HWSPINLOCK=y
|
||||
CONFIG_HWSPINLOCK_STM32=y
|
||||
|
||||
@@ -82,6 +82,7 @@ CONFIG_REGULATOR_RK8XX=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_SPL_RAM=y
|
||||
CONFIG_DM_RESET=y
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
CONFIG_SYSRESET=y
|
||||
CONFIG_USB=y
|
||||
|
||||
@@ -82,6 +82,7 @@ CONFIG_REGULATOR_RK8XX=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_SPL_RAM=y
|
||||
CONFIG_DM_RESET=y
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
CONFIG_SYSRESET=y
|
||||
CONFIG_USB=y
|
||||
|
||||
@@ -82,6 +82,7 @@ CONFIG_REGULATOR_RK8XX=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_SPL_RAM=y
|
||||
CONFIG_DM_RESET=y
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
CONFIG_SYSRESET=y
|
||||
CONFIG_USB=y
|
||||
|
||||
10
doc/Makefile
10
doc/Makefile
@@ -69,6 +69,14 @@ quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
|
||||
htmldocs:
|
||||
@+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,html,$(var),,$(var)))
|
||||
|
||||
texinfodocs:
|
||||
@+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,texinfo,$(var),texinfo,$(var)))
|
||||
|
||||
# Note: the 'info' Make target is generated by sphinx itself when
|
||||
# running the texinfodocs target defined above.
|
||||
infodocs: texinfodocs
|
||||
$(MAKE) -C $(BUILDDIR)/texinfo info
|
||||
|
||||
linkcheckdocs:
|
||||
@$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,linkcheck,$(var),,$(var)))
|
||||
|
||||
@@ -109,6 +117,8 @@ cleandocs:
|
||||
dochelp:
|
||||
@echo ' U-Boot documentation in different formats from ReST:'
|
||||
@echo ' htmldocs - HTML'
|
||||
@echo ' texinfodocs - Texinfo'
|
||||
@echo ' infodocs - Info'
|
||||
@echo ' latexdocs - LaTeX'
|
||||
@echo ' pdfdocs - PDF'
|
||||
@echo ' epubdocs - EPUB'
|
||||
|
||||
@@ -7,7 +7,7 @@ QEMU PPC E500
|
||||
QEMU for PPC supports a special 'ppce500' machine designed for emulation and
|
||||
virtualization purposes. This document describes how to run U-Boot under it.
|
||||
|
||||
The QEMU ppce500 machine models a generic PowerPC E500 virtual machine with
|
||||
The QEMU ppce500 machine models a generic PowerPC e500 virtual machine with
|
||||
support for the VirtIO standard networking device connected to the built-in
|
||||
PCI host controller. Some common devices in the CCSBAR space are modeled,
|
||||
including MPIC, 16550A UART devices, GPIO, I2C and PCI host controller with
|
||||
@@ -39,6 +39,7 @@ embedded DTB created by QEMU reflects the new setting.
|
||||
Both qemu-system-ppc and qemu-system-ppc64 provide emulation for the following
|
||||
32-bit PowerPC CPUs:
|
||||
|
||||
* e500v1
|
||||
* e500v2
|
||||
* e500mc
|
||||
|
||||
@@ -61,8 +62,9 @@ When U-Boot boots, you will notice the following::
|
||||
This is because we only specified a core name to QEMU and it does not have a
|
||||
meaningful SVR value which represents an actual SoC that integrates such core.
|
||||
You can specify a real world SoC device that QEMU has built-in support but all
|
||||
these SoCs are e500v2 based MPC85xx series, hence you cannot test anything
|
||||
built for P4080 (e500mc), P5020 (e5500) and T2080 (e6500).
|
||||
these SoCs are e500v1/e500v2 based MPC85xx series, hence you cannot test anything
|
||||
built for P10xx/P2010/P2020 (e500v2), P204x/P304x/P40xx (e500mc), P50xx/T10xx (e5500)
|
||||
and T208x/T4080/T4160/T4240 (e6500).
|
||||
|
||||
By default a VirtIO standard PCI networking device is connected as an ethernet
|
||||
interface at PCI address 0.1.0, but we can switch that to an e1000 NIC by::
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||
.. sectionauthor:: Tom Rini <trini@konsulko.com>
|
||||
|
||||
AM335x Generation
|
||||
=================
|
||||
|
||||
Summary
|
||||
=======
|
||||
-------
|
||||
|
||||
This document covers various features of the `am335x_evm` default
|
||||
configuration, some of the related defconfigs, and how to enable hardware
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||
.. sectionauthor:: Vignesh Raghavendra <vigneshr@ti.com>
|
||||
|
||||
Texas Instruments AM62 Platforms
|
||||
================================
|
||||
AM62 Platforms
|
||||
===============
|
||||
|
||||
Introduction:
|
||||
-------------
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
Texas Instruments
|
||||
=================
|
||||
#################
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
am335x_evm
|
||||
j721e_evm
|
||||
am62x_sk
|
||||
k3
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||
.. sectionauthor:: Lokesh Vutla <lokeshvutla@ti.com>
|
||||
|
||||
Texas Instruments K3 Platforms
|
||||
==============================
|
||||
J721E Platforms
|
||||
===============
|
||||
|
||||
Introduction:
|
||||
-------------
|
||||
|
||||
274
doc/board/ti/k3.rst
Normal file
274
doc/board/ti/k3.rst
Normal file
@@ -0,0 +1,274 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||
.. sectionauthor:: Bryan Brattlof <bb@ti.com>
|
||||
|
||||
K3 Generation
|
||||
=============
|
||||
|
||||
Summary
|
||||
-------
|
||||
|
||||
Texas Instrument's K3 family of SoCs utilize a heterogeneous multicore
|
||||
and highly integrated device architecture targeted to maximize
|
||||
performance and power efficiency for a wide range of industrial,
|
||||
automotive and other broad market segments.
|
||||
|
||||
Typically the processing cores and the peripherals for these devices are
|
||||
partitioned into three functional domains to provide ultra-low power
|
||||
modes as well as accommodating application and industrial safety systems
|
||||
on the same SoC. These functional domains are typically called the:
|
||||
|
||||
* Wakeup (WKUP) domain
|
||||
* Micro-controller (MCU) domain
|
||||
* Main domain
|
||||
|
||||
For a more detailed view of what peripherals are attached to each
|
||||
domain, consult the device specific documentation.
|
||||
|
||||
K3 Based SoCs
|
||||
-------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
j721e_evm
|
||||
am62x_sk
|
||||
|
||||
Boot Flow Overview
|
||||
------------------
|
||||
|
||||
For all K3 SoCs the first core started will be inside the Security
|
||||
Management Subsystem (SMS) which will secure the device and start a core
|
||||
in the wakeup domain to run the ROM code. ROM will then initialize the
|
||||
boot media needed to load the binaries packaged inside `tiboot3.bin`,
|
||||
including a 32bit U-Boot SPL, (called the wakup SPL) that ROM will jump
|
||||
to after it has finished loading everything into internal SRAM.
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
| WKUP Domain
|
||||
ROM -> WKUP SPL ->
|
||||
|
||||
The wakeup SPL, running on a wakeup domain core, will initialize DDR and
|
||||
any peripherals needed load the larger binaries inside the `tispl.bin`
|
||||
into DDR. Once loaded the wakeup SPL will start one of the 'big'
|
||||
application cores inside the main domain to initialize the main domain,
|
||||
starting with ARM Trusted Firmware (ATF), before moving on to start
|
||||
OPTEE and the main domain's U-Boot SPL.
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
| WKUP Domain | Main Domain ->
|
||||
ROM -> WKUP SPL -> ATF -> OPTEE -> Main SPL
|
||||
|
||||
The main domain's SPL, running on a 64bit application core, has
|
||||
virtually unlimited space (billions of bytes now that DDR is working) to
|
||||
initialize even more peripherals needed to load in the `u-boot.img`
|
||||
which loads more firmware into the micro-controller & wakeup domains and
|
||||
finally prepare the main domain to run Linux.
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
| WKUP Domain | Main Domain ->
|
||||
ROM -> WKUP SPL -> ATF -> OPTEE -> Main SPL -> UBoot -> Linux
|
||||
|
||||
This is the typical boot flow for all K3 based SoCs, however this flow
|
||||
offers quite a lot in the terms of flexibility, especially on High
|
||||
Security (HS) SoCs.
|
||||
|
||||
Boot Flow Variations
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
All K3 SoCs will generally use the above boot flow with two main
|
||||
differences depending on the capabilities of the boot ROM and the number
|
||||
of cores inside the device. These differences split the bootflow into
|
||||
essentially 4 unique but very similar flows:
|
||||
|
||||
* Split binary with a combined firmware: (eg: AM65)
|
||||
* Combined binary with a combined firmware: (eg: AM64)
|
||||
* Split binary with a split firmware: (eg: J721E)
|
||||
* Combined binary with a split firmware: (eg: AM62)
|
||||
|
||||
For devices that utilize the split binary approach, ROM is not capable
|
||||
of loading the firmware into the SoC requiring the wakeup domain's
|
||||
U-Boot SPL to load the firmware.
|
||||
|
||||
Devices with a split firmware will have two firmwares loaded into the
|
||||
device at different times during the bootup process. TI's Foundational
|
||||
Security (TIFS), needed to operate the Security Management Subsystem,
|
||||
will either be loaded by ROM or the WKUP U-Boot SPL, then once the
|
||||
wakeup U-Boot SPL has completed, the second Device Management (DM)
|
||||
firmware can be loaded on the now free core in the wakeup domain.
|
||||
|
||||
For more information on the bootup process of your SoC, consult the
|
||||
device specific boot flow documentation.
|
||||
|
||||
Software Sources
|
||||
----------------
|
||||
|
||||
All scripts and code needed to build the `tiboot3.bin`, `tispl.bin` and
|
||||
`u-boot.img` for all K3 SoCs can be located at the following places
|
||||
online
|
||||
|
||||
* **Das U-Boot**
|
||||
|
||||
| **source:** https://source.denx.de/u-boot/u-boot.git
|
||||
| **branch:** master
|
||||
|
||||
* **K3 Image Gen**
|
||||
|
||||
| **source:** https://git.ti.com/git/k3-image-gen/k3-image-gen.git
|
||||
| **branch:** master
|
||||
|
||||
* **ARM Trusted Firmware (ATF)**
|
||||
|
||||
| **source:** https://github.com/ARM-software/arm-trusted-firmware.git
|
||||
| **branch:** master
|
||||
|
||||
* **Open Portable Trusted Execution Environment (OPTEE)**
|
||||
|
||||
| **source:** https://github.com/OP-TEE/optee_os.git
|
||||
| **branch:** master
|
||||
|
||||
* **TI Firmware (TIFS, DM, DSMC)**
|
||||
|
||||
| **source:** https://git.ti.com/git/processor-firmware/ti-linux-firmware.git
|
||||
| **branch:** ti-linux-firmware
|
||||
|
||||
* **TI's Security Development Tools**
|
||||
|
||||
| **source:** https://git.ti.com/git/security-development-tools/core-secdev-k3.git
|
||||
| **branch:** master
|
||||
|
||||
Build Procedure
|
||||
---------------
|
||||
|
||||
Depending on the specifics of your device, you will need three or more
|
||||
binaries to boot your SoC.
|
||||
|
||||
* `tiboot3.bin` (bootloader for the wakeup domain)
|
||||
* `tispl.bin` (bootloader for the main domain)
|
||||
* `u-boot.img`
|
||||
|
||||
During the bootup process, both the 32bit wakeup domain and the 64bit
|
||||
main domains will be involved. This means everything inside the
|
||||
`tiboot3.bin` running in the wakeup domain will need to be compiled for
|
||||
32bit cores and most binaries in the `tispl.bin` will need to be
|
||||
compiled for 64bit main domain CPU cores.
|
||||
|
||||
All of that to say you will need both a 32bit and 64bit cross compiler
|
||||
(assuming you're using an x86 desktop)
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
export CC32=arm-linux-gnueabihf-
|
||||
export CC64=aarch64-linux-gnu-
|
||||
|
||||
Building tiboot3.bin
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
1. To generate the U-Boot SPL for the wakeup domain, use the following
|
||||
commands, substituting :code:`{SOC}` for the name of your device (eg:
|
||||
am62x)
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# inside u-boot source
|
||||
make ARCH=arm O=build/wkup CROSS_COMPILE=$CC32 {SOC}_evm_r5_defconfig
|
||||
make ARCH=arm O=build/wkup CROSS_COMPILE=$CC32
|
||||
|
||||
2. Next we will use the K3 Image Gen scripts to package the various
|
||||
firmware and the wakeup UBoot SPL into the final `tiboot3.bin`
|
||||
binary. (or the `sysfw.itb` if your device uses the split binary
|
||||
flow)
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# inside k3-image-gen source
|
||||
make CROSS_COMPILE=$CC32 SOC={SOC} SOC_TYPE={hs,gp} \
|
||||
TI_SECURE_DEV_PKG=<path/to/securit-development-tools> \
|
||||
SYSFW_PATH=<path/to/ti-sysfw/ti-fs-firmware-{SOC}-{hs|gp}.bin> \
|
||||
SYSFW_HS_INNER_CERT_PATH=<path/to/ti-sysfw/ti-fs-firmware-{SOC}-hs-cert.bin
|
||||
|
||||
For devices that use the *combined binary flow*, you will also need to
|
||||
supply the location of the SPL we created in step 1 above, so it can be
|
||||
packaged into the final `tiboot3.bin`.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
SBL=<path/to/wakeup/u-boot-spl.bin>
|
||||
|
||||
At this point you should have all the needed binaries to boot the wakeup
|
||||
domain of your K3 SoC.
|
||||
|
||||
**Combined Binary Boot Flow** (eg: am62x, am64x, ... )
|
||||
|
||||
`k3-image-gen/tiboot3-{SOC}-{hs,gp}-evm.bin`
|
||||
|
||||
**Split Binary Boot Flow** (eg: j721e, am65x)
|
||||
|
||||
| `u-boot/build/wkup/tiboot3.bin`
|
||||
| `k3-image-gen/sysfw-{SOC}-evm.bin`
|
||||
|
||||
.. note ::
|
||||
|
||||
It's important to rename the generated `tiboot3.bin` and `sysfw.itb`
|
||||
to match exactly `tiboot3.bin` and `sysfw.itb` as ROM and the wakeup
|
||||
UBoot SPL will only look for and load the files with these names.
|
||||
|
||||
Building tispl.bin
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The `tispl.bin` is a standard fitImage combining the firmware need for
|
||||
the main domain to function properly as well as Device Management (DM)
|
||||
firmware if your device using a split firmware.
|
||||
|
||||
3. We will first need ATF, as it's the first thing to run on the 'big'
|
||||
application cores on the main domain.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# inside arm-trusted-firmware source
|
||||
make CROSS_COMPILE=$CC64 ARCH=aarch64 PLAT=k3 \
|
||||
TARGET_BOARD={lite|generic} \
|
||||
SPD=opteed \
|
||||
|
||||
Typically all `j7*` devices will use `TARGET_BOARD=generic` while all
|
||||
Sitara (`am6*`) devices use the `lite` option.
|
||||
|
||||
4. The Open Portable Trusted Execution Environment (OPTEE) is designed
|
||||
to run as a companion to a non-secure Linux kernel for Cortex-A cores
|
||||
using the TrustZone technology built into the core.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# inside optee_os source
|
||||
make CROSS_COMPILE=$CC32 CROSS_COMPILE64=$CC64 \
|
||||
PLATFORM=k3 CFG_ARM64_core=y
|
||||
|
||||
5. Finally, after ATF has initialized the main domain and OPTEE has
|
||||
finished, we can jump back into U-Boot again, this time running on a
|
||||
64bit core in the main domain.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# inside u-boot source
|
||||
make ARCH=arm O=build/main CROSS_COMPILE=$CC64 {SOC}_evm_a{53,72}_defconfig
|
||||
make ARCH=arm O=build/main CROSS_COMPILE=$CC64 \
|
||||
ATF=<path/to/atf/bl31.bin \
|
||||
TEE=<path/to/optee/tee-pager_v2.bin
|
||||
|
||||
If your device uses a split firmware, you will also need to supply the
|
||||
path to the Device Management (DM) Firmware to be included in the final
|
||||
`tispl.bin` binary
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
DM=<path/to/ti-linux-firmware/ti-dm/ipc_echo_testb_mcu1_0_release_strip.xer5f>
|
||||
|
||||
At this point you should have every binary needed initialize both the
|
||||
wakeup and main domain and to boot to the U-Boot prompt
|
||||
|
||||
**Main Domain Bootloader**
|
||||
|
||||
| `u-boot/build/main/tispl.bin`
|
||||
| `u-boot/build/main/u-boot.img`
|
||||
90
doc/build/documentation.rst
vendored
Normal file
90
doc/build/documentation.rst
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+:
|
||||
|
||||
Building documentation
|
||||
======================
|
||||
|
||||
The U-Boot documentation is based on the Sphinx documentation generator.
|
||||
|
||||
HTML documentation
|
||||
------------------
|
||||
|
||||
The *htmldocs* target is used to build the HTML documentation. It uses the
|
||||
`Read the Docs Sphinx theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Create Python environment 'myenv'
|
||||
python3 -m venv myenv
|
||||
# Activate the Python environment
|
||||
. myenv/bin/activate
|
||||
# Install build requirements
|
||||
python3 -m pip install -r doc/sphinx/requirements.txt
|
||||
# Build the documentation
|
||||
make htmldocs
|
||||
# Deactivate the Python environment
|
||||
deactivate
|
||||
# Display the documentation in a graphical web browser
|
||||
x-www-browser doc/output/index.html
|
||||
|
||||
Infodoc documentation
|
||||
---------------------
|
||||
|
||||
The *infodocs* target builds both a texinfo and an info file:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Create Python environment 'myenv'
|
||||
python3 -m venv myenv
|
||||
# Activate the Python environment
|
||||
. myenv/bin/activate
|
||||
# Install build requirements
|
||||
python3 -m pip install -r doc/sphinx/requirements.txt
|
||||
# Build the documentation
|
||||
make infodocs
|
||||
# Deactivate the Python environment
|
||||
deactivate
|
||||
# Display the documentation
|
||||
info doc/output/texinfo/u-boot.info
|
||||
|
||||
PDF documentation
|
||||
-----------------
|
||||
|
||||
The *pdfdocs* target is meant to be used to build PDF documenation.
|
||||
As v2023.01 it fails with 'LaTeX Error: Too deeply nested'.
|
||||
|
||||
We can use texi2pdf instead:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Create Python environment 'myenv'
|
||||
python3 -m venv myenv
|
||||
# Activate the Python environment
|
||||
. myenv/bin/activate
|
||||
# Install build requirements
|
||||
python3 -m pip install -r doc/sphinx/requirements.txt
|
||||
# Build the documentation
|
||||
make texinfodocs
|
||||
# Deactivate the Python environment
|
||||
deactivate
|
||||
# Convert to PDF
|
||||
texi2pdf doc/output/texinfo/u-boot.texi
|
||||
|
||||
Texinfo documentation
|
||||
---------------------
|
||||
|
||||
To build only the texinfo documentation the *texinfodocs* target is used:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Create Python environment 'myenv'
|
||||
python3 -m venv myenv
|
||||
# Activate the Python environment
|
||||
. myenv/bin/activate
|
||||
# Install build requirements
|
||||
python3 -m pip install -r doc/sphinx/requirements.txt
|
||||
# Build the documentation
|
||||
make texinfodocs
|
||||
# Deactivate the Python environment
|
||||
deactivate
|
||||
|
||||
The output is in file *doc/output/texinfo/u-boot.texi*.
|
||||
1
doc/build/index.rst
vendored
1
doc/build/index.rst
vendored
@@ -12,3 +12,4 @@ Build U-Boot
|
||||
docker
|
||||
tools
|
||||
buildman
|
||||
documentation
|
||||
|
||||
@@ -449,7 +449,7 @@ for fn in os.listdir('.'):
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
(master_doc, 'dasuboot', 'The U-Boot Documentation',
|
||||
(master_doc, 'u-boot', 'The U-Boot Documentation',
|
||||
[author], 1)
|
||||
]
|
||||
|
||||
@@ -463,8 +463,8 @@ man_pages = [
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
(master_doc, 'DasUBoot', 'The U-Boot Documentation',
|
||||
author, 'DasUBoot', 'One line description of project.',
|
||||
(master_doc, 'u-boot', 'The U-Boot Documentation',
|
||||
author, 'U-Boot', 'Boot loader for embedded systems',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
|
||||
@@ -48,12 +48,12 @@ Examples::
|
||||
Current Status
|
||||
--------------
|
||||
|
||||
* U-Boot v2022.10 was released on Mon 03 October 2022.
|
||||
* U-Boot v2023.01 was released on Mon 09 January 2023.
|
||||
|
||||
* The Merge Window for the next release (v2023.01) is **open** until -rc1
|
||||
release on Mon 24 October 2022.
|
||||
* The Merge Window for the next release (v2023.04) is **open** until -rc1
|
||||
release on Mon 30 January 2023.
|
||||
|
||||
* Release "v2023.01" is scheduled for 09 January 2023.
|
||||
* Release "v2023.04" is scheduled for 03 April 2023.
|
||||
|
||||
Future Releases
|
||||
---------------
|
||||
@@ -61,31 +61,29 @@ Future Releases
|
||||
.. The following commented out dates are for when release candidates are
|
||||
planned to be tagged.
|
||||
|
||||
For the next scheduled release, release candidates were made on::
|
||||
.. For the next scheduled release, release candidates were made on::
|
||||
|
||||
* U-Boot v2023.01-rc1 was released on Mon 07 November 2022.
|
||||
.. * U-Boot v2023.04-rc1 was released on Mon 30 January 2023.
|
||||
|
||||
* U-Boot v2023.01-rc2 was released on Mon 21 November 2022.
|
||||
.. * U-Boot v2023.04-rc2 was released on Mon 13 February 2023.
|
||||
|
||||
* U-Boot v2023.01-rc3 was released on Mon 05 December 2022.
|
||||
.. * U-Boot v2023.04-rc3 was released on Mon 27 February 2023.
|
||||
|
||||
* U-Boot v2023.01-rc4 was released on Mon 19 December 2022.
|
||||
.. * U-Boot v2023.04-rc4 was released on Mon 13 March 2023.
|
||||
|
||||
.. * U-Boot v2023.01-rc5 was released on Mon 19 December 2022.
|
||||
|
||||
.. * U-Boot v2023.01-rc6 was released on Mon 02 January 2023.
|
||||
.. * U-Boot v2023.04-rc5 was released on Mon 27 March 2023.
|
||||
|
||||
Please note that the following dates are planned only and may be deviated from
|
||||
as needed.
|
||||
|
||||
* "v2023.01": end of MW = Mon, Oct 24, 2022; release = Mon, Jan 09, 2023
|
||||
|
||||
* "v2023.04": end of MW = Mon, Jan 30, 2022; release = Mon, Apr 03, 2023
|
||||
|
||||
* "v2023.07": end of MW = Mon, Apr 24, 2023; release = Mon, Jul 03, 2023
|
||||
|
||||
* "v2023.10": end of MW = Mon, Jul 24, 2023; release = Mon, Oct 02, 2023
|
||||
|
||||
* "v2024.01": end of MW = Mon, Oct 23, 2023; release = Mon, Jan 08, 2024
|
||||
|
||||
Previous Releases
|
||||
-----------------
|
||||
|
||||
@@ -93,6 +91,8 @@ Note: these statistics are generated by our fork of `gitdm
|
||||
<https://source.denx.de/u-boot/gitdm>`_, which was originally created by
|
||||
Jonathan Corbet.
|
||||
|
||||
* :doc:`statistics/u-boot-stats-v2023.01` which was released on 09 January 2023.
|
||||
|
||||
* :doc:`statistics/u-boot-stats-v2022.10` which was released on 03 October 2022.
|
||||
|
||||
* :doc:`statistics/u-boot-stats-v2022.07` which was released on 11 July 2022.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v1.3.0
|
||||
====================================
|
||||
|
||||
* Processed 1153 csets from 102 developers
|
||||
* Processed 1153 changesets from 102 developers
|
||||
|
||||
* 38 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v1.3.1
|
||||
====================================
|
||||
|
||||
* Processed 40 csets from 5 developers
|
||||
* Processed 40 changesets from 5 developers
|
||||
|
||||
* 5 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v1.3.2
|
||||
====================================
|
||||
|
||||
* Processed 744 csets from 79 developers
|
||||
* Processed 744 changesets from 79 developers
|
||||
|
||||
* 38 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v1.3.3
|
||||
====================================
|
||||
|
||||
* Processed 646 csets from 75 developers
|
||||
* Processed 646 changesets from 75 developers
|
||||
|
||||
* 38 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v1.3.4
|
||||
====================================
|
||||
|
||||
* Processed 511 csets from 86 developers
|
||||
* Processed 511 changesets from 86 developers
|
||||
|
||||
* 46 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2008.10
|
||||
======================================
|
||||
|
||||
* Processed 2498 csets from 174 developers
|
||||
* Processed 2498 changesets from 174 developers
|
||||
|
||||
* 85 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2009.01
|
||||
======================================
|
||||
|
||||
* Processed 464 csets from 69 developers
|
||||
* Processed 464 changesets from 69 developers
|
||||
|
||||
* 33 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2009.03
|
||||
======================================
|
||||
|
||||
* Processed 489 csets from 90 developers
|
||||
* Processed 489 changesets from 90 developers
|
||||
|
||||
* 46 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2009.06
|
||||
======================================
|
||||
|
||||
* Processed 433 csets from 74 developers
|
||||
* Processed 433 changesets from 74 developers
|
||||
|
||||
* 27 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2009.08
|
||||
======================================
|
||||
|
||||
* Processed 657 csets from 96 developers
|
||||
* Processed 657 changesets from 96 developers
|
||||
|
||||
* 35 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2009.11
|
||||
======================================
|
||||
|
||||
* Processed 531 csets from 90 developers
|
||||
* Processed 531 changesets from 90 developers
|
||||
|
||||
* 39 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2010.03
|
||||
======================================
|
||||
|
||||
* Processed 468 csets from 92 developers
|
||||
* Processed 468 changesets from 92 developers
|
||||
|
||||
* 29 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2010.06
|
||||
======================================
|
||||
|
||||
* Processed 402 csets from 100 developers
|
||||
* Processed 402 changesets from 100 developers
|
||||
|
||||
* 31 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2010.09
|
||||
======================================
|
||||
|
||||
* Processed 402 csets from 100 developers
|
||||
* Processed 402 changesets from 100 developers
|
||||
|
||||
* 31 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2010.12
|
||||
======================================
|
||||
|
||||
* Processed 777 csets from 111 developers
|
||||
* Processed 777 changesets from 111 developers
|
||||
|
||||
* 31 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2011.03
|
||||
======================================
|
||||
|
||||
* Processed 451 csets from 80 developers
|
||||
* Processed 451 changesets from 80 developers
|
||||
|
||||
* 25 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2011.06
|
||||
======================================
|
||||
|
||||
* Processed 636 csets from 134 developers
|
||||
* Processed 636 changesets from 134 developers
|
||||
|
||||
* 30 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2011.09
|
||||
======================================
|
||||
|
||||
* Processed 645 csets from 120 developers
|
||||
* Processed 645 changesets from 120 developers
|
||||
|
||||
* 30 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2011.12
|
||||
======================================
|
||||
|
||||
* Processed 1530 csets from 146 developers
|
||||
* Processed 1530 changesets from 146 developers
|
||||
|
||||
* 34 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2012.04
|
||||
======================================
|
||||
|
||||
* Processed 773 csets from 126 developers
|
||||
* Processed 773 changesets from 126 developers
|
||||
|
||||
* 36 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2012.07
|
||||
======================================
|
||||
|
||||
* Processed 775 csets from 114 developers
|
||||
* Processed 775 changesets from 114 developers
|
||||
|
||||
* 29 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2012.12
|
||||
======================================
|
||||
|
||||
* Processed 925 csets from 134 developers
|
||||
* Processed 925 changesets from 134 developers
|
||||
|
||||
* 31 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2013.07
|
||||
======================================
|
||||
|
||||
* Processed 948 csets from 162 developers
|
||||
* Processed 948 changesets from 162 developers
|
||||
|
||||
* 30 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2013.10
|
||||
======================================
|
||||
|
||||
* Processed 710 csets from 135 developers
|
||||
* Processed 710 changesets from 135 developers
|
||||
|
||||
* 28 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2014.01
|
||||
======================================
|
||||
|
||||
* Processed 980 csets from 154 developers
|
||||
* Processed 980 changesets from 154 developers
|
||||
|
||||
* 31 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2014.04
|
||||
======================================
|
||||
|
||||
* Processed 769 csets from 109 developers
|
||||
* Processed 769 changesets from 109 developers
|
||||
|
||||
* 26 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2014.07
|
||||
======================================
|
||||
|
||||
* Processed 1074 csets from 146 developers
|
||||
* Processed 1074 changesets from 146 developers
|
||||
|
||||
* 30 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2014.10
|
||||
======================================
|
||||
|
||||
* Processed 1111 csets from 145 developers
|
||||
* Processed 1111 changesets from 145 developers
|
||||
|
||||
* 24 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2015.01
|
||||
======================================
|
||||
|
||||
* Processed 1588 csets from 162 developers
|
||||
* Processed 1588 changesets from 162 developers
|
||||
|
||||
* 35 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2015.04
|
||||
======================================
|
||||
|
||||
* Processed 1585 csets from 169 developers
|
||||
* Processed 1585 changesets from 169 developers
|
||||
|
||||
* 36 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2015.07
|
||||
======================================
|
||||
|
||||
* Processed 1563 csets from 156 developers
|
||||
* Processed 1563 changesets from 156 developers
|
||||
|
||||
* 28 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2015.10
|
||||
======================================
|
||||
|
||||
* Processed 2069 csets from 182 developers
|
||||
* Processed 2069 changesets from 182 developers
|
||||
|
||||
* 32 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2016.01
|
||||
======================================
|
||||
|
||||
* Processed 1513 csets from 149 developers
|
||||
* Processed 1513 changesets from 149 developers
|
||||
|
||||
* 33 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2016.03
|
||||
======================================
|
||||
|
||||
* Processed 1375 csets from 126 developers
|
||||
* Processed 1375 changesets from 126 developers
|
||||
|
||||
* 26 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2016.05
|
||||
======================================
|
||||
|
||||
* Processed 1043 csets from 133 developers
|
||||
* Processed 1043 changesets from 133 developers
|
||||
|
||||
* 23 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2016.07
|
||||
======================================
|
||||
|
||||
* Processed 1078 csets from 133 developers
|
||||
* Processed 1078 changesets from 133 developers
|
||||
|
||||
* 27 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2016.09
|
||||
======================================
|
||||
|
||||
* Processed 987 csets from 129 developers
|
||||
* Processed 987 changesets from 129 developers
|
||||
|
||||
* 30 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2016.11
|
||||
======================================
|
||||
|
||||
* Processed 1031 csets from 114 developers
|
||||
* Processed 1031 changesets from 114 developers
|
||||
|
||||
* 26 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2017.01
|
||||
======================================
|
||||
|
||||
* Processed 883 csets from 137 developers
|
||||
* Processed 883 changesets from 137 developers
|
||||
|
||||
* 29 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2017.03
|
||||
======================================
|
||||
|
||||
* Processed 664 csets from 126 developers
|
||||
* Processed 664 changesets from 126 developers
|
||||
|
||||
* 29 employers found
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Release Statistics for U-Boot v2017.05
|
||||
======================================
|
||||
|
||||
* Processed 915 csets from 139 developers
|
||||
* Processed 915 changesets from 139 developers
|
||||
|
||||
* 29 employers found
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user