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:
|
matrix:
|
||||||
arc_microblaze_xtensa:
|
arc_microblaze_xtensa:
|
||||||
BUILDMAN: "arc microblaze xtensa"
|
BUILDMAN: "arc microblaze xtensa"
|
||||||
|
amlogic:
|
||||||
|
BUILDMAN: "amlogic"
|
||||||
arm11_arm7_arm920t_arm946es:
|
arm11_arm7_arm920t_arm946es:
|
||||||
BUILDMAN: "arm11 arm7 arm920t arm946es"
|
BUILDMAN: "arm11 arm7 arm920t arm946es"
|
||||||
arm926ejs:
|
arm926ejs:
|
||||||
@@ -476,9 +478,9 @@ stages:
|
|||||||
imx6:
|
imx6:
|
||||||
BUILDMAN: "mx6 -x boundary,engicam,freescale,technexion,toradex"
|
BUILDMAN: "mx6 -x boundary,engicam,freescale,technexion,toradex"
|
||||||
imx:
|
imx:
|
||||||
BUILDMAN: "mx -x mx6,freescale,technexion,toradex"
|
BUILDMAN: "mx -x mx6,imx8,freescale,technexion,toradex"
|
||||||
imx8:
|
imx8_imx9:
|
||||||
BUILDMAN: "imx8"
|
BUILDMAN: "imx8 imx9"
|
||||||
keystone2_keystone3:
|
keystone2_keystone3:
|
||||||
BUILDMAN: "k2 k3"
|
BUILDMAN: "k2 k3"
|
||||||
sandbox_asan:
|
sandbox_asan:
|
||||||
@@ -532,9 +534,11 @@ stages:
|
|||||||
uniphier:
|
uniphier:
|
||||||
BUILDMAN: "uniphier"
|
BUILDMAN: "uniphier"
|
||||||
aarch64_catch_all:
|
aarch64_catch_all:
|
||||||
BUILDMAN: "aarch64 -x bcm,imx8,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,renesas,sunxi,samsung,socfpga,rk,versal,zynq"
|
BUILDMAN: "aarch64 -x amlogic,bcm,imx8,imx9,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,renesas,sunxi,samsung,socfpga,rk,versal,zynq"
|
||||||
rockchip:
|
rockchip_32bit:
|
||||||
BUILDMAN: "rk"
|
BUILDMAN: "rk -x aarch64"
|
||||||
|
rockchip_64bit:
|
||||||
|
BUILDMAN: "rk&aarch64"
|
||||||
renesas:
|
renesas:
|
||||||
BUILDMAN: "renesas"
|
BUILDMAN: "renesas"
|
||||||
zynq:
|
zynq:
|
||||||
|
|||||||
4
Makefile
4
Makefile
@@ -3,7 +3,7 @@
|
|||||||
VERSION = 2023
|
VERSION = 2023
|
||||||
PATCHLEVEL = 01
|
PATCHLEVEL = 01
|
||||||
SUBLEVEL =
|
SUBLEVEL =
|
||||||
EXTRAVERSION = -rc4
|
EXTRAVERSION =
|
||||||
NAME =
|
NAME =
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
@@ -2372,7 +2372,7 @@ tcheck:
|
|||||||
# Documentation targets
|
# Documentation targets
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
|
DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
|
||||||
linkcheckdocs dochelp refcheckdocs
|
linkcheckdocs dochelp refcheckdocs texinfodocs infodocs
|
||||||
PHONY += $(DOC_TARGETS)
|
PHONY += $(DOC_TARGETS)
|
||||||
$(DOC_TARGETS): scripts_basic FORCE
|
$(DOC_TARGETS): scripts_basic FORCE
|
||||||
$(Q)$(MAKE) $(build)=doc $@
|
$(Q)$(MAKE) $(build)=doc $@
|
||||||
|
|||||||
@@ -45,7 +45,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
&rpc {
|
&rpc {
|
||||||
compatible = "renesas,rcar-gen3-rpc";
|
|
||||||
pinctrl-0 = <&qspi_pins>;
|
pinctrl-0 = <&qspi_pins>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
num-cs = <1>;
|
num-cs = <1>;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ pe_header:
|
|||||||
.long IMAGE_NT_SIGNATURE /* 'PE' */
|
.long IMAGE_NT_SIGNATURE /* 'PE' */
|
||||||
coff_header:
|
coff_header:
|
||||||
.short IMAGE_FILE_MACHINE_ARM64 /* AArch64 */
|
.short IMAGE_FILE_MACHINE_ARM64 /* AArch64 */
|
||||||
.short 2 /* nr_sections */
|
.short 3 /* nr_sections */
|
||||||
.long 0 /* TimeDateStamp */
|
.long 0 /* TimeDateStamp */
|
||||||
.long 0 /* PointerToSymbolTable */
|
.long 0 /* PointerToSymbolTable */
|
||||||
.long 0 /* NumberOfSymbols */
|
.long 0 /* NumberOfSymbols */
|
||||||
@@ -34,12 +34,13 @@ coff_header:
|
|||||||
.short (IMAGE_FILE_EXECUTABLE_IMAGE | \
|
.short (IMAGE_FILE_EXECUTABLE_IMAGE | \
|
||||||
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
||||||
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
||||||
|
IMAGE_FILE_LARGE_ADDRESS_AWARE | \
|
||||||
IMAGE_FILE_DEBUG_STRIPPED)
|
IMAGE_FILE_DEBUG_STRIPPED)
|
||||||
optional_header:
|
optional_header:
|
||||||
.short IMAGE_NT_OPTIONAL_HDR64_MAGIC /* PE32+ format */
|
.short IMAGE_NT_OPTIONAL_HDR64_MAGIC /* PE32+ format */
|
||||||
.byte 0x02 /* MajorLinkerVersion */
|
.byte 0x02 /* MajorLinkerVersion */
|
||||||
.byte 0x14 /* MinorLinkerVersion */
|
.byte 0x14 /* MinorLinkerVersion */
|
||||||
.long _edata - _start /* SizeOfCode */
|
.long _etext - _start /* SizeOfCode */
|
||||||
.long 0 /* SizeOfInitializedData */
|
.long 0 /* SizeOfInitializedData */
|
||||||
.long 0 /* SizeOfUninitializedData */
|
.long 0 /* SizeOfUninitializedData */
|
||||||
.long _start - ImageBase /* AddressOfEntryPoint */
|
.long _start - ImageBase /* AddressOfEntryPoint */
|
||||||
@@ -47,7 +48,7 @@ optional_header:
|
|||||||
|
|
||||||
extra_header_fields:
|
extra_header_fields:
|
||||||
.quad 0 /* ImageBase */
|
.quad 0 /* ImageBase */
|
||||||
.long 0x200 /* SectionAlignment */
|
.long 0x1000 /* SectionAlignment */
|
||||||
.long 0x200 /* FileAlignment */
|
.long 0x200 /* FileAlignment */
|
||||||
.short 0 /* MajorOperatingSystemVersion */
|
.short 0 /* MajorOperatingSystemVersion */
|
||||||
.short 0 /* MinorOperatingSystemVersion */
|
.short 0 /* MinorOperatingSystemVersion */
|
||||||
@@ -99,25 +100,46 @@ section_table:
|
|||||||
.long 0 /* PointerToLineNumbers */
|
.long 0 /* PointerToLineNumbers */
|
||||||
.short 0 /* NumberOfRelocations */
|
.short 0 /* NumberOfRelocations */
|
||||||
.short 0 /* NumberOfLineNumbers */
|
.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"
|
.ascii ".text"
|
||||||
.byte 0
|
.byte 0
|
||||||
.byte 0
|
.byte 0
|
||||||
.byte 0 /* end of 0 padding of section name */
|
.byte 0 /* end of 0 padding of section name */
|
||||||
.long _edata - _start /* VirtualSize */
|
.long _etext - _start /* VirtualSize */
|
||||||
.long _start - ImageBase /* VirtualAddress */
|
.long _start - ImageBase /* VirtualAddress */
|
||||||
.long _edata - _start /* SizeOfRawData */
|
.long _etext - _start /* SizeOfRawData */
|
||||||
.long _start - ImageBase /* PointerToRawData */
|
.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) */
|
.ascii ".data"
|
||||||
.long 0 /* PointerToLineNumbers (0 for executables) */
|
.byte 0
|
||||||
.short 0 /* NumberOfRelocations (0 for executables) */
|
.byte 0
|
||||||
.short 0 /* NumberOfLineNumbers (0 for executables) */
|
.byte 0 /* end of 0 padding of section name */
|
||||||
.long 0xe0500020 /* Characteristics (section flags) */
|
.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:
|
_start:
|
||||||
stp x29, x30, [sp, #-32]!
|
stp x29, x30, [sp, #-32]!
|
||||||
mov x29, sp
|
mov x29, sp
|
||||||
|
|||||||
@@ -7,6 +7,12 @@
|
|||||||
|
|
||||||
OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
|
OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
|
||||||
OUTPUT_ARCH(aarch64)
|
OUTPUT_ARCH(aarch64)
|
||||||
|
|
||||||
|
PHDRS
|
||||||
|
{
|
||||||
|
data PT_LOAD FLAGS(3); /* SHF_WRITE | SHF_ALLOC */
|
||||||
|
}
|
||||||
|
|
||||||
ENTRY(_start)
|
ENTRY(_start)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
@@ -18,11 +24,13 @@ SECTIONS
|
|||||||
*(.gnu.linkonce.t.*)
|
*(.gnu.linkonce.t.*)
|
||||||
*(.srodata)
|
*(.srodata)
|
||||||
*(.rodata*)
|
*(.rodata*)
|
||||||
|
. = ALIGN(16);
|
||||||
|
*(.dynamic);
|
||||||
. = ALIGN(512);
|
. = ALIGN(512);
|
||||||
}
|
}
|
||||||
_etext = .;
|
_etext = .;
|
||||||
_text_size = . - _text;
|
_text_size = . - _text;
|
||||||
.dynamic : { *(.dynamic) }
|
. = ALIGN(4096);
|
||||||
.data : {
|
.data : {
|
||||||
_data = .;
|
_data = .;
|
||||||
*(.sdata)
|
*(.sdata)
|
||||||
@@ -47,12 +55,12 @@ SECTIONS
|
|||||||
. = ALIGN(512);
|
. = ALIGN(512);
|
||||||
_bss_end = .;
|
_bss_end = .;
|
||||||
_edata = .;
|
_edata = .;
|
||||||
}
|
} :data
|
||||||
|
_data_size = _edata - _data;
|
||||||
.rela.dyn : { *(.rela.dyn) }
|
.rela.dyn : { *(.rela.dyn) }
|
||||||
.rela.plt : { *(.rela.plt) }
|
.rela.plt : { *(.rela.plt) }
|
||||||
.rela.got : { *(.rela.got) }
|
.rela.got : { *(.rela.got) }
|
||||||
.rela.data : { *(.rela.data) *(.rela.data*) }
|
.rela.data : { *(.rela.data) *(.rela.data*) }
|
||||||
_data_size = . - _etext;
|
|
||||||
|
|
||||||
. = ALIGN(4096);
|
. = ALIGN(4096);
|
||||||
.dynsym : { *(.dynsym) }
|
.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 */
|
/* found enough not-reserved memory to relocated U-Boot */
|
||||||
lmb_init(&lmb);
|
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);
|
boot_fdt_add_mem_rsv_regions(&lmb, (void *)gd->fdt_blob);
|
||||||
/* add 8M for reserved memory for display, fdt, gd,... */
|
/* add 8M for reserved memory for display, fdt, gd,... */
|
||||||
size = ALIGN(SZ_8M + CONFIG_SYS_MALLOC_LEN + total_size, MMU_SECTION_SIZE),
|
size = ALIGN(SZ_8M + CONFIG_SYS_MALLOC_LEN + total_size, MMU_SECTION_SIZE),
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ choice
|
|||||||
config TARGET_SOCRATES
|
config TARGET_SOCRATES
|
||||||
bool "Support socrates"
|
bool "Support socrates"
|
||||||
select ARCH_MPC8544
|
select ARCH_MPC8544
|
||||||
|
select BINMAN
|
||||||
|
|
||||||
config TARGET_P3041DS
|
config TARGET_P3041DS
|
||||||
bool "Support P3041DS"
|
bool "Support P3041DS"
|
||||||
@@ -1459,14 +1460,14 @@ config SYS_FSL_USB_DUAL_PHY_ENABLE
|
|||||||
|
|
||||||
config SYS_MPC85XX_NO_RESETVEC
|
config SYS_MPC85XX_NO_RESETVEC
|
||||||
bool "Discard resetvec section and move bootpg section up"
|
bool "Discard resetvec section and move bootpg section up"
|
||||||
depends on MPC85xx
|
depends on MPC85xx && !MPC85XX_HAVE_RESET_VECTOR
|
||||||
help
|
help
|
||||||
If this variable is specified, the section .resetvec is not kept and
|
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.
|
the section .bootpg is placed in the previous 4k of the .text section.
|
||||||
|
|
||||||
config SPL_SYS_MPC85XX_NO_RESETVEC
|
config SPL_SYS_MPC85XX_NO_RESETVEC
|
||||||
bool "Discard resetvec section and move bootpg section up, in SPL"
|
bool "Discard resetvec section and move bootpg section up, in SPL"
|
||||||
depends on MPC85xx && SPL
|
depends on MPC85xx && SPL && !MPC85XX_HAVE_RESET_VECTOR
|
||||||
help
|
help
|
||||||
If this variable is specified, the section .resetvec is not kept and
|
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,
|
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
|
config TPL_SYS_MPC85XX_NO_RESETVEC
|
||||||
bool "Discard resetvec section and move bootpg section up, in TPL"
|
bool "Discard resetvec section and move bootpg section up, in TPL"
|
||||||
depends on MPC85xx && TPL
|
depends on MPC85xx && TPL && !MPC85XX_HAVE_RESET_VECTOR
|
||||||
help
|
help
|
||||||
If this variable is specified, the section .resetvec is not kept and
|
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,
|
the section .bootpg is placed in the previous 4k of the .text section,
|
||||||
|
|||||||
@@ -3,11 +3,26 @@
|
|||||||
# (C) Copyright 2002,2003 Motorola Inc.
|
# (C) Copyright 2002,2003 Motorola Inc.
|
||||||
# Xianghua Xiao, X.Xiao@motorola.com
|
# 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
|
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
|
# see "[PATCH,rs6000] make -mno-spe work as expected" on
|
||||||
# http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00311.html
|
# http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00311.html
|
||||||
PLATFORM_CPPFLAGS += $(call cc-option,-mspe=yes) \
|
PLATFORM_CPPFLAGS += $(call cc-option,-mno-spe) \
|
||||||
$(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 LOAD_LONG(reg, idx) ld reg, (idx*SIZE_LONG)(sp)
|
||||||
#define PE_MACHINE IMAGE_FILE_MACHINE_RISCV64
|
#define PE_MACHINE IMAGE_FILE_MACHINE_RISCV64
|
||||||
#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC
|
#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
|
#else
|
||||||
#define SIZE_LONG 4
|
#define SIZE_LONG 4
|
||||||
#define SAVE_LONG(reg, idx) sw reg, (idx*SIZE_LONG)(sp)
|
#define SAVE_LONG(reg, idx) sw reg, (idx*SIZE_LONG)(sp)
|
||||||
#define LOAD_LONG(reg, idx) lw 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_MACHINE IMAGE_FILE_MACHINE_RISCV32
|
||||||
#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC
|
#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
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -47,11 +58,7 @@ coff_header:
|
|||||||
.long 0 /* PointerToSymbolTable */
|
.long 0 /* PointerToSymbolTable */
|
||||||
.long 0 /* NumberOfSymbols */
|
.long 0 /* NumberOfSymbols */
|
||||||
.short section_table - optional_header /* SizeOfOptionalHeader */
|
.short section_table - optional_header /* SizeOfOptionalHeader */
|
||||||
/* Characteristics */
|
.short IMG_CHARACTERISTICS /* Characteristics */
|
||||||
.short (IMAGE_FILE_EXECUTABLE_IMAGE | \
|
|
||||||
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
|
||||||
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
|
||||||
IMAGE_FILE_DEBUG_STRIPPED)
|
|
||||||
optional_header:
|
optional_header:
|
||||||
.short PE_MAGIC /* PE32(+) format */
|
.short PE_MAGIC /* PE32(+) format */
|
||||||
.byte 0x02 /* MajorLinkerVersion */
|
.byte 0x02 /* MajorLinkerVersion */
|
||||||
|
|||||||
@@ -724,16 +724,19 @@ config RAMBOOT_PBL
|
|||||||
For more details refer to doc/README.pblimage
|
For more details refer to doc/README.pblimage
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Freescale PBL load location"
|
prompt "Freescale PBL (or predecessor) load location"
|
||||||
depends on RAMBOOT_PBL || ((TARGET_P1010RDB_PA || TARGET_P1010RDB_PB \
|
depends on RAMBOOT_PBL || ((TARGET_P1010RDB_PA || TARGET_P1010RDB_PB \
|
||||||
|| TARGET_P1020RDB_PC || TARGET_P1020RDB_PD || TARGET_P2020RDB) \
|
|| TARGET_P1020RDB_PC || TARGET_P1020RDB_PD || TARGET_P2020RDB) \
|
||||||
&& !CMD_NAND)
|
&& !CMD_NAND)
|
||||||
|
|
||||||
config SDCARD
|
config SDCARD
|
||||||
bool "Freescale PBL is found on SD card"
|
bool "Freescale PBL (or similar) is found on SD card"
|
||||||
|
|
||||||
config SPIFLASH
|
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
|
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
|
* Scenario 2: If there is an fdt_addr specified, pass it along to
|
||||||
* bootm, and adjust argc appropriately.
|
* 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");
|
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])
|
if (!bootm_argv[3])
|
||||||
bootm_argv[3] = env_get("fdt_addr");
|
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[3]) {
|
||||||
if (!bootm_argv[2])
|
if (!bootm_argv[2])
|
||||||
bootm_argv[2] = "-";
|
bootm_argv[2] = "-";
|
||||||
bootm_argc = 4;
|
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 */
|
/* Try bootm for legacy and FIT format image */
|
||||||
if (genimg_get_format(buf) != IMAGE_FORMAT_INVALID &&
|
if (genimg_get_format(buf) != IMAGE_FORMAT_INVALID &&
|
||||||
IS_ENABLED(CONFIG_CMD_BOOTM))
|
IS_ENABLED(CONFIG_CMD_BOOTM))
|
||||||
|
|||||||
@@ -1814,7 +1814,7 @@ config SYS_DISABLE_AUTOLOAD
|
|||||||
|
|
||||||
config CMD_WGET
|
config CMD_WGET
|
||||||
bool "wget"
|
bool "wget"
|
||||||
select TCP
|
select PROT_TCP
|
||||||
help
|
help
|
||||||
wget is a simple command to download kernel, or other files,
|
wget is a simple command to download kernel, or other files,
|
||||||
from a http server over TCP.
|
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;
|
u32 i;
|
||||||
u16 *bootorder;
|
u16 *bootorder;
|
||||||
efi_status_t ret;
|
efi_status_t ret;
|
||||||
u16 *var_name16 = NULL, *p;
|
u16 *var_name16 = NULL;
|
||||||
efi_uintn_t num, size, buf_size;
|
efi_uintn_t num, size, buf_size;
|
||||||
struct efimenu *efi_menu;
|
struct efimenu *efi_menu;
|
||||||
struct list_head *pos, *n;
|
struct list_head *pos, *n;
|
||||||
@@ -1718,24 +1718,12 @@ static efi_status_t eficonfig_show_boot_selection(unsigned int *selected)
|
|||||||
int index;
|
int index;
|
||||||
efi_guid_t guid;
|
efi_guid_t guid;
|
||||||
|
|
||||||
size = buf_size;
|
ret = efi_next_variable_name(&buf_size, &var_name16, &guid);
|
||||||
ret = efi_get_next_variable_name_int(&size, var_name16, &guid);
|
|
||||||
if (ret == EFI_NOT_FOUND)
|
if (ret == EFI_NOT_FOUND)
|
||||||
break;
|
break;
|
||||||
if (ret == EFI_BUFFER_TOO_SMALL) {
|
if (ret != EFI_SUCCESS)
|
||||||
buf_size = size;
|
goto out;
|
||||||
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 (efi_varname_is_load_option(var_name16, &index)) {
|
if (efi_varname_is_load_option(var_name16, &index)) {
|
||||||
/* If the index is included in the BootOrder, skip it */
|
/* If the index is included in the BootOrder, skip it */
|
||||||
if (search_bootorder(bootorder, num, index, NULL))
|
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;
|
u32 i;
|
||||||
char *title;
|
char *title;
|
||||||
efi_status_t ret;
|
efi_status_t ret;
|
||||||
u16 *var_name16 = NULL, *p;
|
u16 *var_name16 = NULL;
|
||||||
efi_uintn_t size, buf_size;
|
efi_uintn_t size, buf_size;
|
||||||
|
|
||||||
/* list the load option in the order of BootOrder variable */
|
/* 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;
|
break;
|
||||||
|
|
||||||
size = buf_size;
|
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)
|
if (ret == EFI_NOT_FOUND)
|
||||||
break;
|
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)
|
if (ret != EFI_SUCCESS)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
@@ -2332,14 +2310,15 @@ out:
|
|||||||
efi_status_t eficonfig_delete_invalid_boot_option(struct eficonfig_media_boot_option *opt,
|
efi_status_t eficonfig_delete_invalid_boot_option(struct eficonfig_media_boot_option *opt,
|
||||||
efi_status_t count)
|
efi_status_t count)
|
||||||
{
|
{
|
||||||
u32 i;
|
|
||||||
efi_uintn_t size;
|
efi_uintn_t size;
|
||||||
void *load_option;
|
void *load_option;
|
||||||
|
u32 i, list_size = 0;
|
||||||
struct efi_load_option lo;
|
struct efi_load_option lo;
|
||||||
u16 *var_name16 = NULL, *p;
|
u16 *var_name16 = NULL;
|
||||||
u16 varname[] = u"Boot####";
|
u16 varname[] = u"Boot####";
|
||||||
efi_status_t ret = EFI_SUCCESS;
|
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;
|
buf_size = 128;
|
||||||
var_name16 = malloc(buf_size);
|
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_guid_t guid;
|
||||||
efi_uintn_t tmp;
|
efi_uintn_t tmp;
|
||||||
|
|
||||||
varname_size = buf_size;
|
ret = efi_next_variable_name(&buf_size, &var_name16, &guid);
|
||||||
ret = efi_get_next_variable_name_int(&varname_size, var_name16, &guid);
|
if (ret == EFI_NOT_FOUND) {
|
||||||
if (ret == EFI_NOT_FOUND)
|
/*
|
||||||
|
* EFI_NOT_FOUND indicates we retrieved all EFI variables.
|
||||||
|
* This should be treated as success.
|
||||||
|
*/
|
||||||
|
ret = EFI_SUCCESS;
|
||||||
break;
|
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))
|
if (!efi_varname_is_load_option(var_name16, &index))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -2383,30 +2356,47 @@ efi_status_t eficonfig_delete_invalid_boot_option(struct eficonfig_media_boot_op
|
|||||||
if (ret != EFI_SUCCESS)
|
if (ret != EFI_SUCCESS)
|
||||||
goto next;
|
goto next;
|
||||||
|
|
||||||
if (size >= sizeof(efi_guid_bootmenu_auto_generated)) {
|
if (size >= sizeof(efi_guid_bootmenu_auto_generated) &&
|
||||||
if (guidcmp(lo.optional_data, &efi_guid_bootmenu_auto_generated) == 0) {
|
!guidcmp(lo.optional_data, &efi_guid_bootmenu_auto_generated)) {
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
if (opt[i].size == tmp &&
|
if (opt[i].size == tmp &&
|
||||||
memcmp(opt[i].lo, load_option, tmp) == 0) {
|
memcmp(opt[i].lo, load_option, tmp) == 0) {
|
||||||
opt[i].exist = true;
|
opt[i].exist = true;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (i == count) {
|
/*
|
||||||
ret = delete_boot_option(i);
|
* The entire list of variables must be retrieved by
|
||||||
if (ret != EFI_SUCCESS) {
|
* efi_get_next_variable_name_int() before deleting the invalid
|
||||||
free(load_option);
|
* boot option, just save the index here.
|
||||||
goto out;
|
*/
|
||||||
}
|
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:
|
next:
|
||||||
free(load_option);
|
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:
|
out:
|
||||||
|
free(var_name16);
|
||||||
|
free(delete_index_list);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -72,6 +72,28 @@ static bool file_have_auth_header(void *buf, efi_uintn_t size)
|
|||||||
return true;
|
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
|
* 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;
|
char *buf = NULL;
|
||||||
efi_uintn_t size;
|
efi_uintn_t size;
|
||||||
efi_status_t ret;
|
efi_status_t ret;
|
||||||
|
bool null_key = false;
|
||||||
struct efi_file_handle *f = NULL;
|
struct efi_file_handle *f = NULL;
|
||||||
struct efi_device_path *full_dp = NULL;
|
struct efi_device_path *full_dp = NULL;
|
||||||
struct eficonfig_select_file_info file_info;
|
struct eficonfig_select_file_info file_info;
|
||||||
@@ -149,13 +172,24 @@ static efi_status_t eficonfig_process_enroll_key(void *data)
|
|||||||
goto out;
|
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 |
|
attr = EFI_VARIABLE_NON_VOLATILE |
|
||||||
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
||||||
EFI_VARIABLE_RUNTIME_ACCESS |
|
EFI_VARIABLE_RUNTIME_ACCESS |
|
||||||
EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_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;
|
efi_uintn_t db_size = 0;
|
||||||
|
|
||||||
/* check the variable exists. If exists, add APPEND_WRITE attribute */
|
/* 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,
|
static int do_efi_show_memmap(struct cmd_tbl *cmdtp, int flag,
|
||||||
int argc, char *const argv[])
|
int argc, char *const argv[])
|
||||||
{
|
{
|
||||||
struct efi_mem_desc *memmap = NULL, *map;
|
struct efi_mem_desc *memmap, *map;
|
||||||
efi_uintn_t map_size = 0;
|
efi_uintn_t map_size;
|
||||||
const char *type;
|
const char *type;
|
||||||
int i;
|
int i;
|
||||||
efi_status_t ret;
|
efi_status_t ret;
|
||||||
|
|
||||||
ret = efi_get_memory_map(&map_size, memmap, NULL, NULL, NULL);
|
ret = efi_get_memory_map_alloc(&map_size, &memmap);
|
||||||
if (ret == EFI_BUFFER_TOO_SMALL) {
|
if (ret != EFI_SUCCESS)
|
||||||
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);
|
|
||||||
return CMD_RET_FAILURE;
|
return CMD_RET_FAILURE;
|
||||||
}
|
|
||||||
|
|
||||||
printf("Type Start%.*s End%.*s Attributes\n",
|
printf("Type Start%.*s End%.*s Attributes\n",
|
||||||
EFI_PHYS_ADDR_WIDTH - 5, spc, EFI_PHYS_ADDR_WIDTH - 3, spc);
|
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 ret = 0;
|
||||||
int msec = 1000;
|
int msec = 1000;
|
||||||
int freq = 400;
|
int freq = 400;
|
||||||
|
bool first = true;
|
||||||
if (argc > 1)
|
|
||||||
msec = dectoul(argv[1], NULL);
|
|
||||||
if (argc > 2)
|
|
||||||
freq = dectoul(argv[2], NULL);
|
|
||||||
|
|
||||||
ret = uclass_first_device_err(UCLASS_SOUND, &dev);
|
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);
|
ret = sound_beep(dev, msec, freq);
|
||||||
if (ret) {
|
if (ret)
|
||||||
printf("Sound device failed to play (err=%d)\n", ret);
|
goto err;
|
||||||
return CMD_RET_FAILURE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err:
|
||||||
|
printf("Sound device failed to play (err=%d)\n", ret);
|
||||||
|
return CMD_RET_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct cmd_tbl cmd_sound_sub[] = {
|
static struct cmd_tbl cmd_sound_sub[] = {
|
||||||
U_BOOT_CMD_MKENT(init, 0, 1, do_init, "", ""),
|
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 */
|
/* process sound command */
|
||||||
@@ -83,8 +96,10 @@ static int do_sound(struct cmd_tbl *cmdtp, int flag, int argc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
U_BOOT_CMD(
|
U_BOOT_CMD(
|
||||||
sound, 4, 1, do_sound,
|
sound, INT_MAX, 1, do_sound,
|
||||||
"sound sub-system",
|
"sound sub-system",
|
||||||
"init - initialise the sound driver\n"
|
"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;
|
phys_size_t ram_size = gd->ram_size;
|
||||||
|
|
||||||
|
#ifdef CONFIG_MPC85xx
|
||||||
/*
|
/*
|
||||||
* Check for overflow and limit ram size to some representable value.
|
* Check for overflow and limit ram size to some representable value.
|
||||||
* It is required that ram_base + ram_size must be representable by
|
* 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)
|
if (gd->ram_base + ram_size < gd->ram_base)
|
||||||
ram_size = ((phys_size_t)~0xfffULL) - gd->ram_base;
|
ram_size = ((phys_size_t)~0xfffULL) - gd->ram_base;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_MAX_MEM_MAPPED
|
#ifndef CONFIG_MAX_MEM_MAPPED
|
||||||
return ram_size;
|
return ram_size;
|
||||||
|
|||||||
@@ -1481,6 +1481,7 @@ config SPL_AM33XX_ENABLE_RTC32K_OSC
|
|||||||
config SPL_OPTEE_IMAGE
|
config SPL_OPTEE_IMAGE
|
||||||
bool "Support OP-TEE Trusted OS image in SPL"
|
bool "Support OP-TEE Trusted OS image in SPL"
|
||||||
depends on ARM
|
depends on ARM
|
||||||
|
depends on SPL_LOAD_FIT || SPL_LOAD_FIT_FULL
|
||||||
help
|
help
|
||||||
OP-TEE is an open source Trusted OS which is loaded by SPL.
|
OP-TEE is an open source Trusted OS which is loaded by SPL.
|
||||||
More detail at: https://github.com/OP-TEE/optee_os
|
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_TARGET_P1010RDB_PA=y
|
||||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||||
CONFIG_ENABLE_36BIT_PHYS=y
|
CONFIG_ENABLE_36BIT_PHYS=y
|
||||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
|
||||||
CONFIG_PCIE1=y
|
CONFIG_PCIE1=y
|
||||||
CONFIG_PCIE2=y
|
CONFIG_PCIE2=y
|
||||||
CONFIG_PHYS_64BIT=y
|
CONFIG_PHYS_64BIT=y
|
||||||
@@ -19,7 +18,7 @@ CONFIG_FIT=y
|
|||||||
CONFIG_FIT_VERBOSE=y
|
CONFIG_FIT_VERBOSE=y
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
CONFIG_OF_BOARD_SETUP=y
|
||||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
CONFIG_NO_PBL=y
|
||||||
CONFIG_BOOTDELAY=10
|
CONFIG_BOOTDELAY=10
|
||||||
CONFIG_USE_BOOTCOMMAND=y
|
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"
|
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_TARGET_P1010RDB_PA=y
|
||||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||||
CONFIG_ENABLE_36BIT_PHYS=y
|
CONFIG_ENABLE_36BIT_PHYS=y
|
||||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
|
||||||
CONFIG_PCIE1=y
|
CONFIG_PCIE1=y
|
||||||
CONFIG_PCIE2=y
|
CONFIG_PCIE2=y
|
||||||
CONFIG_SYS_MONITOR_LEN=786432
|
CONFIG_SYS_MONITOR_LEN=786432
|
||||||
@@ -18,7 +17,7 @@ CONFIG_FIT=y
|
|||||||
CONFIG_FIT_VERBOSE=y
|
CONFIG_FIT_VERBOSE=y
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
CONFIG_OF_BOARD_SETUP=y
|
||||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
CONFIG_NO_PBL=y
|
||||||
CONFIG_BOOTDELAY=10
|
CONFIG_BOOTDELAY=10
|
||||||
CONFIG_USE_BOOTCOMMAND=y
|
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"
|
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_TARGET_P1010RDB_PB=y
|
||||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||||
CONFIG_ENABLE_36BIT_PHYS=y
|
CONFIG_ENABLE_36BIT_PHYS=y
|
||||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
|
||||||
CONFIG_PCIE1=y
|
CONFIG_PCIE1=y
|
||||||
CONFIG_PCIE2=y
|
CONFIG_PCIE2=y
|
||||||
CONFIG_PHYS_64BIT=y
|
CONFIG_PHYS_64BIT=y
|
||||||
@@ -19,7 +18,7 @@ CONFIG_FIT=y
|
|||||||
CONFIG_FIT_VERBOSE=y
|
CONFIG_FIT_VERBOSE=y
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
CONFIG_OF_BOARD_SETUP=y
|
||||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
CONFIG_NO_PBL=y
|
||||||
CONFIG_BOOTDELAY=10
|
CONFIG_BOOTDELAY=10
|
||||||
CONFIG_USE_BOOTCOMMAND=y
|
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"
|
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_TARGET_P1010RDB_PB=y
|
||||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||||
CONFIG_ENABLE_36BIT_PHYS=y
|
CONFIG_ENABLE_36BIT_PHYS=y
|
||||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
|
||||||
CONFIG_PCIE1=y
|
CONFIG_PCIE1=y
|
||||||
CONFIG_PCIE2=y
|
CONFIG_PCIE2=y
|
||||||
CONFIG_SYS_MONITOR_LEN=786432
|
CONFIG_SYS_MONITOR_LEN=786432
|
||||||
@@ -18,7 +17,7 @@ CONFIG_FIT=y
|
|||||||
CONFIG_FIT_VERBOSE=y
|
CONFIG_FIT_VERBOSE=y
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
CONFIG_OF_BOARD_SETUP=y
|
||||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
CONFIG_NO_PBL=y
|
||||||
CONFIG_BOOTDELAY=10
|
CONFIG_BOOTDELAY=10
|
||||||
CONFIG_USE_BOOTCOMMAND=y
|
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"
|
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_TARGET_P1020RDB_PC=y
|
||||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||||
CONFIG_ENABLE_36BIT_PHYS=y
|
CONFIG_ENABLE_36BIT_PHYS=y
|
||||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
|
||||||
CONFIG_PCIE1=y
|
CONFIG_PCIE1=y
|
||||||
CONFIG_PCIE2=y
|
CONFIG_PCIE2=y
|
||||||
CONFIG_PHYS_64BIT=y
|
CONFIG_PHYS_64BIT=y
|
||||||
@@ -21,7 +20,7 @@ CONFIG_FIT=y
|
|||||||
CONFIG_FIT_VERBOSE=y
|
CONFIG_FIT_VERBOSE=y
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
CONFIG_OF_BOARD_SETUP=y
|
||||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
CONFIG_NO_PBL=y
|
||||||
CONFIG_BOOTDELAY=10
|
CONFIG_BOOTDELAY=10
|
||||||
CONFIG_USE_BOOTCOMMAND=y
|
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"
|
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_TARGET_P1020RDB_PC=y
|
||||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||||
CONFIG_ENABLE_36BIT_PHYS=y
|
CONFIG_ENABLE_36BIT_PHYS=y
|
||||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
|
||||||
CONFIG_PCIE1=y
|
CONFIG_PCIE1=y
|
||||||
CONFIG_PCIE2=y
|
CONFIG_PCIE2=y
|
||||||
CONFIG_SYS_MONITOR_LEN=786432
|
CONFIG_SYS_MONITOR_LEN=786432
|
||||||
@@ -20,7 +19,7 @@ CONFIG_FIT=y
|
|||||||
CONFIG_FIT_VERBOSE=y
|
CONFIG_FIT_VERBOSE=y
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
CONFIG_OF_BOARD_SETUP=y
|
||||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
CONFIG_NO_PBL=y
|
||||||
CONFIG_BOOTDELAY=10
|
CONFIG_BOOTDELAY=10
|
||||||
CONFIG_USE_BOOTCOMMAND=y
|
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"
|
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_TARGET_P1020RDB_PD=y
|
||||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||||
CONFIG_ENABLE_36BIT_PHYS=y
|
CONFIG_ENABLE_36BIT_PHYS=y
|
||||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
|
||||||
CONFIG_PCIE1=y
|
CONFIG_PCIE1=y
|
||||||
CONFIG_PCIE2=y
|
CONFIG_PCIE2=y
|
||||||
CONFIG_SYS_MONITOR_LEN=786432
|
CONFIG_SYS_MONITOR_LEN=786432
|
||||||
@@ -20,7 +19,7 @@ CONFIG_FIT=y
|
|||||||
CONFIG_FIT_VERBOSE=y
|
CONFIG_FIT_VERBOSE=y
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
CONFIG_OF_BOARD_SETUP=y
|
||||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
CONFIG_NO_PBL=y
|
||||||
CONFIG_BOOTDELAY=10
|
CONFIG_BOOTDELAY=10
|
||||||
CONFIG_USE_BOOTCOMMAND=y
|
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"
|
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_TARGET_P2020RDB=y
|
||||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||||
CONFIG_ENABLE_36BIT_PHYS=y
|
CONFIG_ENABLE_36BIT_PHYS=y
|
||||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
|
||||||
CONFIG_PCIE1=y
|
CONFIG_PCIE1=y
|
||||||
CONFIG_PCIE2=y
|
CONFIG_PCIE2=y
|
||||||
CONFIG_PHYS_64BIT=y
|
CONFIG_PHYS_64BIT=y
|
||||||
@@ -21,7 +20,7 @@ CONFIG_FIT=y
|
|||||||
CONFIG_FIT_VERBOSE=y
|
CONFIG_FIT_VERBOSE=y
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
CONFIG_OF_BOARD_SETUP=y
|
||||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
CONFIG_NO_PBL=y
|
||||||
CONFIG_BOOTDELAY=10
|
CONFIG_BOOTDELAY=10
|
||||||
CONFIG_USE_BOOTCOMMAND=y
|
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"
|
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_TARGET_P2020RDB=y
|
||||||
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
|
||||||
CONFIG_ENABLE_36BIT_PHYS=y
|
CONFIG_ENABLE_36BIT_PHYS=y
|
||||||
CONFIG_SYS_MPC85XX_NO_RESETVEC=y
|
|
||||||
CONFIG_PCIE1=y
|
CONFIG_PCIE1=y
|
||||||
CONFIG_PCIE2=y
|
CONFIG_PCIE2=y
|
||||||
CONFIG_SYS_MONITOR_LEN=786432
|
CONFIG_SYS_MONITOR_LEN=786432
|
||||||
@@ -20,7 +19,7 @@ CONFIG_FIT=y
|
|||||||
CONFIG_FIT_VERBOSE=y
|
CONFIG_FIT_VERBOSE=y
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
CONFIG_OF_BOARD_SETUP=y
|
||||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||||
CONFIG_FSL_FIXED_MMC_LOCATION=y
|
CONFIG_NO_PBL=y
|
||||||
CONFIG_BOOTDELAY=10
|
CONFIG_BOOTDELAY=10
|
||||||
CONFIG_USE_BOOTCOMMAND=y
|
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"
|
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_PWM_ROCKCHIP=y
|
||||||
CONFIG_RAM=y
|
CONFIG_RAM=y
|
||||||
CONFIG_SPL_RAM=y
|
CONFIG_SPL_RAM=y
|
||||||
|
CONFIG_DM_RESET=y
|
||||||
CONFIG_DEBUG_UART_SHIFT=2
|
CONFIG_DEBUG_UART_SHIFT=2
|
||||||
CONFIG_SYSRESET=y
|
CONFIG_SYSRESET=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
|
|||||||
@@ -64,4 +64,5 @@ CONFIG_DM_RESET=y
|
|||||||
CONFIG_BAUDRATE=1500000
|
CONFIG_BAUDRATE=1500000
|
||||||
CONFIG_DEBUG_UART_SHIFT=2
|
CONFIG_DEBUG_UART_SHIFT=2
|
||||||
CONFIG_SYSRESET=y
|
CONFIG_SYSRESET=y
|
||||||
|
# CONFIG_BINMAN_FDT is not set
|
||||||
CONFIG_ERRNO_STR=y
|
CONFIG_ERRNO_STR=y
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ CONFIG_DM_REGULATOR_FIXED=y
|
|||||||
CONFIG_PWM_ROCKCHIP=y
|
CONFIG_PWM_ROCKCHIP=y
|
||||||
CONFIG_RAM=y
|
CONFIG_RAM=y
|
||||||
CONFIG_SPL_RAM=y
|
CONFIG_SPL_RAM=y
|
||||||
|
CONFIG_DM_RESET=y
|
||||||
CONFIG_DEBUG_UART_SHIFT=2
|
CONFIG_DEBUG_UART_SHIFT=2
|
||||||
CONFIG_SYSRESET=y
|
CONFIG_SYSRESET=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
|
|||||||
@@ -65,7 +65,6 @@ CONFIG_CMD_DNS=y
|
|||||||
CONFIG_CMD_BMP=y
|
CONFIG_CMD_BMP=y
|
||||||
CONFIG_CMD_BOOTCOUNT=y
|
CONFIG_CMD_BOOTCOUNT=y
|
||||||
CONFIG_CMD_CACHE=y
|
CONFIG_CMD_CACHE=y
|
||||||
CONFIG_CMD_CLS=y
|
|
||||||
CONFIG_CMD_TIME=y
|
CONFIG_CMD_TIME=y
|
||||||
CONFIG_CMD_PMIC=y
|
CONFIG_CMD_PMIC=y
|
||||||
CONFIG_CMD_REGULATOR=y
|
CONFIG_CMD_REGULATOR=y
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ CONFIG_CMD_PCI=y
|
|||||||
CONFIG_CMD_BMP=y
|
CONFIG_CMD_BMP=y
|
||||||
CONFIG_CMD_BOOTCOUNT=y
|
CONFIG_CMD_BOOTCOUNT=y
|
||||||
CONFIG_CMD_CACHE=y
|
CONFIG_CMD_CACHE=y
|
||||||
CONFIG_CMD_CLS=y
|
|
||||||
CONFIG_CMD_EXT2=y
|
CONFIG_CMD_EXT2=y
|
||||||
CONFIG_CMD_EXT4=y
|
CONFIG_CMD_EXT4=y
|
||||||
CONFIG_CMD_EXT4_WRITE=y
|
CONFIG_CMD_EXT4_WRITE=y
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ CONFIG_DM_REGULATOR_FIXED=y
|
|||||||
CONFIG_PWM_ROCKCHIP=y
|
CONFIG_PWM_ROCKCHIP=y
|
||||||
CONFIG_RAM=y
|
CONFIG_RAM=y
|
||||||
CONFIG_SPL_RAM=y
|
CONFIG_SPL_RAM=y
|
||||||
|
CONFIG_DM_RESET=y
|
||||||
CONFIG_DEBUG_UART_SHIFT=2
|
CONFIG_DEBUG_UART_SHIFT=2
|
||||||
CONFIG_SYSRESET=y
|
CONFIG_SYSRESET=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ CONFIG_CMD_DHCP=y
|
|||||||
CONFIG_CMD_MII=y
|
CONFIG_CMD_MII=y
|
||||||
CONFIG_CMD_PING=y
|
CONFIG_CMD_PING=y
|
||||||
CONFIG_CMD_BOOTCOUNT=y
|
CONFIG_CMD_BOOTCOUNT=y
|
||||||
CONFIG_CMD_CLS=y
|
|
||||||
CONFIG_CMD_EXT2=y
|
CONFIG_CMD_EXT2=y
|
||||||
CONFIG_CMD_EXT4=y
|
CONFIG_CMD_EXT4=y
|
||||||
CONFIG_CMD_EXT4_WRITE=y
|
CONFIG_CMD_EXT4_WRITE=y
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ CONFIG_CMD_TIME=y
|
|||||||
CONFIG_SPL_OF_CONTROL=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_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_IS_IN_SPI_FLASH=y
|
||||||
CONFIG_ENV_SPI_MAX_HZ=30000000
|
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||||
CONFIG_SPL_DM_SEQ_ALIAS=y
|
CONFIG_SPL_DM_SEQ_ALIAS=y
|
||||||
CONFIG_ROCKCHIP_GPIO=y
|
CONFIG_ROCKCHIP_GPIO=y
|
||||||
@@ -82,7 +81,6 @@ CONFIG_USB_EHCI_HCD=y
|
|||||||
CONFIG_USB_EHCI_GENERIC=y
|
CONFIG_USB_EHCI_GENERIC=y
|
||||||
CONFIG_USB_OHCI_HCD=y
|
CONFIG_USB_OHCI_HCD=y
|
||||||
CONFIG_USB_OHCI_GENERIC=y
|
CONFIG_USB_OHCI_GENERIC=y
|
||||||
CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
|
||||||
CONFIG_USB_DWC3=y
|
CONFIG_USB_DWC3=y
|
||||||
CONFIG_USB_DWC3_GENERIC=y
|
CONFIG_USB_DWC3_GENERIC=y
|
||||||
CONFIG_USB_KEYBOARD=y
|
CONFIG_USB_KEYBOARD=y
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ CONFIG_SPL_STACK_R=y
|
|||||||
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||||
CONFIG_TPL=y
|
CONFIG_TPL=y
|
||||||
CONFIG_CMD_BOOTZ=y
|
CONFIG_CMD_BOOTZ=y
|
||||||
|
CONFIG_CMD_NVEDIT_EFI=y
|
||||||
CONFIG_CMD_DFU=y
|
CONFIG_CMD_DFU=y
|
||||||
CONFIG_CMD_GPT=y
|
CONFIG_CMD_GPT=y
|
||||||
CONFIG_CMD_MMC=y
|
CONFIG_CMD_MMC=y
|
||||||
@@ -38,6 +39,7 @@ CONFIG_CMD_USB=y
|
|||||||
CONFIG_CMD_ROCKUSB=y
|
CONFIG_CMD_ROCKUSB=y
|
||||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||||
# CONFIG_CMD_SETEXPR is not set
|
# CONFIG_CMD_SETEXPR is not set
|
||||||
|
CONFIG_CMD_EFIDEBUG=y
|
||||||
CONFIG_CMD_TIME=y
|
CONFIG_CMD_TIME=y
|
||||||
CONFIG_SPL_OF_CONTROL=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_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_SPL_TINY_MEMSET=y
|
||||||
CONFIG_ERRNO_STR=y
|
CONFIG_ERRNO_STR=y
|
||||||
CONFIG_OF_LIBFDT_OVERLAY=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_ON_DISK=y
|
||||||
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=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_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||||
CONFIG_TPL=y
|
CONFIG_TPL=y
|
||||||
CONFIG_CMD_BOOTZ=y
|
CONFIG_CMD_BOOTZ=y
|
||||||
|
CONFIG_CMD_NVEDIT_EFI=y
|
||||||
CONFIG_CMD_DFU=y
|
CONFIG_CMD_DFU=y
|
||||||
CONFIG_CMD_GPT=y
|
CONFIG_CMD_GPT=y
|
||||||
CONFIG_CMD_MMC=y
|
CONFIG_CMD_MMC=y
|
||||||
@@ -38,6 +39,7 @@ CONFIG_CMD_USB=y
|
|||||||
CONFIG_CMD_ROCKUSB=y
|
CONFIG_CMD_ROCKUSB=y
|
||||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||||
# CONFIG_CMD_SETEXPR is not set
|
# CONFIG_CMD_SETEXPR is not set
|
||||||
|
CONFIG_CMD_EFIDEBUG=y
|
||||||
CONFIG_CMD_TIME=y
|
CONFIG_CMD_TIME=y
|
||||||
CONFIG_SPL_OF_CONTROL=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_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_SPL_TINY_MEMSET=y
|
||||||
CONFIG_ERRNO_STR=y
|
CONFIG_ERRNO_STR=y
|
||||||
CONFIG_OF_LIBFDT_OVERLAY=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_ON_DISK=y
|
||||||
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
|
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ CONFIG_PWM_ROCKCHIP=y
|
|||||||
CONFIG_RAM=y
|
CONFIG_RAM=y
|
||||||
CONFIG_SPL_RAM=y
|
CONFIG_SPL_RAM=y
|
||||||
# CONFIG_RAM_ROCKCHIP_DEBUG is not set
|
# CONFIG_RAM_ROCKCHIP_DEBUG is not set
|
||||||
|
CONFIG_DM_RESET=y
|
||||||
CONFIG_DEBUG_UART_SHIFT=2
|
CONFIG_DEBUG_UART_SHIFT=2
|
||||||
CONFIG_SYSRESET=y
|
CONFIG_SYSRESET=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ CONFIG_SPI_FLASH_WINBOND=y
|
|||||||
CONFIG_BITBANGMII=y
|
CONFIG_BITBANGMII=y
|
||||||
CONFIG_BITBANGMII_MULTI=y
|
CONFIG_BITBANGMII_MULTI=y
|
||||||
CONFIG_PHY_ATHEROS=y
|
CONFIG_PHY_ATHEROS=y
|
||||||
|
CONFIG_PHY_MICREL=y
|
||||||
|
CONFIG_PHY_MICREL_KSZ90X1=y
|
||||||
CONFIG_RENESAS_RAVB=y
|
CONFIG_RENESAS_RAVB=y
|
||||||
CONFIG_DM_REGULATOR=y
|
CONFIG_DM_REGULATOR=y
|
||||||
CONFIG_DM_REGULATOR_FIXED=y
|
CONFIG_DM_REGULATOR_FIXED=y
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ CONFIG_BOOTP_SEND_HOSTNAME=y
|
|||||||
CONFIG_NETCONSOLE=y
|
CONFIG_NETCONSOLE=y
|
||||||
CONFIG_IP_DEFRAG=y
|
CONFIG_IP_DEFRAG=y
|
||||||
CONFIG_BOOTP_SERVERIP=y
|
CONFIG_BOOTP_SERVERIP=y
|
||||||
|
CONFIG_IPV6=y
|
||||||
CONFIG_DM_DMA=y
|
CONFIG_DM_DMA=y
|
||||||
CONFIG_REGMAP=y
|
CONFIG_REGMAP=y
|
||||||
CONFIG_SYSCON=y
|
CONFIG_SYSCON=y
|
||||||
@@ -258,4 +259,3 @@ CONFIG_FWU_MULTI_BANK_UPDATE=y
|
|||||||
CONFIG_UNIT_TEST=y
|
CONFIG_UNIT_TEST=y
|
||||||
CONFIG_UT_TIME=y
|
CONFIG_UT_TIME=y
|
||||||
CONFIG_UT_DM=y
|
CONFIG_UT_DM=y
|
||||||
CONFIG_IPV6=y
|
|
||||||
|
|||||||
@@ -135,6 +135,7 @@ CONFIG_BOOTP_SEND_HOSTNAME=y
|
|||||||
CONFIG_NETCONSOLE=y
|
CONFIG_NETCONSOLE=y
|
||||||
CONFIG_IP_DEFRAG=y
|
CONFIG_IP_DEFRAG=y
|
||||||
CONFIG_BOOTP_SERVERIP=y
|
CONFIG_BOOTP_SERVERIP=y
|
||||||
|
CONFIG_IPV6=y
|
||||||
CONFIG_DM_DMA=y
|
CONFIG_DM_DMA=y
|
||||||
CONFIG_DEVRES=y
|
CONFIG_DEVRES=y
|
||||||
CONFIG_DEBUG_DEVRES=y
|
CONFIG_DEBUG_DEVRES=y
|
||||||
@@ -333,4 +334,3 @@ CONFIG_TEST_FDTDEC=y
|
|||||||
CONFIG_UNIT_TEST=y
|
CONFIG_UNIT_TEST=y
|
||||||
CONFIG_UT_TIME=y
|
CONFIG_UT_TIME=y
|
||||||
CONFIG_UT_DM=y
|
CONFIG_UT_DM=y
|
||||||
CONFIG_IPV6=y
|
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ CONFIG_BOOTP_SEND_HOSTNAME=y
|
|||||||
CONFIG_NETCONSOLE=y
|
CONFIG_NETCONSOLE=y
|
||||||
CONFIG_IP_DEFRAG=y
|
CONFIG_IP_DEFRAG=y
|
||||||
CONFIG_BOOTP_SERVERIP=y
|
CONFIG_BOOTP_SERVERIP=y
|
||||||
|
CONFIG_IPV6=y
|
||||||
CONFIG_DM_DMA=y
|
CONFIG_DM_DMA=y
|
||||||
CONFIG_REGMAP=y
|
CONFIG_REGMAP=y
|
||||||
CONFIG_SYSCON=y
|
CONFIG_SYSCON=y
|
||||||
@@ -216,4 +217,3 @@ CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
|
|||||||
CONFIG_UNIT_TEST=y
|
CONFIG_UNIT_TEST=y
|
||||||
CONFIG_UT_TIME=y
|
CONFIG_UT_TIME=y
|
||||||
CONFIG_UT_DM=y
|
CONFIG_UT_DM=y
|
||||||
CONFIG_IPV6=y
|
|
||||||
|
|||||||
@@ -72,10 +72,8 @@ CONFIG_CMD_CLK=y
|
|||||||
CONFIG_CMD_DFU=y
|
CONFIG_CMD_DFU=y
|
||||||
CONFIG_CMD_FUSE=y
|
CONFIG_CMD_FUSE=y
|
||||||
CONFIG_CMD_GPIO=y
|
CONFIG_CMD_GPIO=y
|
||||||
CONFIG_CMD_GPT=y
|
|
||||||
CONFIG_CMD_I2C=y
|
CONFIG_CMD_I2C=y
|
||||||
CONFIG_CMD_MMC=y
|
CONFIG_CMD_MMC=y
|
||||||
CONFIG_CMD_MTD=y
|
|
||||||
CONFIG_CMD_REMOTEPROC=y
|
CONFIG_CMD_REMOTEPROC=y
|
||||||
CONFIG_CMD_SPI=y
|
CONFIG_CMD_SPI=y
|
||||||
CONFIG_CMD_USB=y
|
CONFIG_CMD_USB=y
|
||||||
@@ -110,9 +108,6 @@ CONFIG_STM32_ADC=y
|
|||||||
CONFIG_SPL_BLOCK_CACHE=y
|
CONFIG_SPL_BLOCK_CACHE=y
|
||||||
CONFIG_BOOTCOUNT_LIMIT=y
|
CONFIG_BOOTCOUNT_LIMIT=y
|
||||||
CONFIG_SYS_BOOTCOUNT_MAGIC=0xB0C40000
|
CONFIG_SYS_BOOTCOUNT_MAGIC=0xB0C40000
|
||||||
CONFIG_DFU_MMC=y
|
|
||||||
CONFIG_DFU_MTD=y
|
|
||||||
CONFIG_DFU_RAM=y
|
|
||||||
CONFIG_GPIO_HOG=y
|
CONFIG_GPIO_HOG=y
|
||||||
CONFIG_DM_HWSPINLOCK=y
|
CONFIG_DM_HWSPINLOCK=y
|
||||||
CONFIG_HWSPINLOCK_STM32=y
|
CONFIG_HWSPINLOCK_STM32=y
|
||||||
|
|||||||
@@ -70,10 +70,8 @@ CONFIG_CMD_CLK=y
|
|||||||
CONFIG_CMD_DFU=y
|
CONFIG_CMD_DFU=y
|
||||||
CONFIG_CMD_FUSE=y
|
CONFIG_CMD_FUSE=y
|
||||||
CONFIG_CMD_GPIO=y
|
CONFIG_CMD_GPIO=y
|
||||||
CONFIG_CMD_GPT=y
|
|
||||||
CONFIG_CMD_I2C=y
|
CONFIG_CMD_I2C=y
|
||||||
CONFIG_CMD_MMC=y
|
CONFIG_CMD_MMC=y
|
||||||
CONFIG_CMD_MTD=y
|
|
||||||
CONFIG_CMD_REMOTEPROC=y
|
CONFIG_CMD_REMOTEPROC=y
|
||||||
CONFIG_CMD_SPI=y
|
CONFIG_CMD_SPI=y
|
||||||
CONFIG_CMD_USB=y
|
CONFIG_CMD_USB=y
|
||||||
@@ -107,9 +105,6 @@ CONFIG_STM32_ADC=y
|
|||||||
CONFIG_SPL_BLOCK_CACHE=y
|
CONFIG_SPL_BLOCK_CACHE=y
|
||||||
CONFIG_BOOTCOUNT_LIMIT=y
|
CONFIG_BOOTCOUNT_LIMIT=y
|
||||||
CONFIG_SYS_BOOTCOUNT_MAGIC=0xB0C40000
|
CONFIG_SYS_BOOTCOUNT_MAGIC=0xB0C40000
|
||||||
CONFIG_DFU_MMC=y
|
|
||||||
CONFIG_DFU_MTD=y
|
|
||||||
CONFIG_DFU_RAM=y
|
|
||||||
CONFIG_GPIO_HOG=y
|
CONFIG_GPIO_HOG=y
|
||||||
CONFIG_DM_HWSPINLOCK=y
|
CONFIG_DM_HWSPINLOCK=y
|
||||||
CONFIG_HWSPINLOCK_STM32=y
|
CONFIG_HWSPINLOCK_STM32=y
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ CONFIG_REGULATOR_RK8XX=y
|
|||||||
CONFIG_PWM_ROCKCHIP=y
|
CONFIG_PWM_ROCKCHIP=y
|
||||||
CONFIG_RAM=y
|
CONFIG_RAM=y
|
||||||
CONFIG_SPL_RAM=y
|
CONFIG_SPL_RAM=y
|
||||||
|
CONFIG_DM_RESET=y
|
||||||
CONFIG_DEBUG_UART_SHIFT=2
|
CONFIG_DEBUG_UART_SHIFT=2
|
||||||
CONFIG_SYSRESET=y
|
CONFIG_SYSRESET=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ CONFIG_REGULATOR_RK8XX=y
|
|||||||
CONFIG_PWM_ROCKCHIP=y
|
CONFIG_PWM_ROCKCHIP=y
|
||||||
CONFIG_RAM=y
|
CONFIG_RAM=y
|
||||||
CONFIG_SPL_RAM=y
|
CONFIG_SPL_RAM=y
|
||||||
|
CONFIG_DM_RESET=y
|
||||||
CONFIG_DEBUG_UART_SHIFT=2
|
CONFIG_DEBUG_UART_SHIFT=2
|
||||||
CONFIG_SYSRESET=y
|
CONFIG_SYSRESET=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ CONFIG_REGULATOR_RK8XX=y
|
|||||||
CONFIG_PWM_ROCKCHIP=y
|
CONFIG_PWM_ROCKCHIP=y
|
||||||
CONFIG_RAM=y
|
CONFIG_RAM=y
|
||||||
CONFIG_SPL_RAM=y
|
CONFIG_SPL_RAM=y
|
||||||
|
CONFIG_DM_RESET=y
|
||||||
CONFIG_DEBUG_UART_SHIFT=2
|
CONFIG_DEBUG_UART_SHIFT=2
|
||||||
CONFIG_SYSRESET=y
|
CONFIG_SYSRESET=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
|
|||||||
10
doc/Makefile
10
doc/Makefile
@@ -69,6 +69,14 @@ quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
|
|||||||
htmldocs:
|
htmldocs:
|
||||||
@+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,html,$(var),,$(var)))
|
@+$(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:
|
linkcheckdocs:
|
||||||
@$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,linkcheck,$(var),,$(var)))
|
@$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,linkcheck,$(var),,$(var)))
|
||||||
|
|
||||||
@@ -109,6 +117,8 @@ cleandocs:
|
|||||||
dochelp:
|
dochelp:
|
||||||
@echo ' U-Boot documentation in different formats from ReST:'
|
@echo ' U-Boot documentation in different formats from ReST:'
|
||||||
@echo ' htmldocs - HTML'
|
@echo ' htmldocs - HTML'
|
||||||
|
@echo ' texinfodocs - Texinfo'
|
||||||
|
@echo ' infodocs - Info'
|
||||||
@echo ' latexdocs - LaTeX'
|
@echo ' latexdocs - LaTeX'
|
||||||
@echo ' pdfdocs - PDF'
|
@echo ' pdfdocs - PDF'
|
||||||
@echo ' epubdocs - EPUB'
|
@echo ' epubdocs - EPUB'
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ QEMU PPC E500
|
|||||||
QEMU for PPC supports a special 'ppce500' machine designed for emulation and
|
QEMU for PPC supports a special 'ppce500' machine designed for emulation and
|
||||||
virtualization purposes. This document describes how to run U-Boot under it.
|
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
|
support for the VirtIO standard networking device connected to the built-in
|
||||||
PCI host controller. Some common devices in the CCSBAR space are modeled,
|
PCI host controller. Some common devices in the CCSBAR space are modeled,
|
||||||
including MPIC, 16550A UART devices, GPIO, I2C and PCI host controller with
|
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
|
Both qemu-system-ppc and qemu-system-ppc64 provide emulation for the following
|
||||||
32-bit PowerPC CPUs:
|
32-bit PowerPC CPUs:
|
||||||
|
|
||||||
|
* e500v1
|
||||||
* e500v2
|
* e500v2
|
||||||
* e500mc
|
* 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
|
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.
|
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
|
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
|
these SoCs are e500v1/e500v2 based MPC85xx series, hence you cannot test anything
|
||||||
built for P4080 (e500mc), P5020 (e5500) and T2080 (e6500).
|
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
|
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::
|
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
|
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||||
.. sectionauthor:: Tom Rini <trini@konsulko.com>
|
.. sectionauthor:: Tom Rini <trini@konsulko.com>
|
||||||
|
|
||||||
|
AM335x Generation
|
||||||
|
=================
|
||||||
|
|
||||||
Summary
|
Summary
|
||||||
=======
|
-------
|
||||||
|
|
||||||
This document covers various features of the `am335x_evm` default
|
This document covers various features of the `am335x_evm` default
|
||||||
configuration, some of the related defconfigs, and how to enable hardware
|
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
|
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||||
.. sectionauthor:: Vignesh Raghavendra <vigneshr@ti.com>
|
.. sectionauthor:: Vignesh Raghavendra <vigneshr@ti.com>
|
||||||
|
|
||||||
Texas Instruments AM62 Platforms
|
AM62 Platforms
|
||||||
================================
|
===============
|
||||||
|
|
||||||
Introduction:
|
Introduction:
|
||||||
-------------
|
-------------
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
.. SPDX-License-Identifier: GPL-2.0+
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
Texas Instruments
|
Texas Instruments
|
||||||
=================
|
#################
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
am335x_evm
|
am335x_evm
|
||||||
j721e_evm
|
k3
|
||||||
am62x_sk
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||||
.. sectionauthor:: Lokesh Vutla <lokeshvutla@ti.com>
|
.. sectionauthor:: Lokesh Vutla <lokeshvutla@ti.com>
|
||||||
|
|
||||||
Texas Instruments K3 Platforms
|
J721E Platforms
|
||||||
==============================
|
===============
|
||||||
|
|
||||||
Introduction:
|
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
|
docker
|
||||||
tools
|
tools
|
||||||
buildman
|
buildman
|
||||||
|
documentation
|
||||||
|
|||||||
@@ -449,7 +449,7 @@ for fn in os.listdir('.'):
|
|||||||
# One entry per manual page. List of tuples
|
# One entry per manual page. List of tuples
|
||||||
# (source start file, name, description, authors, manual section).
|
# (source start file, name, description, authors, manual section).
|
||||||
man_pages = [
|
man_pages = [
|
||||||
(master_doc, 'dasuboot', 'The U-Boot Documentation',
|
(master_doc, 'u-boot', 'The U-Boot Documentation',
|
||||||
[author], 1)
|
[author], 1)
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -463,8 +463,8 @@ man_pages = [
|
|||||||
# (source start file, target name, title, author,
|
# (source start file, target name, title, author,
|
||||||
# dir menu entry, description, category)
|
# dir menu entry, description, category)
|
||||||
texinfo_documents = [
|
texinfo_documents = [
|
||||||
(master_doc, 'DasUBoot', 'The U-Boot Documentation',
|
(master_doc, 'u-boot', 'The U-Boot Documentation',
|
||||||
author, 'DasUBoot', 'One line description of project.',
|
author, 'U-Boot', 'Boot loader for embedded systems',
|
||||||
'Miscellaneous'),
|
'Miscellaneous'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -48,12 +48,12 @@ Examples::
|
|||||||
Current Status
|
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
|
* The Merge Window for the next release (v2023.04) is **open** until -rc1
|
||||||
release on Mon 24 October 2022.
|
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
|
Future Releases
|
||||||
---------------
|
---------------
|
||||||
@@ -61,31 +61,29 @@ Future Releases
|
|||||||
.. The following commented out dates are for when release candidates are
|
.. The following commented out dates are for when release candidates are
|
||||||
planned to be tagged.
|
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.04-rc5 was released on Mon 27 March 2023.
|
||||||
|
|
||||||
.. * U-Boot v2023.01-rc6 was released on Mon 02 January 2023.
|
|
||||||
|
|
||||||
Please note that the following dates are planned only and may be deviated from
|
Please note that the following dates are planned only and may be deviated from
|
||||||
as needed.
|
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.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.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
|
* "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
|
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
|
<https://source.denx.de/u-boot/gitdm>`_, which was originally created by
|
||||||
Jonathan Corbet.
|
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.10` which was released on 03 October 2022.
|
||||||
|
|
||||||
* :doc:`statistics/u-boot-stats-v2022.07` which was released on 11 July 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
|
Release Statistics for U-Boot v1.3.0
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
* Processed 1153 csets from 102 developers
|
* Processed 1153 changesets from 102 developers
|
||||||
|
|
||||||
* 38 employers found
|
* 38 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v1.3.1
|
Release Statistics for U-Boot v1.3.1
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
* Processed 40 csets from 5 developers
|
* Processed 40 changesets from 5 developers
|
||||||
|
|
||||||
* 5 employers found
|
* 5 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v1.3.2
|
Release Statistics for U-Boot v1.3.2
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
* Processed 744 csets from 79 developers
|
* Processed 744 changesets from 79 developers
|
||||||
|
|
||||||
* 38 employers found
|
* 38 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v1.3.3
|
Release Statistics for U-Boot v1.3.3
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
* Processed 646 csets from 75 developers
|
* Processed 646 changesets from 75 developers
|
||||||
|
|
||||||
* 38 employers found
|
* 38 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v1.3.4
|
Release Statistics for U-Boot v1.3.4
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
* Processed 511 csets from 86 developers
|
* Processed 511 changesets from 86 developers
|
||||||
|
|
||||||
* 46 employers found
|
* 46 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2008.10
|
Release Statistics for U-Boot v2008.10
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 2498 csets from 174 developers
|
* Processed 2498 changesets from 174 developers
|
||||||
|
|
||||||
* 85 employers found
|
* 85 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2009.01
|
Release Statistics for U-Boot v2009.01
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 464 csets from 69 developers
|
* Processed 464 changesets from 69 developers
|
||||||
|
|
||||||
* 33 employers found
|
* 33 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2009.03
|
Release Statistics for U-Boot v2009.03
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 489 csets from 90 developers
|
* Processed 489 changesets from 90 developers
|
||||||
|
|
||||||
* 46 employers found
|
* 46 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2009.06
|
Release Statistics for U-Boot v2009.06
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 433 csets from 74 developers
|
* Processed 433 changesets from 74 developers
|
||||||
|
|
||||||
* 27 employers found
|
* 27 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2009.08
|
Release Statistics for U-Boot v2009.08
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 657 csets from 96 developers
|
* Processed 657 changesets from 96 developers
|
||||||
|
|
||||||
* 35 employers found
|
* 35 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2009.11
|
Release Statistics for U-Boot v2009.11
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 531 csets from 90 developers
|
* Processed 531 changesets from 90 developers
|
||||||
|
|
||||||
* 39 employers found
|
* 39 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2010.03
|
Release Statistics for U-Boot v2010.03
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 468 csets from 92 developers
|
* Processed 468 changesets from 92 developers
|
||||||
|
|
||||||
* 29 employers found
|
* 29 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2010.06
|
Release Statistics for U-Boot v2010.06
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 402 csets from 100 developers
|
* Processed 402 changesets from 100 developers
|
||||||
|
|
||||||
* 31 employers found
|
* 31 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2010.09
|
Release Statistics for U-Boot v2010.09
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 402 csets from 100 developers
|
* Processed 402 changesets from 100 developers
|
||||||
|
|
||||||
* 31 employers found
|
* 31 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2010.12
|
Release Statistics for U-Boot v2010.12
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 777 csets from 111 developers
|
* Processed 777 changesets from 111 developers
|
||||||
|
|
||||||
* 31 employers found
|
* 31 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2011.03
|
Release Statistics for U-Boot v2011.03
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 451 csets from 80 developers
|
* Processed 451 changesets from 80 developers
|
||||||
|
|
||||||
* 25 employers found
|
* 25 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2011.06
|
Release Statistics for U-Boot v2011.06
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 636 csets from 134 developers
|
* Processed 636 changesets from 134 developers
|
||||||
|
|
||||||
* 30 employers found
|
* 30 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2011.09
|
Release Statistics for U-Boot v2011.09
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 645 csets from 120 developers
|
* Processed 645 changesets from 120 developers
|
||||||
|
|
||||||
* 30 employers found
|
* 30 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2011.12
|
Release Statistics for U-Boot v2011.12
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1530 csets from 146 developers
|
* Processed 1530 changesets from 146 developers
|
||||||
|
|
||||||
* 34 employers found
|
* 34 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2012.04
|
Release Statistics for U-Boot v2012.04
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 773 csets from 126 developers
|
* Processed 773 changesets from 126 developers
|
||||||
|
|
||||||
* 36 employers found
|
* 36 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2012.07
|
Release Statistics for U-Boot v2012.07
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 775 csets from 114 developers
|
* Processed 775 changesets from 114 developers
|
||||||
|
|
||||||
* 29 employers found
|
* 29 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2012.12
|
Release Statistics for U-Boot v2012.12
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 925 csets from 134 developers
|
* Processed 925 changesets from 134 developers
|
||||||
|
|
||||||
* 31 employers found
|
* 31 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2013.07
|
Release Statistics for U-Boot v2013.07
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 948 csets from 162 developers
|
* Processed 948 changesets from 162 developers
|
||||||
|
|
||||||
* 30 employers found
|
* 30 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2013.10
|
Release Statistics for U-Boot v2013.10
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 710 csets from 135 developers
|
* Processed 710 changesets from 135 developers
|
||||||
|
|
||||||
* 28 employers found
|
* 28 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2014.01
|
Release Statistics for U-Boot v2014.01
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 980 csets from 154 developers
|
* Processed 980 changesets from 154 developers
|
||||||
|
|
||||||
* 31 employers found
|
* 31 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2014.04
|
Release Statistics for U-Boot v2014.04
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 769 csets from 109 developers
|
* Processed 769 changesets from 109 developers
|
||||||
|
|
||||||
* 26 employers found
|
* 26 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2014.07
|
Release Statistics for U-Boot v2014.07
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1074 csets from 146 developers
|
* Processed 1074 changesets from 146 developers
|
||||||
|
|
||||||
* 30 employers found
|
* 30 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2014.10
|
Release Statistics for U-Boot v2014.10
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1111 csets from 145 developers
|
* Processed 1111 changesets from 145 developers
|
||||||
|
|
||||||
* 24 employers found
|
* 24 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2015.01
|
Release Statistics for U-Boot v2015.01
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1588 csets from 162 developers
|
* Processed 1588 changesets from 162 developers
|
||||||
|
|
||||||
* 35 employers found
|
* 35 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2015.04
|
Release Statistics for U-Boot v2015.04
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1585 csets from 169 developers
|
* Processed 1585 changesets from 169 developers
|
||||||
|
|
||||||
* 36 employers found
|
* 36 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2015.07
|
Release Statistics for U-Boot v2015.07
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1563 csets from 156 developers
|
* Processed 1563 changesets from 156 developers
|
||||||
|
|
||||||
* 28 employers found
|
* 28 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2015.10
|
Release Statistics for U-Boot v2015.10
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 2069 csets from 182 developers
|
* Processed 2069 changesets from 182 developers
|
||||||
|
|
||||||
* 32 employers found
|
* 32 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2016.01
|
Release Statistics for U-Boot v2016.01
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1513 csets from 149 developers
|
* Processed 1513 changesets from 149 developers
|
||||||
|
|
||||||
* 33 employers found
|
* 33 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2016.03
|
Release Statistics for U-Boot v2016.03
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1375 csets from 126 developers
|
* Processed 1375 changesets from 126 developers
|
||||||
|
|
||||||
* 26 employers found
|
* 26 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2016.05
|
Release Statistics for U-Boot v2016.05
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1043 csets from 133 developers
|
* Processed 1043 changesets from 133 developers
|
||||||
|
|
||||||
* 23 employers found
|
* 23 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2016.07
|
Release Statistics for U-Boot v2016.07
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1078 csets from 133 developers
|
* Processed 1078 changesets from 133 developers
|
||||||
|
|
||||||
* 27 employers found
|
* 27 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2016.09
|
Release Statistics for U-Boot v2016.09
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 987 csets from 129 developers
|
* Processed 987 changesets from 129 developers
|
||||||
|
|
||||||
* 30 employers found
|
* 30 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2016.11
|
Release Statistics for U-Boot v2016.11
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 1031 csets from 114 developers
|
* Processed 1031 changesets from 114 developers
|
||||||
|
|
||||||
* 26 employers found
|
* 26 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2017.01
|
Release Statistics for U-Boot v2017.01
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 883 csets from 137 developers
|
* Processed 883 changesets from 137 developers
|
||||||
|
|
||||||
* 29 employers found
|
* 29 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2017.03
|
Release Statistics for U-Boot v2017.03
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 664 csets from 126 developers
|
* Processed 664 changesets from 126 developers
|
||||||
|
|
||||||
* 29 employers found
|
* 29 employers found
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Release Statistics for U-Boot v2017.05
|
Release Statistics for U-Boot v2017.05
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
* Processed 915 csets from 139 developers
|
* Processed 915 changesets from 139 developers
|
||||||
|
|
||||||
* 29 employers found
|
* 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