mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Compare commits
52 Commits
v2025.07-r
...
v2025.07
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e37de002fa | ||
|
|
15182ce25d | ||
|
|
d1d53c252a | ||
|
|
7027b445cc | ||
|
|
e80baf06af | ||
|
|
97d6a2e3fe | ||
|
|
359e301292 | ||
|
|
5f732b4bb0 | ||
|
|
5ac65a4851 | ||
|
|
79f8f31d58 | ||
|
|
6ef9a89c1d | ||
|
|
757227777b | ||
|
|
661bafa182 | ||
|
|
903eb12323 | ||
|
|
f3ee5872bf | ||
|
|
fb4a488eb9 | ||
|
|
410d59095a | ||
|
|
1be8d14c85 | ||
|
|
1989eb65c5 | ||
|
|
961e260cdc | ||
|
|
9d169ac973 | ||
|
|
c08cecf2d7 | ||
|
|
8420cafc00 | ||
|
|
820bbf1d46 | ||
|
|
418acf8c78 | ||
|
|
721eecd9cb | ||
|
|
8bb9c275c4 | ||
|
|
3eb43c54fa | ||
|
|
3704b888a4 | ||
|
|
592b42aead | ||
|
|
a0f6bcd647 | ||
|
|
668b2d791d | ||
|
|
a239cdc0bd | ||
|
|
7a598e633a | ||
|
|
a3a5179b1c | ||
|
|
73d5a68fec | ||
|
|
17012e3068 | ||
|
|
e6eca9ea64 | ||
|
|
aa2efc584a | ||
|
|
c5afa1fef4 | ||
|
|
f8cb3fde93 | ||
|
|
0cd85170cf | ||
|
|
3507e6208f | ||
|
|
2ab10ed239 | ||
|
|
ef82e45c2e | ||
|
|
c36ab3256c | ||
|
|
461f357fa9 | ||
|
|
02a2cbfee8 | ||
|
|
b62e422d6e | ||
|
|
730201c6f5 | ||
|
|
55c4a6db54 | ||
|
|
91729f824b |
1
.mailmap
1
.mailmap
@@ -39,6 +39,7 @@ Casey Connolly <casey.connolly@linaro.org> <caleb.connolly@linaro.org>
|
||||
Christian Kohn <chris.kohn@amd.com> <christian.kohn@xilinx.com>
|
||||
Christopher Obbard <christopher.obbard@linaro.org> <chris.obbard@collabora.com>
|
||||
Dirk Behme <dirk.behme@googlemail.com>
|
||||
<duje@dujemihanovic.xyz> <duje.mihanovic@skole.hr>
|
||||
Durga Challa <durga.challa@amd.com> <vnsl.durga.challa@xilinx.com>
|
||||
Eugen Hristev <eugen.hristev@linaro.org> <eugen.hristev@microchip.com>
|
||||
Eugen Hristev <eugen.hristev@linaro.org> <eugen.hristev@collabora.com>
|
||||
|
||||
@@ -391,7 +391,7 @@ F: drivers/pci/pci-aardvark.c
|
||||
F: drivers/pci/pci_mvebu.c
|
||||
|
||||
ARM MARVELL PXA1908
|
||||
M: Duje Mihanović <duje.mihanovic@skole.hr>
|
||||
M: Duje Mihanović <duje@dujemihanovic.xyz>
|
||||
S: Maintained
|
||||
T: git git://git.dujemihanovic.xyz/u-boot.git
|
||||
F: arch/arm/dts/pxa1908*
|
||||
|
||||
2
Makefile
2
Makefile
@@ -3,7 +3,7 @@
|
||||
VERSION = 2025
|
||||
PATCHLEVEL = 07
|
||||
SUBLEVEL =
|
||||
EXTRAVERSION = -rc4
|
||||
EXTRAVERSION =
|
||||
NAME =
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "imx93.dtsi"
|
||||
|
||||
/delete-node/ &A55_1;
|
||||
/delete-node/ &cm33;
|
||||
/delete-node/ &mlmix;
|
||||
/delete-node/ &mu1;
|
||||
/delete-node/ &mu2;
|
||||
@@ -41,18 +40,6 @@
|
||||
assigned-clock-rates = <100000000>, <250000000>;
|
||||
};
|
||||
|
||||
&i3c1 {
|
||||
clocks = <&clk IMX93_CLK_BUS_AON>,
|
||||
<&clk IMX93_CLK_I3C1_GATE>,
|
||||
<&clk IMX93_CLK_DUMMY>;
|
||||
};
|
||||
|
||||
&i3c2 {
|
||||
clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
|
||||
<&clk IMX93_CLK_I3C2_GATE>,
|
||||
<&clk IMX93_CLK_DUMMY>;
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
compatible = "fsl,imx91-iomuxc";
|
||||
};
|
||||
@@ -61,10 +48,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&{/soc@0/ddr-pmu@4e300dc0} {
|
||||
compatible = "fsl,imx91-ddr-pmu", "fsl,imx93-ddr-pmu";
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu-thermal/cooling-maps/map0} {
|
||||
cooling-device = <&A55_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
50
arch/arm/dts/r8a779g3-sparrow-hawk-u-boot.dtsi
Normal file
50
arch/arm/dts/r8a779g3-sparrow-hawk-u-boot.dtsi
Normal file
@@ -0,0 +1,50 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree Source extras for U-Boot for the R-Car V4H Sparrow Hawk board
|
||||
*
|
||||
* Copyright (C) 2025 Marek Vasut <marek.vasut+renesas@mailbox.org>
|
||||
*/
|
||||
|
||||
#include "r8a779g0-u-boot.dtsi"
|
||||
|
||||
/* Page 31 / FAN */
|
||||
&gpio1 {
|
||||
pwm-fan-hog {
|
||||
gpio-hog;
|
||||
gpios = <15 GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "PWM-FAN";
|
||||
};
|
||||
};
|
||||
|
||||
/* Page 29 / CSI_IF_CN / CAM_CN0 */
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 29 / CSI_IF_CN / CAM_CN1 */
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 31 / IO_CN */
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 31 / IO_CN */
|
||||
&i2c4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 18 / POWER_CORE and Page 19 / POWER_PMIC */
|
||||
&i2c5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rpc {
|
||||
flash@0 {
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <1>;
|
||||
};
|
||||
};
|
||||
@@ -18,6 +18,7 @@
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
cap-mmc-highspeed;
|
||||
mmc-hs200-1_8v;
|
||||
no-sd;
|
||||
no-sdio;
|
||||
non-removable;
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
#include "rk3528-u-boot.dtsi"
|
||||
|
||||
&sdhci {
|
||||
mmc-hs200-1_8v;
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
bus-width = <4>;
|
||||
cap-mmc-highspeed;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include <fdtdec.h>
|
||||
#include <init.h>
|
||||
#include <sysreset.h>
|
||||
#include <asm/armv8/mmu.h>
|
||||
#include <asm/system.h>
|
||||
|
||||
@@ -21,7 +22,7 @@ int dram_init_banksize(void)
|
||||
return fdtdec_setup_memory_banksize();
|
||||
}
|
||||
|
||||
void reset_cpu(ulong addr)
|
||||
void reset_cpu(void)
|
||||
{
|
||||
psci_system_reset();
|
||||
}
|
||||
|
||||
@@ -43,7 +43,6 @@ config TARGET_IMX91_11X11_EVK
|
||||
bool "imx91_11x11_evk"
|
||||
select OF_BOARD_FIXUP
|
||||
select IMX91
|
||||
imply OF_UPSTREAM
|
||||
imply BOOTSTD_FULL
|
||||
imply BOOTSTD_BOOTCOMMAND
|
||||
|
||||
|
||||
@@ -66,6 +66,12 @@ config TARGET_WHITEHAWK
|
||||
help
|
||||
Support for Renesas R-Car Gen4 White Hawk platform
|
||||
|
||||
config TARGET_SPARROWHAWK
|
||||
bool "Sparrow Hawk board"
|
||||
imply R8A779G0
|
||||
help
|
||||
Support for Renesas R-Car Gen4 Sparrow Hawk platform
|
||||
|
||||
config TARGET_GRAYHAWK
|
||||
bool "Gray Hawk board"
|
||||
imply R8A779H0
|
||||
@@ -78,6 +84,7 @@ source "board/renesas/falcon/Kconfig"
|
||||
source "board/renesas/spider/Kconfig"
|
||||
source "board/renesas/s4sk/Kconfig"
|
||||
source "board/renesas/whitehawk/Kconfig"
|
||||
source "board/renesas/sparrowhawk/Kconfig"
|
||||
source "board/renesas/grayhawk/Kconfig"
|
||||
|
||||
endif
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
PLATFORM_CPPFLAGS += -D__SANDBOX__ -U_FORTIFY_SOURCE
|
||||
PLATFORM_CPPFLAGS += -fPIC -ffunction-sections -fdata-sections
|
||||
PLATFORM_LIBS += -lrt
|
||||
PLATFORM_LIBS += -lrt -lpthread
|
||||
SDL_CONFIG ?= sdl2-config
|
||||
|
||||
# Define this to avoid linking with SDL, which requires SDL libraries
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
IB62X0 BOARD
|
||||
M: Luka Perkov <luka@openwrt.org>
|
||||
M: Tony Dinh <mibodhi@gmail.com>
|
||||
S: Maintained
|
||||
F: board/raidsonic/ib62x0/
|
||||
F: include/configs/ib62x0.h
|
||||
|
||||
@@ -36,6 +36,8 @@ int dram_init(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
__weak void renesas_dram_init_banksize(void) { }
|
||||
|
||||
int dram_init_banksize(void)
|
||||
{
|
||||
int bank;
|
||||
@@ -58,6 +60,8 @@ int dram_init_banksize(void)
|
||||
break;
|
||||
}
|
||||
|
||||
renesas_dram_init_banksize();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
15
board/renesas/sparrowhawk/Kconfig
Normal file
15
board/renesas/sparrowhawk/Kconfig
Normal file
@@ -0,0 +1,15 @@
|
||||
if TARGET_SPARROWHAWK
|
||||
|
||||
config SYS_SOC
|
||||
default "renesas"
|
||||
|
||||
config SYS_BOARD
|
||||
default "sparrowhawk"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "renesas"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "sparrowhawk"
|
||||
|
||||
endif
|
||||
7
board/renesas/sparrowhawk/MAINTAINERS
Normal file
7
board/renesas/sparrowhawk/MAINTAINERS
Normal file
@@ -0,0 +1,7 @@
|
||||
SPARROWHAWK BOARD
|
||||
M: Marek Vasut <marek.vasut+renesas@mailbox.org>
|
||||
S: Maintained
|
||||
F: arch/arm/dts/r8a779g3*
|
||||
F: board/renesas/sparrowhawk/
|
||||
F: configs/r8a779g3_sparrowhawk_defconfig
|
||||
F: include/configs/sparrowhawk.h
|
||||
9
board/renesas/sparrowhawk/Makefile
Normal file
9
board/renesas/sparrowhawk/Makefile
Normal file
@@ -0,0 +1,9 @@
|
||||
#
|
||||
# board/renesas/sparrowhawk/Makefile
|
||||
#
|
||||
# Copyright (C) 2025 Marek Vasut <marek.vasut+renesas@mailbox.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-y += sparrowhawk.o
|
||||
143
board/renesas/sparrowhawk/sparrowhawk.c
Normal file
143
board/renesas/sparrowhawk/sparrowhawk.c
Normal file
@@ -0,0 +1,143 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright (C) 2025 Marek Vasut <marek.vasut+renesas@mailbox.org>
|
||||
*/
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <compiler.h>
|
||||
#include <dbsc5.h>
|
||||
#include <spl.h>
|
||||
|
||||
#if defined(CONFIG_XPL_BUILD)
|
||||
|
||||
static const struct renesas_dbsc5_board_config
|
||||
renesas_v4h_sparrowhawk_8g_6400_dbsc5_board_config = {
|
||||
/* RENESAS V4H Sparrow Hawk (64Gbit 1rank) */
|
||||
.bdcfg_phyvalid = 0xF,
|
||||
.bdcfg_vref_r = 0x0,
|
||||
.bdcfg_vref_w = 0x0,
|
||||
.bdcfg_vref_ca = 0x0,
|
||||
.bdcfg_rfm_chk = true,
|
||||
.ch = {
|
||||
[0] = {
|
||||
.bdcfg_ddr_density = { 0x06, 0xFF },
|
||||
.bdcfg_ca_swap = 0x04506132,
|
||||
.bdcfg_dqs_swap = 0x01,
|
||||
.bdcfg_dq_swap = { 0x26157084, 0x12306854 },
|
||||
.bdcfg_dm_swap = { 0x03, 0x07 },
|
||||
.bdcfg_cs_swap = 0x10
|
||||
},
|
||||
[1] = {
|
||||
.bdcfg_ddr_density = { 0x06, 0xFF },
|
||||
.bdcfg_ca_swap = 0x02431065,
|
||||
.bdcfg_dqs_swap = 0x10,
|
||||
.bdcfg_dq_swap = { 0x56782314, 0x70423856 },
|
||||
.bdcfg_dm_swap = { 0x00, 0x01 },
|
||||
.bdcfg_cs_swap = 0x10
|
||||
},
|
||||
[2] = {
|
||||
.bdcfg_ddr_density = { 0x06, 0xFF },
|
||||
.bdcfg_ca_swap = 0x02150643,
|
||||
.bdcfg_dqs_swap = 0x10,
|
||||
.bdcfg_dq_swap = { 0x58264031, 0x40587236 },
|
||||
.bdcfg_dm_swap = { 0x07, 0x01 },
|
||||
.bdcfg_cs_swap = 0x10
|
||||
},
|
||||
[3] = {
|
||||
.bdcfg_ddr_density = { 0x06, 0xFF },
|
||||
.bdcfg_ca_swap = 0x01546230,
|
||||
.bdcfg_dqs_swap = 0x01,
|
||||
.bdcfg_dq_swap = { 0x45761328, 0x68023745 },
|
||||
.bdcfg_dm_swap = { 0x00, 0x01 },
|
||||
.bdcfg_cs_swap = 0x10
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
static const struct renesas_dbsc5_board_config
|
||||
renesas_v4h_sparrowhawk_16g_5500_dbsc5_board_config = {
|
||||
/* RENESAS V4H Sparrow Hawk (64Gbit 2rank) */
|
||||
.bdcfg_phyvalid = 0xF,
|
||||
.bdcfg_vref_r = 0x0,
|
||||
.bdcfg_vref_w = 0x0,
|
||||
.bdcfg_vref_ca = 0x0,
|
||||
.bdcfg_rfm_chk = true,
|
||||
.ch = {
|
||||
[0] = {
|
||||
.bdcfg_ddr_density = { 0x06, 0x06 },
|
||||
.bdcfg_ca_swap = 0x04506132,
|
||||
.bdcfg_dqs_swap = 0x01,
|
||||
.bdcfg_dq_swap = { 0x26157084, 0x12306854 },
|
||||
.bdcfg_dm_swap = { 0x03, 0x07 },
|
||||
.bdcfg_cs_swap = 0x10
|
||||
},
|
||||
[1] = {
|
||||
.bdcfg_ddr_density = { 0x06, 0x06 },
|
||||
.bdcfg_ca_swap = 0x02431065,
|
||||
.bdcfg_dqs_swap = 0x10,
|
||||
.bdcfg_dq_swap = { 0x56782314, 0x70423856 },
|
||||
.bdcfg_dm_swap = { 0x00, 0x01 },
|
||||
.bdcfg_cs_swap = 0x10
|
||||
},
|
||||
[2] = {
|
||||
.bdcfg_ddr_density = { 0x06, 0x06 },
|
||||
.bdcfg_ca_swap = 0x02150643,
|
||||
.bdcfg_dqs_swap = 0x10,
|
||||
.bdcfg_dq_swap = { 0x58264031, 0x40587236 },
|
||||
.bdcfg_dm_swap = { 0x07, 0x01 },
|
||||
.bdcfg_cs_swap = 0x10
|
||||
},
|
||||
[3] = {
|
||||
.bdcfg_ddr_density = { 0x06, 0x06 },
|
||||
.bdcfg_ca_swap = 0x01546230,
|
||||
.bdcfg_dqs_swap = 0x01,
|
||||
.bdcfg_dq_swap = { 0x45761328, 0x68023745 },
|
||||
.bdcfg_dm_swap = { 0x00, 0x01 },
|
||||
.bdcfg_cs_swap = 0x10
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const struct renesas_dbsc5_board_config *
|
||||
dbsc5_get_board_data(struct udevice *dev, const u32 modemr0)
|
||||
{
|
||||
/*
|
||||
* MD[19] is used to discern between 5500 Mbps and 6400 Mbps operation.
|
||||
*
|
||||
* Boards with 1 rank of DRAM can operate at 6400 Mbps, those are the
|
||||
* Sparrow Hawk boards with 8 GiB of DRAM. Boards with 2 ranks of DRAM
|
||||
* are limited to 5500 Mbps operation, those are the boards with 16 GiB
|
||||
* of DRAM.
|
||||
*
|
||||
* Use MD[19] setting to discern 8 GiB and 16 GiB DRAM Sparrow Hawk
|
||||
* board variants from each other automatically.
|
||||
*/
|
||||
if (modemr0 & BIT(19))
|
||||
return &renesas_v4h_sparrowhawk_16g_5500_dbsc5_board_config;
|
||||
else
|
||||
return &renesas_v4h_sparrowhawk_8g_6400_dbsc5_board_config;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#define RST_MODEMR0 0xe6160000
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
void renesas_dram_init_banksize(void)
|
||||
{
|
||||
const u32 modemr0 = readl(RST_MODEMR0);
|
||||
int bank;
|
||||
|
||||
/* 8 GiB device, do nothing. */
|
||||
if (!(modemr0 & BIT(19)))
|
||||
return;
|
||||
|
||||
/* 16 GiB device, adjust memory map. */
|
||||
for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) {
|
||||
if (gd->bd->bi_dram[bank].start == 0x480000000ULL)
|
||||
gd->bd->bi_dram[bank].size = 0x180000000ULL;
|
||||
else if (gd->bd->bi_dram[bank].start == 0x600000000ULL)
|
||||
gd->bd->bi_dram[bank].size = 0x200000000ULL;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
Samsung Galaxy Core Prime VE LTE support
|
||||
M: Duje Mihanović <duje.mihanovic@skole.hr>
|
||||
M: Duje Mihanović <duje@dujemihanovic.xyz>
|
||||
S: Maintained
|
||||
T: git git://git.dujemihanovic.xyz/u-boot.git
|
||||
F: board/samsung/coreprimevelte/
|
||||
|
||||
@@ -18,9 +18,18 @@ int dram_init_banksize(void)
|
||||
}
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_late_init(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
/*
|
||||
* Do this in board_late_init() to make sure MMC is not probed before
|
||||
* efi_init_early().
|
||||
*/
|
||||
err = load_ldfw();
|
||||
if (err)
|
||||
printf("ERROR: LDFW loading failed (%d)\n", err);
|
||||
|
||||
@@ -153,6 +153,7 @@ config CMD_CONFIG
|
||||
bool "config"
|
||||
default SANDBOX
|
||||
select BUILD_BIN2C
|
||||
select GZIP
|
||||
help
|
||||
Print ".config" contents.
|
||||
|
||||
|
||||
@@ -19,6 +19,10 @@ obj-y += version.o
|
||||
# # boards
|
||||
obj-y += board_f.o
|
||||
obj-y += board_r.o
|
||||
ifdef CONFIG_$(PHASE_)SYS_THUMB_BUILD
|
||||
CFLAGS_REMOVE_board_f.o := $(LTO_CFLAGS)
|
||||
CFLAGS_REMOVE_board_r.o := $(LTO_CFLAGS)
|
||||
endif
|
||||
obj-$(CONFIG_DISPLAY_BOARDINFO) += board_info.o
|
||||
obj-$(CONFIG_DISPLAY_BOARDINFO_LATE) += board_info.o
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ static int spl_fit_get_image_name(const struct spl_fit_info *ctx,
|
||||
const char **outname)
|
||||
{
|
||||
struct udevice *sysinfo;
|
||||
const char *name, *str;
|
||||
const char *name, *str, *end;
|
||||
__maybe_unused int node;
|
||||
int len, i;
|
||||
bool found = true;
|
||||
@@ -83,11 +83,17 @@ static int spl_fit_get_image_name(const struct spl_fit_info *ctx,
|
||||
debug("cannot find property '%s': %d\n", type, len);
|
||||
return -EINVAL;
|
||||
}
|
||||
/* A string property should be NUL terminated */
|
||||
end = name + len - 1;
|
||||
if (!len || *end) {
|
||||
debug("malformed property '%s'\n", type);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
str = name;
|
||||
for (i = 0; i < index; i++) {
|
||||
str = strchr(str, '\0') + 1;
|
||||
if (!str || (str - name >= len)) {
|
||||
if (str > end) {
|
||||
found = false;
|
||||
break;
|
||||
}
|
||||
@@ -199,7 +205,7 @@ static int get_aligned_image_size(struct spl_load_info *info, int data_size,
|
||||
* the image gets loaded to the address pointed to by the
|
||||
* load_addr member in this struct, if load_addr is not 0
|
||||
*
|
||||
* Return: 0 on success, -EPERM if this image is not the correct phase
|
||||
* Return: 0 on success, -EBADSLT if this image is not the correct phase
|
||||
* (for CONFIG_BOOTMETH_VBE_SIMPLE_FW), or another negative error number on
|
||||
* other error.
|
||||
*/
|
||||
@@ -235,7 +241,7 @@ static int load_simple_fit(struct spl_load_info *info, ulong fit_offset,
|
||||
return ret;
|
||||
} else {
|
||||
log_debug("- phase mismatch, skipping this image\n");
|
||||
return -EPERM;
|
||||
return -EBADSLT;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -474,7 +480,7 @@ static int spl_fit_append_fdt(struct spl_image_info *spl_image,
|
||||
image_info.load_addr = (ulong)tmpbuffer;
|
||||
ret = load_simple_fit(info, offset, ctx, node,
|
||||
&image_info);
|
||||
if (ret == -EPERM)
|
||||
if (ret == -EBADSLT)
|
||||
continue;
|
||||
else if (ret < 0)
|
||||
break;
|
||||
@@ -702,13 +708,51 @@ static int spl_simple_fit_read(struct spl_fit_info *ctx,
|
||||
*/
|
||||
size = get_aligned_image_size(info, size, 0);
|
||||
buf = board_spl_fit_buffer_addr(size, size, 1);
|
||||
if (!buf) {
|
||||
/*
|
||||
* We assume that none of the board will ever use 0x0 as a
|
||||
* valid load address. Theoretically some board could use it,
|
||||
* but this is extremely unlikely.
|
||||
*/
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
count = info->read(info, offset, size, buf);
|
||||
if (!count) {
|
||||
/*
|
||||
* FIT could not be read. This means we should free the
|
||||
* memory allocated by board_spl_fit_buffer_addr().
|
||||
* Unfortunately, we don't know what memory allocation
|
||||
* mechanism was used:
|
||||
* - For the SPL_SYS_MALLOC_SIMPLE case nothing could
|
||||
* be done. The memory just could not be freed.
|
||||
* - For statically allocated memory buffer we can try
|
||||
* to reuse previously allocated memory (example:
|
||||
* board_spl_fit_buffer_addr() function from the
|
||||
* file test/image/spl_load.c).
|
||||
* - For normall malloc() -- memory leak can't be easily
|
||||
* avoided. To somehow reduce memory consumption the
|
||||
* next calls of board_spl_fit_buffer_addr() could
|
||||
* reallocate previously allocated buffer and use
|
||||
* them again. This is somethat similar to the approach
|
||||
* used for statically allocated buffer.
|
||||
*
|
||||
* Please note:
|
||||
* - FIT images with data placed outside of the FIT
|
||||
* structure will cause small memory leak (several
|
||||
* kilobytes),
|
||||
* - FIT images with data placed inside to the FIT
|
||||
* structure may cause huge memory leak (up to
|
||||
* several megabytes). Do NOT use such images!
|
||||
*/
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
ctx->fit = buf;
|
||||
debug("fit read offset %lx, size=%lu, dst=%p, count=%lu\n",
|
||||
offset, size, buf, count);
|
||||
|
||||
return (count == 0) ? -EIO : 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int spl_simple_fit_parse(struct spl_fit_info *ctx)
|
||||
@@ -834,7 +878,7 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,
|
||||
|
||||
image_info.load_addr = 0;
|
||||
ret = load_simple_fit(info, offset, &ctx, node, &image_info);
|
||||
if (ret < 0 && ret != -EPERM) {
|
||||
if (ret < 0 && ret != -EBADSLT) {
|
||||
printf("%s: can't load image loadables index %d (ret = %d)\n",
|
||||
__func__, index, ret);
|
||||
return ret;
|
||||
|
||||
@@ -19,6 +19,7 @@ CONFIG_ANDROID_BOOT_IMAGE=y
|
||||
CONFIG_BOOTSTD_FULL=y
|
||||
CONFIG_DEFAULT_FDT_FILE="exynos850-e850-96.dtb"
|
||||
# CONFIG_DISPLAY_CPUINFO is not set
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_CMD_BOOTEFI_SELFTEST=y
|
||||
CONFIG_CMD_ABOOTIMG=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
|
||||
@@ -17,7 +17,6 @@ CONFIG_SPL_MMC=y
|
||||
CONFIG_SPL_SERIAL=y
|
||||
CONFIG_SPL_DRIVERS_MISC=y
|
||||
CONFIG_SPL_STACK=0x980000
|
||||
CONFIG_SPL_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_SPL_TEXT_BASE=0x912000
|
||||
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
||||
CONFIG_SPL_BSS_START_ADDR=0x950000
|
||||
|
||||
@@ -11,7 +11,7 @@ CONFIG_ENV_SIZE=0x4000
|
||||
CONFIG_ENV_OFFSET=0x700000
|
||||
CONFIG_IMX_CONFIG="arch/arm/mach-imx/imx9/imximage.cfg"
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="freescale/imx91-11x11-evk"
|
||||
CONFIG_DEFAULT_DEVICE_TREE="imx91-11x11-evk"
|
||||
CONFIG_TARGET_IMX91_11X11_EVK=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
CONFIG_SYS_MONITOR_LEN=524288
|
||||
|
||||
@@ -11,7 +11,7 @@ CONFIG_ENV_SIZE=0x4000
|
||||
CONFIG_ENV_OFFSET=0x700000
|
||||
CONFIG_IMX_CONFIG="arch/arm/mach-imx/imx9/imximage.cfg"
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="freescale/imx91-11x11-evk"
|
||||
CONFIG_DEFAULT_DEVICE_TREE="imx91-11x11-evk"
|
||||
CONFIG_TARGET_IMX91_11X11_EVK=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
CONFIG_SYS_MONITOR_LEN=524288
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SKIP_LOWLEVEL_INIT=y
|
||||
CONFIG_SYS_THUMB_BUILD=y
|
||||
CONFIG_ARCH_DAVINCI=y
|
||||
CONFIG_TEXT_BASE=0xc1080000
|
||||
CONFIG_SYS_MALLOC_LEN=0x110000
|
||||
@@ -12,6 +13,9 @@ CONFIG_SF_DEFAULT_SPEED=50000000
|
||||
CONFIG_ENV_SIZE=0x4000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="da850-lego-ev3"
|
||||
CONFIG_SYS_LOAD_ADDR=0xc0700000
|
||||
CONFIG_LTO=y
|
||||
CONFIG_HAS_BOARD_SIZE_LIMIT=y
|
||||
CONFIG_BOARD_SIZE_LIMIT=262144
|
||||
CONFIG_DYNAMIC_SYS_CLK_FREQ=y
|
||||
CONFIG_BOOTDELAY=0
|
||||
CONFIG_AUTOBOOT_KEYED=y
|
||||
@@ -31,7 +35,6 @@ CONFIG_HUSH_PARSER=y
|
||||
# CONFIG_BOOTM_RTEMS is not set
|
||||
# CONFIG_BOOTM_VXWORKS is not set
|
||||
CONFIG_CMD_ASKENV=y
|
||||
CONFIG_CRC32_VERIFY=y
|
||||
CONFIG_CMD_MX_CYCLIC=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_SPI=y
|
||||
@@ -56,4 +59,3 @@ CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DM_SPI=y
|
||||
CONFIG_DAVINCI_SPI=y
|
||||
CONFIG_REGEX=y
|
||||
|
||||
@@ -40,6 +40,8 @@ CONFIG_SPL_WATCHDOG=y
|
||||
CONFIG_HUSH_PARSER=y
|
||||
CONFIG_SYS_MAXARGS=32
|
||||
CONFIG_CMD_BOOTZ=y
|
||||
# CONFIG_BOOTM_PLAN9 is not set
|
||||
# CONFIG_BOOTM_RTEMS is not set
|
||||
CONFIG_CMD_SPL=y
|
||||
CONFIG_CMD_SPL_WRITE_SIZE=0x20000
|
||||
CONFIG_CMD_GPIO=y
|
||||
@@ -65,7 +67,6 @@ CONFIG_EFI_PARTITION=y
|
||||
# CONFIG_SPL_EFI_PARTITION is not set
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_OF_LIST="imx6q-sabresd imx6qp-sabresd imx6dl-sabresd"
|
||||
CONFIG_MULTI_DTB_FIT=y
|
||||
CONFIG_ENV_OVERWRITE=y
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
|
||||
@@ -26,7 +26,9 @@ CONFIG_PHY_MICREL_KSZ90X1=y
|
||||
CONFIG_RENESAS_RAVB=y
|
||||
CONFIG_BAUDRATE=921600
|
||||
|
||||
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xeb300000
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_HAVE_INIT_STACK=y
|
||||
CONFIG_SPL_STACK=0xe6400000
|
||||
CONFIG_SPL_DM_SPI=y
|
||||
CONFIG_SPL_TEXT_BASE=0xeb210000
|
||||
CONFIG_SPL_STACK_R_ADDR=0x44000000
|
||||
|
||||
71
configs/r8a779g3_sparrowhawk_defconfig
Normal file
71
configs/r8a779g3_sparrowhawk_defconfig
Normal file
@@ -0,0 +1,71 @@
|
||||
#include <configs/renesas_rcar4.config>
|
||||
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_RENESAS=y
|
||||
CONFIG_RCAR_GEN4=y
|
||||
CONFIG_ARM_SMCCC=y
|
||||
CONFIG_ARMV8_PSCI=y
|
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_ENV_OFFSET=0x3f80000
|
||||
CONFIG_ENV_OFFSET_REDUND=0x3fc0000
|
||||
CONFIG_ENV_SECT_SIZE=0x40000
|
||||
CONFIG_ENV_SIZE=0x40000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="renesas/r8a779g3-sparrow-hawk"
|
||||
CONFIG_TARGET_SPARROWHAWK=y
|
||||
CONFIG_SYS_BOOT_GET_CMDLINE=y
|
||||
CONFIG_SYS_CLK_FREQ=16666666
|
||||
CONFIG_SYS_BARGSIZE=2048
|
||||
CONFIG_SYS_CBSIZE=2048
|
||||
CONFIG_BAUDRATE=921600
|
||||
CONFIG_BINMAN=y
|
||||
CONFIG_BOOTCOMMAND="tftp 0x50000000 fitImage && bootm 0x50000000"
|
||||
CONFIG_DEFAULT_FDT_FILE="r8a779g3-sparrow-hawk.dtb"
|
||||
CONFIG_CMD_REMOTEPROC=y
|
||||
CONFIG_GPIO_HOG=y
|
||||
CONFIG_REMOTEPROC_RENESAS_APMU=y
|
||||
CONFIG_BITBANGMII=y
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_PHY_MICREL=y
|
||||
CONFIG_PHY_MICREL_KSZ90X1=y
|
||||
CONFIG_RENESAS_RAVB=y
|
||||
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_HAVE_INIT_STACK=y
|
||||
CONFIG_SPL_STACK=0xe6400000
|
||||
CONFIG_SPL_DM_SPI=y
|
||||
CONFIG_SPL_TEXT_BASE=0xeb210000
|
||||
CONFIG_SPL_STACK_R_ADDR=0x44000000
|
||||
CONFIG_SPL_SYS_MALLOC_F_LEN=0x20000
|
||||
CONFIG_SPL_STACK_R=y
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI=y
|
||||
CONFIG_SPL_FIT_PRINT=y
|
||||
CONFIG_SPL_LOAD_FIT=y
|
||||
CONFIG_SPL_LOAD_FIT_ADDRESS=0x48000000
|
||||
# CONFIG_SPL_BOARD_INIT is not set
|
||||
# CONFIG_SPL_LEGACY_IMAGE_FORMAT is not set
|
||||
# CONFIG_SPL_SEPARATE_BSS is not set
|
||||
CONFIG_SPL_DM_SPI_FLASH=y
|
||||
CONFIG_SPL_DM_RESET=y
|
||||
CONFIG_SPL_SPI_LOAD=y
|
||||
CONFIG_SPL_OF_CONTROL=y
|
||||
CONFIG_SPL_DM=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_SPL_GPIO=y
|
||||
CONFIG_SPL_GPIO_HOG=y
|
||||
CONFIG_SPL_PINCTRL=y
|
||||
CONFIG_SPL_PINCONF=y
|
||||
CONFIG_SPL_RAM=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
CONFIG_RAM=y
|
||||
CONFIG_RAM_RENESAS_DBSC5=y
|
||||
CONFIG_SPL_MAX_SIZE=0x40000
|
||||
CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
|
||||
CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x10000
|
||||
CONFIG_SF_DEFAULT_SPEED=40000000
|
||||
# CONFIG_SPL_PARTITIONS is not set
|
||||
# CONFIG_SPL_DOS_PARTITION is not set
|
||||
# CONFIG_SPL_EFI_PARTITION is not set
|
||||
# CONFIG_SPL_PARTITION_UUIDS is not set
|
||||
# CONFIG_SPL_DM_MMC is not set
|
||||
@@ -2,6 +2,7 @@ CONFIG_ARM=y
|
||||
CONFIG_POSITION_INDEPENDENT=y
|
||||
CONFIG_ARCH_BCM283X=y
|
||||
CONFIG_TARGET_RPI_ARM64=y
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_ENV_SIZE=0x4000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2711-rpi-4-b"
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
|
||||
@@ -16,6 +16,7 @@ CONFIG_SYS_MONITOR_LEN=524288
|
||||
CONFIG_SPL_MMC=y
|
||||
CONFIG_SPL_SERIAL=y
|
||||
CONFIG_SPL_DRIVERS_MISC=y
|
||||
CONFIG_SPL_STACK=0x960000
|
||||
CONFIG_SPL_SYS_MALLOC_F_LEN=0x4000
|
||||
CONFIG_SPL_TEXT_BASE=0x920000
|
||||
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
||||
@@ -51,6 +52,7 @@ CONFIG_SPL_BOARD_INIT=y
|
||||
CONFIG_SPL_BOOTROM_SUPPORT=y
|
||||
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_HAVE_INIT_STACK=y
|
||||
CONFIG_SPL_SYS_MALLOC=y
|
||||
CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y
|
||||
CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0x42200000
|
||||
|
||||
@@ -178,7 +178,8 @@ devicetree-overlay <path> [...] - if this label is chosen, use tftp to retrieve
|
||||
kaslrseed - set this label to request random number from hwrng as kaslr seed.
|
||||
|
||||
append <string> - use <string> as the kernel command line when booting this
|
||||
label.
|
||||
label. Environment variable references like ${var} are
|
||||
substituted before boot.
|
||||
|
||||
initrd <path> - if this label is chosen, use tftp to retrieve the initrd
|
||||
at <path>. it will be stored at the address indicated in
|
||||
|
||||
@@ -180,6 +180,12 @@ Renesas is a SoC solutions provider for automotive and industrial applications.
|
||||
- arm64
|
||||
- r8a779g0_whitehawk_defconfig
|
||||
|
||||
* -
|
||||
- Sparrow Hawk
|
||||
- R8A779G3 (V4H)
|
||||
- arm64
|
||||
- r8a779g3_sparrowhawk_defconfig
|
||||
|
||||
* - RZ/G2 Family
|
||||
- Beacon EmbeddedWorks RZ/G2M SoM
|
||||
- R8A774A1 (RZ/G2M)
|
||||
|
||||
@@ -92,6 +92,13 @@ That said, we have some differences to these documents, namely:
|
||||
* If ``-`` is passed as fdt argument and ``CONFIG_SUPPORT_PASSING_ATAGS`` is
|
||||
enabled, then no device tree will be used (legacy booting / pre-dtb kernel).
|
||||
|
||||
* The ``append`` string may use environment variables. For example, an
|
||||
A/B boot setup could use ``append root=PARTLABEL=root_${bootslot}``
|
||||
to set the root filesystem to the right one for the selected slot,
|
||||
assuming the ``bootslot`` environment variable is set before the
|
||||
extlinux.conf file is processed, and the partition is labeled to
|
||||
match.
|
||||
|
||||
See also doc/README.pxe under 'pxe file format'.
|
||||
|
||||
One example extlinux.conf generated by the Fedora installer is::
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. |next_ver| replace:: v2025.07
|
||||
.. |next_ver| replace:: v2025.10
|
||||
|
||||
Release Cycle
|
||||
=============
|
||||
@@ -53,15 +53,15 @@ Examples::
|
||||
Current Status
|
||||
--------------
|
||||
|
||||
* U-Boot v2025.04 was released on Monday, 07 April 2025.
|
||||
* U-Boot v2025.07 was released on Monday, 07 July 2025.
|
||||
|
||||
* The Merge Window for the next release (|next_ver|) was **closed** with the -rc1
|
||||
release on Monday, 28 April 2025.
|
||||
* The Merge Window for the next release (|next_ver|) is **open** until the -rc1
|
||||
release on Monday, 28 July 2025.
|
||||
|
||||
* The next branch is now **closed** until the -rc2 release on Monday, 12 May
|
||||
* The next branch is now **closed** until the -rc2 release on Monday, 11 August
|
||||
2025.
|
||||
|
||||
* Release "|next_ver|" is scheduled for Monday, 07 July 2025.
|
||||
* Release "|next_ver|" is scheduled for Monday, 06 October 2025.
|
||||
|
||||
Future Releases
|
||||
---------------
|
||||
@@ -69,28 +69,28 @@ Future Releases
|
||||
.. The following commented out dates are for when release candidates are
|
||||
planned to be tagged.
|
||||
|
||||
For the next scheduled release, release candidates were made on::
|
||||
.. For the next scheduled release, release candidates were made on::
|
||||
|
||||
* U-Boot |next_ver|-rc1 was released on Mon 28 April 2025.
|
||||
.. * U-Boot |next_ver|-rc1 was released on Mon 28 July 2025.
|
||||
|
||||
* U-Boot |next_ver|-rc2 was released on Mon 12 May 2025.
|
||||
.. * U-Boot |next_ver|-rc2 was released on Mon 11 August 2025.
|
||||
|
||||
* U-Boot |next_ver|-rc3 was released on Mon 26 May 2025.
|
||||
.. * U-Boot |next_ver|-rc3 was released on Mon 25 August 2025.
|
||||
|
||||
* U-Boot |next_ver|-rc4 was released on Mon 09 June 2025.
|
||||
.. * U-Boot |next_ver|-rc4 was released on Mon 08 September 2025.
|
||||
|
||||
.. * U-Boot |next_ver|-rc5 was released on Mon 23 June 2025.
|
||||
.. * U-Boot |next_ver|-rc5 was released on Mon 22 September 2025.
|
||||
|
||||
Please note that the following dates are planned only and may be deviated from
|
||||
as needed.
|
||||
|
||||
* "v2025.07": end of MW = Mon, Apr 28, 2025; release = Mon, Jul 07, 2025
|
||||
|
||||
* "v2025.10": end of MW = Mon, Jul 28, 2025; release = Mon, Oct 06, 2025
|
||||
|
||||
* "v2026.01": end of MW = Mon, Oct 27, 2025; release = Mon, Jan 05, 2026
|
||||
|
||||
* "v2025.04": end of MW = Mon, Jan 26, 2026; release = Mon, Apr 06, 2026
|
||||
* "v2026.04": end of MW = Mon, Jan 26, 2026; release = Mon, Apr 06, 2026
|
||||
|
||||
* "v2026.07": end of MW = Mon, Apr 27, 2026; release = Mon, Jul 06, 2026
|
||||
|
||||
Previous Releases
|
||||
-----------------
|
||||
@@ -99,6 +99,8 @@ Note: these statistics are generated by our fork of `gitdm
|
||||
<https://source.denx.de/u-boot/gitdm>`_, which was originally created by
|
||||
Jonathan Corbet.
|
||||
|
||||
* :doc:`statistics/u-boot-stats-v2025.07` which was released on 07 July 2025.
|
||||
|
||||
* :doc:`statistics/u-boot-stats-v2025.04` which was released on 07 April 2025.
|
||||
|
||||
* :doc:`statistics/u-boot-stats-v2025.01` which was released on 06 January 2025.
|
||||
|
||||
990
doc/develop/statistics/u-boot-stats-v2025.07.rst
Normal file
990
doc/develop/statistics/u-boot-stats-v2025.07.rst
Normal file
@@ -0,0 +1,990 @@
|
||||
:orphan:
|
||||
|
||||
Release Statistics for U-Boot v2025.07
|
||||
======================================
|
||||
|
||||
* Processed 1780 changesets from 225 developers
|
||||
|
||||
* 24 employers found
|
||||
|
||||
* A total of 200374 lines added, 64238 removed (delta 136136)
|
||||
|
||||
.. table:: Developers with the most changesets
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
Simon Glass 172 (9.7%)
|
||||
Svyatoslav Ryhel 117 (6.6%)
|
||||
Marek Vasut 110 (6.2%)
|
||||
Tom Rini 91 (5.1%)
|
||||
Heinrich Schuchardt 68 (3.8%)
|
||||
Jerome Forissier 52 (2.9%)
|
||||
Jonas Karlman 49 (2.8%)
|
||||
Andre Przywara 44 (2.5%)
|
||||
Casey Connolly 37 (2.1%)
|
||||
Patrice Chotard 32 (1.8%)
|
||||
Yao Zi 29 (1.6%)
|
||||
Stephan Gerhold 26 (1.5%)
|
||||
Quentin Schulz 25 (1.4%)
|
||||
Christian Marangi 22 (1.2%)
|
||||
Adam Ford 22 (1.2%)
|
||||
Alif Zakuan Yuslaimi 22 (1.2%)
|
||||
Paul Barker 19 (1.1%)
|
||||
Wadim Egorov 17 (1.0%)
|
||||
Adriano Cordova 17 (1.0%)
|
||||
Dinesh Maniyam 17 (1.0%)
|
||||
Ilias Apalodimas 15 (0.8%)
|
||||
Sam Edwards 15 (0.8%)
|
||||
Venkatesh Yadav Abbarapu 14 (0.8%)
|
||||
Varadarajan Narayanan 14 (0.8%)
|
||||
Dario Binacchi 14 (0.8%)
|
||||
Sughosh Ganu 14 (0.8%)
|
||||
Daniel Schultz 14 (0.8%)
|
||||
Miquel Raynal 14 (0.8%)
|
||||
Alice Guo 13 (0.7%)
|
||||
Michal Simek 13 (0.7%)
|
||||
Siddharth Vadapalli 13 (0.7%)
|
||||
Jiaxun Yang 13 (0.7%)
|
||||
Patrick Delaunay 12 (0.7%)
|
||||
Patrick Rudolph 12 (0.7%)
|
||||
Neil Armstrong 12 (0.7%)
|
||||
Paul HENRYS 12 (0.7%)
|
||||
Judith Mendez 11 (0.6%)
|
||||
Heiko Stuebner 11 (0.6%)
|
||||
Tien Fong Chee 11 (0.6%)
|
||||
Sam Day 11 (0.6%)
|
||||
Vincent Stehlé 10 (0.6%)
|
||||
Nishanth Menon 10 (0.6%)
|
||||
Anshul Dalal 9 (0.5%)
|
||||
Bryan Brattlof 9 (0.5%)
|
||||
Alexander Graf 9 (0.5%)
|
||||
Alexander Dahl 9 (0.5%)
|
||||
Weijie Gao 8 (0.4%)
|
||||
Minda Chen 8 (0.4%)
|
||||
Santhosh Kumar K 8 (0.4%)
|
||||
Peng Fan 7 (0.4%)
|
||||
Raymond Mao 7 (0.4%)
|
||||
Neha Malcom Francis 7 (0.4%)
|
||||
Mayuresh Chitale 7 (0.4%)
|
||||
Aristo Chen 7 (0.4%)
|
||||
Jernej Skrabec 7 (0.4%)
|
||||
Samuel Holland 7 (0.4%)
|
||||
Tingting Meng 7 (0.4%)
|
||||
Greg Malysa 7 (0.4%)
|
||||
Nathan Barrett-Morrison 7 (0.4%)
|
||||
Fabio Estevam 6 (0.3%)
|
||||
E Shattow 6 (0.3%)
|
||||
Tony Dinh 6 (0.3%)
|
||||
Lukasz Czechowski 6 (0.3%)
|
||||
Naresh Kumar Ravulapalli 6 (0.3%)
|
||||
Michael Trimarchi 6 (0.3%)
|
||||
Primoz Fiser 6 (0.3%)
|
||||
Udit Kumar 6 (0.3%)
|
||||
Prasad Kummari 6 (0.3%)
|
||||
Harrison Mutai 6 (0.3%)
|
||||
Hector Martin 6 (0.3%)
|
||||
Huan Zhou 6 (0.3%)
|
||||
Leonard Anderweit 6 (0.3%)
|
||||
Manorit Chawdhry 6 (0.3%)
|
||||
Gabriel Dalimonte 6 (0.3%)
|
||||
Maks Mishin 6 (0.3%)
|
||||
Manikandan Muralidharan 6 (0.3%)
|
||||
Mattijs Korpershoek 5 (0.3%)
|
||||
Justin Klaassen 5 (0.3%)
|
||||
Andrew Davis 5 (0.3%)
|
||||
Padmarao Begari 5 (0.3%)
|
||||
Jonathan Currier 5 (0.3%)
|
||||
Ye Li 5 (0.3%)
|
||||
Bernhard Messerklinger 5 (0.3%)
|
||||
Hrushikesh Salunke 5 (0.3%)
|
||||
Jorge Ramirez-Ortiz 5 (0.3%)
|
||||
Anurag Dutta 5 (0.3%)
|
||||
Jeremy Compostella 5 (0.3%)
|
||||
Harsha Vardhan V M 5 (0.3%)
|
||||
Anton Moryakov 5 (0.3%)
|
||||
Baocheng Su 5 (0.3%)
|
||||
Hari Nagalla 5 (0.3%)
|
||||
Mikhail Kshevetskiy 4 (0.2%)
|
||||
Alper Nebi Yasak 4 (0.2%)
|
||||
Aniket Limaye 4 (0.2%)
|
||||
Cheick Traore 4 (0.2%)
|
||||
Heiko Schocher 3 (0.2%)
|
||||
Sumit Garg 3 (0.2%)
|
||||
Alexey Minnekhanov 3 (0.2%)
|
||||
Rui Miguel Silva 3 (0.2%)
|
||||
Rasmus Villemoes 3 (0.2%)
|
||||
Martin Schiller 3 (0.2%)
|
||||
Keerthy 3 (0.2%)
|
||||
Mike Looijmans 3 (0.2%)
|
||||
Lionel Debieve 3 (0.2%)
|
||||
Zixun LI 3 (0.2%)
|
||||
Vitor Soares 3 (0.2%)
|
||||
Liya Huang 3 (0.2%)
|
||||
Evgeny Bachinin 3 (0.2%)
|
||||
Sinthu Raja 3 (0.2%)
|
||||
Marius Dinu 2 (0.1%)
|
||||
Shiji Yang 2 (0.1%)
|
||||
Kory Maincent 2 (0.1%)
|
||||
Yang Xiwen 2 (0.1%)
|
||||
Peter Robinson 2 (0.1%)
|
||||
Benjamin ROBIN 2 (0.1%)
|
||||
Michael Bode 2 (0.1%)
|
||||
Alexander Sverdlin 2 (0.1%)
|
||||
Benjamin Schneider 2 (0.1%)
|
||||
Christoph Fritz 2 (0.1%)
|
||||
Vaishnav Achath 2 (0.1%)
|
||||
Pascal Zimmermann 2 (0.1%)
|
||||
Andrew Halaney 2 (0.1%)
|
||||
Takahiro Kuwano 2 (0.1%)
|
||||
Walter Schweizer 2 (0.1%)
|
||||
Pawel Kochanowski 2 (0.1%)
|
||||
Emanuele Ghidoli 2 (0.1%)
|
||||
Stefano Babic 2 (0.1%)
|
||||
Elaine Zhang 2 (0.1%)
|
||||
Steven Liu 2 (0.1%)
|
||||
Xuhui Lin 2 (0.1%)
|
||||
Chukun Pan 2 (0.1%)
|
||||
Muhammad Hazim Izzat Zamri 2 (0.1%)
|
||||
Josua Mayer 2 (0.1%)
|
||||
Jesse Taube 2 (0.1%)
|
||||
Artur Kowalski 2 (0.1%)
|
||||
Jonathan Humphreys 2 (0.1%)
|
||||
牛 志宏 2 (0.1%)
|
||||
Daniel Golle 2 (0.1%)
|
||||
Nathan Morrisson 2 (0.1%)
|
||||
Jim Liu 2 (0.1%)
|
||||
Ernest Van Hoecke 2 (0.1%)
|
||||
Jonas Schwöbel 2 (0.1%)
|
||||
David Lechner 1 (0.1%)
|
||||
Fiona Klute 1 (0.1%)
|
||||
Duje Mihanović 1 (0.1%)
|
||||
Akashdeep Kaur 1 (0.1%)
|
||||
Baruch Siach 1 (0.1%)
|
||||
Sam Protsenko 1 (0.1%)
|
||||
Ivan Pang 1 (0.1%)
|
||||
Jan Čermák 1 (0.1%)
|
||||
Hiago De Franco 1 (0.1%)
|
||||
Hugo Villeneuve 1 (0.1%)
|
||||
Tim Harvey 1 (0.1%)
|
||||
BehradElmi 1 (0.1%)
|
||||
Wojciech Szamocki 1 (0.1%)
|
||||
Martin Kaistra 1 (0.1%)
|
||||
Frantisek Bohacek 1 (0.1%)
|
||||
Eddie Kovsky 1 (0.1%)
|
||||
Jayanth Dodderi Chidanand 1 (0.1%)
|
||||
Olaf Baehring 1 (0.1%)
|
||||
Simon Holesch 1 (0.1%)
|
||||
Thomas Schaefer 1 (0.1%)
|
||||
Michael Walle 1 (0.1%)
|
||||
No generic patch CC mail please 1 (0.1%)
|
||||
Nikunj Kela 1 (0.1%)
|
||||
Naresh Solanki 1 (0.1%)
|
||||
Andy Shevchenko 1 (0.1%)
|
||||
Jiehui He 1 (0.1%)
|
||||
Ilya Katsnelson 1 (0.1%)
|
||||
Prasanth Babu Mantena 1 (0.1%)
|
||||
Chen-Yu Tsai 1 (0.1%)
|
||||
Ben Wolsieffer 1 (0.1%)
|
||||
ZhiJie.zhang 1 (0.1%)
|
||||
Christophe Roullier 1 (0.1%)
|
||||
Alexander Vickberg 1 (0.1%)
|
||||
Carlos López 1 (0.1%)
|
||||
Christoph Niedermaier 1 (0.1%)
|
||||
Boon Khai Ng 1 (0.1%)
|
||||
Bhavya Kapoor 1 (0.1%)
|
||||
Love Kumar 1 (0.1%)
|
||||
Nicolas Frattaroli 1 (0.1%)
|
||||
Lin Jinhan 1 (0.1%)
|
||||
Joseph Chen 1 (0.1%)
|
||||
Yifeng Zhao 1 (0.1%)
|
||||
Sean Edmond 1 (0.1%)
|
||||
Mathieu Othacehe 1 (0.1%)
|
||||
Jean-Jacques Hiblot 1 (0.1%)
|
||||
Ezra Buehler 1 (0.1%)
|
||||
Parth Pancholi 1 (0.1%)
|
||||
Lucien.Jheng 1 (0.1%)
|
||||
Mauro Salvini 1 (0.1%)
|
||||
Bruno Leite 1 (0.1%)
|
||||
Chris Packham 1 (0.1%)
|
||||
yan wang 1 (0.1%)
|
||||
Parvathi Pudi 1 (0.1%)
|
||||
Martin Schwan 1 (0.1%)
|
||||
Viorel Suman 1 (0.1%)
|
||||
Rafael Beims 1 (0.1%)
|
||||
Christian Kohlschütter 1 (0.1%)
|
||||
Luke Wang 1 (0.1%)
|
||||
Xu Zhang 1 (0.1%)
|
||||
Andreas Dannenberg 1 (0.1%)
|
||||
Andrew Goodbody 1 (0.1%)
|
||||
Gary Bisson 1 (0.1%)
|
||||
Oskar Nilsson 1 (0.1%)
|
||||
Sukrut Bellary 1 (0.1%)
|
||||
Richard Genoud 1 (0.1%)
|
||||
Gowtham Tammana 1 (0.1%)
|
||||
Vishal Mahaveer 1 (0.1%)
|
||||
Masahisa Kojima 1 (0.1%)
|
||||
Jimmy Ho 1 (0.1%)
|
||||
Junhui Liu 1 (0.1%)
|
||||
Baltazár Radics 1 (0.1%)
|
||||
Arseniy Krasnov 1 (0.1%)
|
||||
Robert Nelson 1 (0.1%)
|
||||
Dragan Simic 1 (0.1%)
|
||||
Vignesh Raghavendra 1 (0.1%)
|
||||
Linus Walleij 1 (0.1%)
|
||||
J. Neuschäfer 1 (0.1%)
|
||||
Alexander Stein 1 (0.1%)
|
||||
Stefan Eichenberger 1 (0.1%)
|
||||
Michael Chang 1 (0.1%)
|
||||
Hironori KIKUCHI 1 (0.1%)
|
||||
Tomas Peterka 1 (0.1%)
|
||||
Balamanikandan Gunasundar 1 (0.1%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Developers with the most changed lines
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
Tom Rini 78284 (33.7%)
|
||||
Patrice Chotard 20809 (9.0%)
|
||||
Manorit Chawdhry 17813 (7.7%)
|
||||
Svyatoslav Ryhel 16864 (7.3%)
|
||||
Simon Glass 8757 (3.8%)
|
||||
Marek Vasut 8650 (3.7%)
|
||||
Robert Nelson 5921 (2.6%)
|
||||
Vitor Soares 4567 (2.0%)
|
||||
Bernhard Messerklinger 3955 (1.7%)
|
||||
Elaine Zhang 3663 (1.6%)
|
||||
Yao Zi 3317 (1.4%)
|
||||
Dinesh Maniyam 3269 (1.4%)
|
||||
Jonas Karlman 3191 (1.4%)
|
||||
Christian Marangi 3131 (1.3%)
|
||||
Jerome Forissier 2676 (1.2%)
|
||||
Joseph Chen 2480 (1.1%)
|
||||
Nathan Barrett-Morrison 2115 (0.9%)
|
||||
Tingting Meng 2075 (0.9%)
|
||||
Peng Fan 1544 (0.7%)
|
||||
Dario Binacchi 1387 (0.6%)
|
||||
Varadarajan Narayanan 1338 (0.6%)
|
||||
Miquel Raynal 1244 (0.5%)
|
||||
Jesse Taube 1242 (0.5%)
|
||||
Gabriel Dalimonte 1162 (0.5%)
|
||||
Heiko Stuebner 1114 (0.5%)
|
||||
Adriano Cordova 1013 (0.4%)
|
||||
Tien Fong Chee 987 (0.4%)
|
||||
Ye Li 982 (0.4%)
|
||||
Heinrich Schuchardt 981 (0.4%)
|
||||
Patrick Delaunay 944 (0.4%)
|
||||
Andre Przywara 912 (0.4%)
|
||||
Alice Guo 906 (0.4%)
|
||||
Greg Malysa 875 (0.4%)
|
||||
Paul HENRYS 823 (0.4%)
|
||||
Lucien.Jheng 818 (0.4%)
|
||||
Casey Connolly 780 (0.3%)
|
||||
Neil Armstrong 745 (0.3%)
|
||||
Manikandan Muralidharan 737 (0.3%)
|
||||
Huan Zhou 722 (0.3%)
|
||||
Paul Barker 686 (0.3%)
|
||||
Minda Chen 667 (0.3%)
|
||||
Fabio Estevam 598 (0.3%)
|
||||
Nishanth Menon 574 (0.2%)
|
||||
Steven Liu 556 (0.2%)
|
||||
Alexander Graf 511 (0.2%)
|
||||
Lionel Debieve 501 (0.2%)
|
||||
Ilias Apalodimas 486 (0.2%)
|
||||
Xuhui Lin 476 (0.2%)
|
||||
Sughosh Ganu 473 (0.2%)
|
||||
Andrew Davis 461 (0.2%)
|
||||
Jiaxun Yang 449 (0.2%)
|
||||
Neha Malcom Francis 437 (0.2%)
|
||||
Jernej Skrabec 431 (0.2%)
|
||||
Baocheng Su 424 (0.2%)
|
||||
Wadim Egorov 421 (0.2%)
|
||||
Alif Zakuan Yuslaimi 416 (0.2%)
|
||||
Prasad Kummari 404 (0.2%)
|
||||
Hari Nagalla 402 (0.2%)
|
||||
Cheick Traore 391 (0.2%)
|
||||
Simon Holesch 388 (0.2%)
|
||||
Samuel Holland 337 (0.1%)
|
||||
Hector Martin 334 (0.1%)
|
||||
Harsha Vardhan V M 326 (0.1%)
|
||||
Jonas Schwöbel 302 (0.1%)
|
||||
Alexey Minnekhanov 290 (0.1%)
|
||||
Primoz Fiser 266 (0.1%)
|
||||
Alexander Dahl 256 (0.1%)
|
||||
Siddharth Vadapalli 248 (0.1%)
|
||||
Michael Trimarchi 217 (0.1%)
|
||||
Alper Nebi Yasak 210 (0.1%)
|
||||
Stephan Gerhold 204 (0.1%)
|
||||
Chukun Pan 191 (0.1%)
|
||||
Venkatesh Yadav Abbarapu 189 (0.1%)
|
||||
Adam Ford 186 (0.1%)
|
||||
Evgeny Bachinin 181 (0.1%)
|
||||
Michael Bode 179 (0.1%)
|
||||
Patrick Rudolph 175 (0.1%)
|
||||
Judith Mendez 168 (0.1%)
|
||||
Heiko Schocher 158 (0.1%)
|
||||
Aniket Limaye 157 (0.1%)
|
||||
Anshul Dalal 155 (0.1%)
|
||||
Jonathan Humphreys 152 (0.1%)
|
||||
Rui Miguel Silva 151 (0.1%)
|
||||
Luke Wang 150 (0.1%)
|
||||
Sam Day 127 (0.1%)
|
||||
E Shattow 127 (0.1%)
|
||||
Raymond Mao 121 (0.1%)
|
||||
Quentin Schulz 116 (0.0%)
|
||||
Ilya Katsnelson 116 (0.0%)
|
||||
Harrison Mutai 108 (0.0%)
|
||||
Hrushikesh Salunke 105 (0.0%)
|
||||
Bryan Brattlof 104 (0.0%)
|
||||
Michal Simek 103 (0.0%)
|
||||
Jonathan Currier 103 (0.0%)
|
||||
Mike Looijmans 99 (0.0%)
|
||||
Jiehui He 96 (0.0%)
|
||||
Tomas Peterka 78 (0.0%)
|
||||
Justin Klaassen 77 (0.0%)
|
||||
Jeremy Compostella 75 (0.0%)
|
||||
Santhosh Kumar K 74 (0.0%)
|
||||
Lin Jinhan 73 (0.0%)
|
||||
Balamanikandan Gunasundar 73 (0.0%)
|
||||
Andreas Dannenberg 65 (0.0%)
|
||||
Ernest Van Hoecke 64 (0.0%)
|
||||
Sam Edwards 62 (0.0%)
|
||||
Christoph Fritz 61 (0.0%)
|
||||
Weijie Gao 60 (0.0%)
|
||||
Keerthy 59 (0.0%)
|
||||
Vishal Mahaveer 59 (0.0%)
|
||||
Mayuresh Chitale 57 (0.0%)
|
||||
Leonard Anderweit 57 (0.0%)
|
||||
Kory Maincent 55 (0.0%)
|
||||
Jim Liu 54 (0.0%)
|
||||
Walter Schweizer 53 (0.0%)
|
||||
Masahisa Kojima 52 (0.0%)
|
||||
Udit Kumar 50 (0.0%)
|
||||
Mikhail Kshevetskiy 48 (0.0%)
|
||||
Pascal Zimmermann 42 (0.0%)
|
||||
Muhammad Hazim Izzat Zamri 42 (0.0%)
|
||||
Nathan Morrisson 41 (0.0%)
|
||||
Daniel Schultz 40 (0.0%)
|
||||
Sumit Garg 39 (0.0%)
|
||||
Dragan Simic 37 (0.0%)
|
||||
Boon Khai Ng 35 (0.0%)
|
||||
Jorge Ramirez-Ortiz 32 (0.0%)
|
||||
Chen-Yu Tsai 32 (0.0%)
|
||||
Tony Dinh 31 (0.0%)
|
||||
Naresh Kumar Ravulapalli 31 (0.0%)
|
||||
Anton Moryakov 31 (0.0%)
|
||||
Rasmus Villemoes 30 (0.0%)
|
||||
Vaishnav Achath 30 (0.0%)
|
||||
Artur Kowalski 30 (0.0%)
|
||||
Love Kumar 29 (0.0%)
|
||||
Sinthu Raja 28 (0.0%)
|
||||
Jean-Jacques Hiblot 28 (0.0%)
|
||||
Lukasz Czechowski 26 (0.0%)
|
||||
Nikunj Kela 23 (0.0%)
|
||||
Sean Edmond 23 (0.0%)
|
||||
Daniel Golle 22 (0.0%)
|
||||
Mattijs Korpershoek 21 (0.0%)
|
||||
Zixun LI 19 (0.0%)
|
||||
Wojciech Szamocki 19 (0.0%)
|
||||
Anurag Dutta 18 (0.0%)
|
||||
Padmarao Begari 17 (0.0%)
|
||||
Bhavya Kapoor 17 (0.0%)
|
||||
Aristo Chen 16 (0.0%)
|
||||
Christophe Roullier 16 (0.0%)
|
||||
Hironori KIKUCHI 16 (0.0%)
|
||||
Jayanth Dodderi Chidanand 15 (0.0%)
|
||||
Olaf Baehring 15 (0.0%)
|
||||
Vincent Stehlé 14 (0.0%)
|
||||
Maks Mishin 13 (0.0%)
|
||||
Andy Shevchenko 13 (0.0%)
|
||||
Viorel Suman 13 (0.0%)
|
||||
Michael Chang 13 (0.0%)
|
||||
Andrew Halaney 12 (0.0%)
|
||||
Prasanth Babu Mantena 12 (0.0%)
|
||||
Rafael Beims 12 (0.0%)
|
||||
Baltazár Radics 12 (0.0%)
|
||||
Benjamin ROBIN 11 (0.0%)
|
||||
Mathieu Othacehe 11 (0.0%)
|
||||
Junhui Liu 11 (0.0%)
|
||||
Stefan Eichenberger 11 (0.0%)
|
||||
Alexander Sverdlin 10 (0.0%)
|
||||
Sam Protsenko 10 (0.0%)
|
||||
Pawel Kochanowski 9 (0.0%)
|
||||
Josua Mayer 9 (0.0%)
|
||||
Fiona Klute 9 (0.0%)
|
||||
Martin Kaistra 8 (0.0%)
|
||||
Michael Walle 8 (0.0%)
|
||||
Nicolas Frattaroli 8 (0.0%)
|
||||
Liya Huang 7 (0.0%)
|
||||
Peter Robinson 7 (0.0%)
|
||||
No generic patch CC mail please 7 (0.0%)
|
||||
ZhiJie.zhang 7 (0.0%)
|
||||
Gowtham Tammana 7 (0.0%)
|
||||
Shiji Yang 6 (0.0%)
|
||||
Parvathi Pudi 5 (0.0%)
|
||||
Emanuele Ghidoli 4 (0.0%)
|
||||
Stefano Babic 4 (0.0%)
|
||||
David Lechner 4 (0.0%)
|
||||
Frantisek Bohacek 4 (0.0%)
|
||||
Martin Schwan 4 (0.0%)
|
||||
Andrew Goodbody 4 (0.0%)
|
||||
Gary Bisson 4 (0.0%)
|
||||
J. Neuschäfer 4 (0.0%)
|
||||
Martin Schiller 3 (0.0%)
|
||||
Yang Xiwen 3 (0.0%)
|
||||
Benjamin Schneider 3 (0.0%)
|
||||
牛 志宏 3 (0.0%)
|
||||
Duje Mihanović 3 (0.0%)
|
||||
Thomas Schaefer 3 (0.0%)
|
||||
Parth Pancholi 3 (0.0%)
|
||||
Mauro Salvini 3 (0.0%)
|
||||
Bruno Leite 3 (0.0%)
|
||||
Christian Kohlschütter 3 (0.0%)
|
||||
Xu Zhang 3 (0.0%)
|
||||
Arseniy Krasnov 3 (0.0%)
|
||||
Alexander Stein 3 (0.0%)
|
||||
Marius Dinu 2 (0.0%)
|
||||
Takahiro Kuwano 2 (0.0%)
|
||||
Ivan Pang 2 (0.0%)
|
||||
Hiago De Franco 2 (0.0%)
|
||||
Eddie Kovsky 2 (0.0%)
|
||||
Chris Packham 2 (0.0%)
|
||||
Sukrut Bellary 2 (0.0%)
|
||||
Jimmy Ho 2 (0.0%)
|
||||
Akashdeep Kaur 1 (0.0%)
|
||||
Baruch Siach 1 (0.0%)
|
||||
Jan Čermák 1 (0.0%)
|
||||
Hugo Villeneuve 1 (0.0%)
|
||||
Tim Harvey 1 (0.0%)
|
||||
BehradElmi 1 (0.0%)
|
||||
Naresh Solanki 1 (0.0%)
|
||||
Ben Wolsieffer 1 (0.0%)
|
||||
Alexander Vickberg 1 (0.0%)
|
||||
Carlos López 1 (0.0%)
|
||||
Christoph Niedermaier 1 (0.0%)
|
||||
Yifeng Zhao 1 (0.0%)
|
||||
Ezra Buehler 1 (0.0%)
|
||||
yan wang 1 (0.0%)
|
||||
Oskar Nilsson 1 (0.0%)
|
||||
Richard Genoud 1 (0.0%)
|
||||
Vignesh Raghavendra 1 (0.0%)
|
||||
Linus Walleij 1 (0.0%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Developers with the most lines removed
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
Patrice Chotard 19307 (30.1%)
|
||||
Jesse Taube 1211 (1.9%)
|
||||
Fabio Estevam 561 (0.9%)
|
||||
Primoz Fiser 241 (0.4%)
|
||||
Prasad Kummari 191 (0.3%)
|
||||
Andrew Davis 129 (0.2%)
|
||||
Samuel Holland 129 (0.2%)
|
||||
Jiaxun Yang 74 (0.1%)
|
||||
Quentin Schulz 67 (0.1%)
|
||||
E Shattow 51 (0.1%)
|
||||
Judith Mendez 45 (0.1%)
|
||||
Jonathan Humphreys 44 (0.1%)
|
||||
Hrushikesh Salunke 37 (0.1%)
|
||||
Dragan Simic 37 (0.1%)
|
||||
Lionel Debieve 31 (0.0%)
|
||||
Tomas Peterka 29 (0.0%)
|
||||
Chen-Yu Tsai 26 (0.0%)
|
||||
Stephan Gerhold 15 (0.0%)
|
||||
Tony Dinh 11 (0.0%)
|
||||
Baltazár Radics 9 (0.0%)
|
||||
Heiko Schocher 4 (0.0%)
|
||||
Mauro Salvini 3 (0.0%)
|
||||
Jorge Ramirez-Ortiz 2 (0.0%)
|
||||
No generic patch CC mail please 2 (0.0%)
|
||||
Arseniy Krasnov 2 (0.0%)
|
||||
Jimmy Ho 2 (0.0%)
|
||||
Olaf Baehring 1 (0.0%)
|
||||
Benjamin ROBIN 1 (0.0%)
|
||||
Pawel Kochanowski 1 (0.0%)
|
||||
Liya Huang 1 (0.0%)
|
||||
Parvathi Pudi 1 (0.0%)
|
||||
Stefano Babic 1 (0.0%)
|
||||
Alexander Stein 1 (0.0%)
|
||||
Hugo Villeneuve 1 (0.0%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Developers with the most signoffs (total 449)
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
Caleb Connolly 87 (19.4%)
|
||||
Michal Simek 34 (7.6%)
|
||||
Heiko Stuebner 19 (4.2%)
|
||||
Jonas Karlman 15 (3.3%)
|
||||
Patrice Chotard 14 (3.1%)
|
||||
Mattijs Korpershoek 12 (2.7%)
|
||||
Vasileios Bimpikas 12 (2.7%)
|
||||
Utsav Agarwal 12 (2.7%)
|
||||
Arturs Artamonovs 12 (2.7%)
|
||||
Casey Connolly 12 (2.7%)
|
||||
Ian Roberts 11 (2.4%)
|
||||
Oliver Gaskell 11 (2.4%)
|
||||
Alice Guo 11 (2.4%)
|
||||
Peng Fan 11 (2.4%)
|
||||
Tien Fong Chee 10 (2.2%)
|
||||
Andre Przywara 7 (1.6%)
|
||||
Alper Nebi Yasak 7 (1.6%)
|
||||
Ilias Apalodimas 7 (1.6%)
|
||||
Greg Malysa 7 (1.6%)
|
||||
Patrick Delaunay 7 (1.6%)
|
||||
Mark Kettenis 6 (1.3%)
|
||||
Dario Binacchi 6 (1.3%)
|
||||
Judith Mendez 5 (1.1%)
|
||||
Michael Trimarchi 5 (1.1%)
|
||||
Wadim Egorov 5 (1.1%)
|
||||
Neil Armstrong 5 (1.1%)
|
||||
Nathan Barrett-Morrison 4 (0.9%)
|
||||
Svyatoslav Ryhel 4 (0.9%)
|
||||
Gatien Chevallier 3 (0.7%)
|
||||
Li Hua Qian 3 (0.7%)
|
||||
Jan Kiszka 3 (0.7%)
|
||||
Anurag Dutta 3 (0.7%)
|
||||
Sughosh Ganu 3 (0.7%)
|
||||
Neha Malcom Francis 3 (0.7%)
|
||||
Simon Glass 3 (0.7%)
|
||||
Tom Rini 3 (0.7%)
|
||||
Fabio Estevam 2 (0.4%)
|
||||
Primoz Fiser 2 (0.4%)
|
||||
Heiko Schocher 2 (0.4%)
|
||||
Ranjani Vaidyanathan 2 (0.4%)
|
||||
Mahesh Rao 2 (0.4%)
|
||||
Stephen Boyd 2 (0.4%)
|
||||
Angelo Dureghello 2 (0.4%)
|
||||
Piotr Wojtaszczyk 2 (0.4%)
|
||||
Andrew Halaney 2 (0.4%)
|
||||
Heinrich Schuchardt 2 (0.4%)
|
||||
Ye Li 2 (0.4%)
|
||||
Andrew Davis 1 (0.2%)
|
||||
Lionel Debieve 1 (0.2%)
|
||||
Arseniy Krasnov 1 (0.2%)
|
||||
Heiko Thiery 1 (0.2%)
|
||||
Wolfgang Birkner 1 (0.2%)
|
||||
Haibo Chen 1 (0.2%)
|
||||
Frank Li 1 (0.2%)
|
||||
Mark Brown 1 (0.2%)
|
||||
Ashok Reddy Soma 1 (0.2%)
|
||||
ZHANG Yuntian 1 (0.2%)
|
||||
Pan Bian 1 (0.2%)
|
||||
Richard Weinberger 1 (0.2%)
|
||||
Ji Luo 1 (0.2%)
|
||||
Jindong Yue 1 (0.2%)
|
||||
Francesco Dolcini 1 (0.2%)
|
||||
Thomas Bourgoin 1 (0.2%)
|
||||
Raphael Gallais-Pou 1 (0.2%)
|
||||
Finley Xiao 1 (0.2%)
|
||||
Basharath Hussain Khaja 1 (0.2%)
|
||||
Gabriel Nesteruk 1 (0.2%)
|
||||
AngeloGioacchino Del Regno 1 (0.2%)
|
||||
Sparsh Kumar 1 (0.2%)
|
||||
Sebin Francis 1 (0.2%)
|
||||
Sam Shih 1 (0.2%)
|
||||
Peter Geis 1 (0.2%)
|
||||
Viacheslav Bocharov 1 (0.2%)
|
||||
Beleswar Padhi 1 (0.2%)
|
||||
Ryan Eatmon 1 (0.2%)
|
||||
Charan Pedumuru 1 (0.2%)
|
||||
Walter Schweizer 1 (0.2%)
|
||||
Prasanth Babu Mantena 1 (0.2%)
|
||||
Viorel Suman 1 (0.2%)
|
||||
Nathan Morrisson 1 (0.2%)
|
||||
Boon Khai Ng 1 (0.2%)
|
||||
Udit Kumar 1 (0.2%)
|
||||
Muhammad Hazim Izzat Zamri 1 (0.2%)
|
||||
Keerthy 1 (0.2%)
|
||||
Manikandan Muralidharan 1 (0.2%)
|
||||
Aniket Limaye 1 (0.2%)
|
||||
Patrick Rudolph 1 (0.2%)
|
||||
Jonas Schwöbel 1 (0.2%)
|
||||
Nishanth Menon 1 (0.2%)
|
||||
Tingting Meng 1 (0.2%)
|
||||
Marek Vasut 1 (0.2%)
|
||||
Manorit Chawdhry 1 (0.2%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Developers with the most reviews (total 1002)
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
Kever Yang 116 (11.6%)
|
||||
Simon Glass 64 (6.4%)
|
||||
Ilias Apalodimas 53 (5.3%)
|
||||
Neil Armstrong 52 (5.2%)
|
||||
Tom Rini 52 (5.2%)
|
||||
Leo Yu-Chi Liang 45 (4.5%)
|
||||
Mattijs Korpershoek 40 (4.0%)
|
||||
Paul Barker 37 (3.7%)
|
||||
Marek Vasut 33 (3.3%)
|
||||
Quentin Schulz 32 (3.2%)
|
||||
Heinrich Schuchardt 30 (3.0%)
|
||||
Caleb Connolly 27 (2.7%)
|
||||
Peng Fan 27 (2.7%)
|
||||
Tien Fong Chee 26 (2.6%)
|
||||
Sumit Garg 25 (2.5%)
|
||||
Patrice Chotard 20 (2.0%)
|
||||
Patrick Delaunay 20 (2.0%)
|
||||
E Shattow 19 (1.9%)
|
||||
Stefan Roese 18 (1.8%)
|
||||
Bryan Brattlof 17 (1.7%)
|
||||
Jonas Karlman 16 (1.6%)
|
||||
Heiko Schocher 16 (1.6%)
|
||||
Andrew Davis 16 (1.6%)
|
||||
Matthias Brugger 14 (1.4%)
|
||||
Jerome Forissier 13 (1.3%)
|
||||
Daniel Schwierzeck 12 (1.2%)
|
||||
Jernej Skrabec 12 (1.2%)
|
||||
Fabio Estevam 9 (0.9%)
|
||||
Udit Kumar 9 (0.9%)
|
||||
Andre Przywara 8 (0.8%)
|
||||
Neha Malcom Francis 8 (0.8%)
|
||||
Hal Feng 8 (0.8%)
|
||||
Christopher Obbard 8 (0.8%)
|
||||
Casey Connolly 7 (0.7%)
|
||||
Wadim Egorov 6 (0.6%)
|
||||
Ye Li 6 (0.6%)
|
||||
Eugen Hristev 6 (0.6%)
|
||||
Michael Trimarchi 5 (0.5%)
|
||||
Francesco Dolcini 4 (0.4%)
|
||||
Roger Quadros 4 (0.4%)
|
||||
Peter Robinson 4 (0.4%)
|
||||
Svyatoslav Ryhel 3 (0.3%)
|
||||
Dhruva Gole 3 (0.3%)
|
||||
Jaehoon Chung 3 (0.3%)
|
||||
Tobias Waldekranz 3 (0.3%)
|
||||
Fabrice Gasnier 3 (0.3%)
|
||||
Daniel Schultz 3 (0.3%)
|
||||
Siddharth Vadapalli 3 (0.3%)
|
||||
Alice Guo 2 (0.2%)
|
||||
Nishanth Menon 2 (0.2%)
|
||||
Tudor Ambarus 2 (0.2%)
|
||||
Joao Marcos Costa 2 (0.2%)
|
||||
Richard Henderson 2 (0.2%)
|
||||
Judith Mendez 1 (0.1%)
|
||||
Sughosh Ganu 1 (0.1%)
|
||||
Frank Li 1 (0.1%)
|
||||
AngeloGioacchino Del Regno 1 (0.1%)
|
||||
Linus Walleij 1 (0.1%)
|
||||
Ramon Fried 1 (0.1%)
|
||||
Lukasz Majewski 1 (0.1%)
|
||||
Maxim Moskalets 1 (0.1%)
|
||||
Vladimir Oltean 1 (0.1%)
|
||||
Paul Kocialkowski 1 (0.1%)
|
||||
Anand Moon 1 (0.1%)
|
||||
Boris Brezillon 1 (0.1%)
|
||||
Krzysztof Kozlowski 1 (0.1%)
|
||||
Sean Anderson 1 (0.1%)
|
||||
Icenowy Zheng 1 (0.1%)
|
||||
Yixun Lan 1 (0.1%)
|
||||
Teresa Remmet 1 (0.1%)
|
||||
Anshul Dalal 1 (0.1%)
|
||||
Michael Walle 1 (0.1%)
|
||||
Alexander Sverdlin 1 (0.1%)
|
||||
Andy Shevchenko 1 (0.1%)
|
||||
Love Kumar 1 (0.1%)
|
||||
Leonard Anderweit 1 (0.1%)
|
||||
Harrison Mutai 1 (0.1%)
|
||||
Adam Ford 1 (0.1%)
|
||||
Christian Marangi 1 (0.1%)
|
||||
Yao Zi 1 (0.1%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Developers with the most test credits (total 89)
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
E Shattow 7 (7.9%)
|
||||
Love Kumar 7 (7.9%)
|
||||
Ion Agorria 7 (7.9%)
|
||||
Christopher Obbard 6 (6.7%)
|
||||
Danila Tikhonov 6 (6.7%)
|
||||
Jens Reidel 6 (6.7%)
|
||||
Sumit Garg 4 (4.5%)
|
||||
Zixun LI 4 (4.5%)
|
||||
Simon Glass 3 (3.4%)
|
||||
Neil Armstrong 3 (3.4%)
|
||||
Sughosh Ganu 3 (3.4%)
|
||||
Mattijs Korpershoek 2 (2.2%)
|
||||
Quentin Schulz 2 (2.2%)
|
||||
Heinrich Schuchardt 2 (2.2%)
|
||||
Patrice Chotard 2 (2.2%)
|
||||
Fabio Estevam 2 (2.2%)
|
||||
Daniel Schultz 2 (2.2%)
|
||||
Dang Huynh 2 (2.2%)
|
||||
Peter Robinson 1 (1.1%)
|
||||
Vladimir Oltean 1 (1.1%)
|
||||
Adam Ford 1 (1.1%)
|
||||
Yao Zi 1 (1.1%)
|
||||
Michal Simek 1 (1.1%)
|
||||
Prasanth Babu Mantena 1 (1.1%)
|
||||
Jonathan Humphreys 1 (1.1%)
|
||||
Tony Dinh 1 (1.1%)
|
||||
Niklas Sombert 1 (1.1%)
|
||||
Weizhao Ouyang 1 (1.1%)
|
||||
Marcel Ziswiler 1 (1.1%)
|
||||
Faqiang Zhu 1 (1.1%)
|
||||
Ryan Walklin 1 (1.1%)
|
||||
Tim Harvey 1 (1.1%)
|
||||
Nicolas Frattaroli 1 (1.1%)
|
||||
Raymond Mao 1 (1.1%)
|
||||
Sam Day 1 (1.1%)
|
||||
Alexey Minnekhanov 1 (1.1%)
|
||||
Huan Zhou 1 (1.1%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Developers who gave the most tested-by credits (total 89)
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
Casey Connolly 19 (21.3%)
|
||||
Svyatoslav Ryhel 8 (9.0%)
|
||||
Simon Glass 7 (7.9%)
|
||||
Neil Armstrong 6 (6.7%)
|
||||
Ilias Apalodimas 6 (6.7%)
|
||||
Minda Chen 5 (5.6%)
|
||||
Mattijs Korpershoek 4 (4.5%)
|
||||
Heinrich Schuchardt 4 (4.5%)
|
||||
Jerome Forissier 4 (4.5%)
|
||||
Marek Vasut 3 (3.4%)
|
||||
Quentin Schulz 2 (2.2%)
|
||||
Thomas Schaefer 2 (2.2%)
|
||||
Michal Simek 1 (1.1%)
|
||||
Raymond Mao 1 (1.1%)
|
||||
Tom Rini 1 (1.1%)
|
||||
Paul Barker 1 (1.1%)
|
||||
Peng Fan 1 (1.1%)
|
||||
Patrick Delaunay 1 (1.1%)
|
||||
Jonas Karlman 1 (1.1%)
|
||||
Jernej Skrabec 1 (1.1%)
|
||||
Wadim Egorov 1 (1.1%)
|
||||
Michael Trimarchi 1 (1.1%)
|
||||
Heiko Stuebner 1 (1.1%)
|
||||
Jiaxun Yang 1 (1.1%)
|
||||
Junhui Liu 1 (1.1%)
|
||||
Eddie Kovsky 1 (1.1%)
|
||||
Bruno Leite 1 (1.1%)
|
||||
Weijie Gao 1 (1.1%)
|
||||
Venkatesh Yadav Abbarapu 1 (1.1%)
|
||||
Hari Nagalla 1 (1.1%)
|
||||
Adriano Cordova 1 (1.1%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Developers with the most report credits (total 41)
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
Da Xue 6 (14.6%)
|
||||
Heinrich Schuchardt 4 (9.8%)
|
||||
Tom Rini 4 (9.8%)
|
||||
Zixun LI 3 (7.3%)
|
||||
Francesco Dolcini 2 (4.9%)
|
||||
Nathaniel Hourt 2 (4.9%)
|
||||
Kuba Szczodrzyński 2 (4.9%)
|
||||
Quentin Schulz 1 (2.4%)
|
||||
Jernej Skrabec 1 (2.4%)
|
||||
Yao Zi 1 (2.4%)
|
||||
Tony Dinh 1 (2.4%)
|
||||
Niklas Sombert 1 (2.4%)
|
||||
Weizhao Ouyang 1 (2.4%)
|
||||
Tim Harvey 1 (2.4%)
|
||||
Sam Day 1 (2.4%)
|
||||
Anshul Dalal 1 (2.4%)
|
||||
Heiko Thiery 1 (2.4%)
|
||||
Keerthy 1 (2.4%)
|
||||
Enric Balletbo i Serra 1 (2.4%)
|
||||
Chirag Shilwant 1 (2.4%)
|
||||
Prashant Shivhare 1 (2.4%)
|
||||
Chintan Vankar 1 (2.4%)
|
||||
Parth Pancholi 1 (2.4%)
|
||||
Christoph Niedermaier 1 (2.4%)
|
||||
Mikhail Kshevetskiy 1 (2.4%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Developers who gave the most report credits (total 41)
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
Alexander Graf 7 (17.1%)
|
||||
Tom Rini 4 (9.8%)
|
||||
Jerome Forissier 4 (9.8%)
|
||||
Simon Glass 3 (7.3%)
|
||||
Mattijs Korpershoek 3 (7.3%)
|
||||
Andre Przywara 3 (7.3%)
|
||||
Yao Zi 2 (4.9%)
|
||||
Andrew Davis 2 (4.9%)
|
||||
Heinrich Schuchardt 1 (2.4%)
|
||||
Anshul Dalal 1 (2.4%)
|
||||
Casey Connolly 1 (2.4%)
|
||||
Ilias Apalodimas 1 (2.4%)
|
||||
Marek Vasut 1 (2.4%)
|
||||
Weijie Gao 1 (2.4%)
|
||||
Adriano Cordova 1 (2.4%)
|
||||
Fabio Estevam 1 (2.4%)
|
||||
Adam Ford 1 (2.4%)
|
||||
Bryan Brattlof 1 (2.4%)
|
||||
Alice Guo 1 (2.4%)
|
||||
Alexander Sverdlin 1 (2.4%)
|
||||
Bhavya Kapoor 1 (2.4%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Top changeset contributors by employer
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
(Unknown) 747 (42.0%)
|
||||
Google LLC 172 (9.7%)
|
||||
Linaro 169 (9.5%)
|
||||
Texas Instruments 126 (7.1%)
|
||||
Konsulko Group 91 (5.1%)
|
||||
DENX Software Engineering 68 (3.8%)
|
||||
Renesas Electronics 68 (3.8%)
|
||||
ARM 61 (3.4%)
|
||||
ST Microelectronics 52 (2.9%)
|
||||
Intel 50 (2.8%)
|
||||
AMD 39 (2.2%)
|
||||
Phytec 38 (2.1%)
|
||||
NXP 27 (1.5%)
|
||||
Amarula Solutions 20 (1.1%)
|
||||
Bootlin 17 (1.0%)
|
||||
Toradex 10 (0.6%)
|
||||
Rockchip 9 (0.5%)
|
||||
Siemens 8 (0.4%)
|
||||
Red Hat 3 (0.2%)
|
||||
BayLibre SAS 1 (0.1%)
|
||||
Collabora Ltd. 1 (0.1%)
|
||||
linutronix 1 (0.1%)
|
||||
Nokia 1 (0.1%)
|
||||
Socionext Inc. 1 (0.1%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Top lines changed by employer
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
Konsulko Group 78284 (33.7%)
|
||||
(Unknown) 59242 (25.5%)
|
||||
ST Microelectronics 22661 (9.8%)
|
||||
Texas Instruments 21551 (9.3%)
|
||||
Google LLC 8757 (3.8%)
|
||||
Rockchip 7249 (3.1%)
|
||||
DENX Software Engineering 7195 (3.1%)
|
||||
Linaro 5651 (2.4%)
|
||||
Toradex 4661 (2.0%)
|
||||
Intel 4500 (1.9%)
|
||||
NXP 3595 (1.5%)
|
||||
Renesas Electronics 2880 (1.2%)
|
||||
Amarula Solutions 1604 (0.7%)
|
||||
Bootlin 1300 (0.6%)
|
||||
ARM 1049 (0.5%)
|
||||
AMD 742 (0.3%)
|
||||
Phytec 522 (0.2%)
|
||||
Siemens 483 (0.2%)
|
||||
Socionext Inc. 52 (0.0%)
|
||||
Nokia 19 (0.0%)
|
||||
Red Hat 14 (0.0%)
|
||||
Collabora Ltd. 8 (0.0%)
|
||||
linutronix 8 (0.0%)
|
||||
BayLibre SAS 2 (0.0%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Employers with the most signoffs (total 449)
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
(Unknown) 125 (27.8%)
|
||||
Linaro 114 (25.4%)
|
||||
Analog Devices 47 (10.5%)
|
||||
AMD 34 (7.6%)
|
||||
NXP 31 (6.9%)
|
||||
ST Microelectronics 27 (6.0%)
|
||||
Texas Instruments 22 (4.9%)
|
||||
Amarula Solutions 11 (2.4%)
|
||||
ARM 7 (1.6%)
|
||||
Siemens 7 (1.6%)
|
||||
Phytec 5 (1.1%)
|
||||
Konsulko Group 3 (0.7%)
|
||||
Google LLC 3 (0.7%)
|
||||
DENX Software Engineering 2 (0.4%)
|
||||
Red Hat 2 (0.4%)
|
||||
BayLibre SAS 2 (0.4%)
|
||||
Canonical 2 (0.4%)
|
||||
Rockchip 1 (0.2%)
|
||||
Toradex 1 (0.2%)
|
||||
Renesas Electronics 1 (0.2%)
|
||||
Collabora Ltd. 1 (0.2%)
|
||||
Xilinx 1 (0.2%)
|
||||
==================================== =====
|
||||
|
||||
|
||||
.. table:: Employers with the most hackers (total 230)
|
||||
:widths: auto
|
||||
|
||||
==================================== =====
|
||||
Name Count
|
||||
==================================== =====
|
||||
(Unknown) 129 (56.1%)
|
||||
Texas Instruments 27 (11.7%)
|
||||
Linaro 11 (4.8%)
|
||||
Toradex 7 (3.0%)
|
||||
Rockchip 6 (2.6%)
|
||||
AMD 5 (2.2%)
|
||||
NXP 5 (2.2%)
|
||||
ST Microelectronics 5 (2.2%)
|
||||
Intel 5 (2.2%)
|
||||
ARM 4 (1.7%)
|
||||
Phytec 4 (1.7%)
|
||||
Siemens 3 (1.3%)
|
||||
DENX Software Engineering 3 (1.3%)
|
||||
Bootlin 3 (1.3%)
|
||||
Amarula Solutions 2 (0.9%)
|
||||
Red Hat 2 (0.9%)
|
||||
Renesas Electronics 2 (0.9%)
|
||||
Konsulko Group 1 (0.4%)
|
||||
Google LLC 1 (0.4%)
|
||||
BayLibre SAS 1 (0.4%)
|
||||
Collabora Ltd. 1 (0.4%)
|
||||
Socionext Inc. 1 (0.4%)
|
||||
Nokia 1 (0.4%)
|
||||
linutronix 1 (0.4%)
|
||||
==================================== =====
|
||||
@@ -54,7 +54,7 @@ partition string
|
||||
|
||||
* name=<NAME> - The partition name, required
|
||||
* start=<BYTES> - The partition start offset in bytes, required
|
||||
* size=<BYTES> - The partition size in bytes or "-" to expand it to the whole free area
|
||||
* size=<BYTES> - The partition size in bytes or "-" for the last partition to expand it to the whole free area
|
||||
* bootable - Set the legacy bootable flag
|
||||
* uuid=<UUID> - The partition UUID, optional if CONFIG_RANDOM_UUID=y is enabled
|
||||
* type=<UUID> - The partition type GUID, requires CONFIG_PARTITION_TYPE_GUID=y
|
||||
@@ -63,6 +63,23 @@ partition string
|
||||
If 'uuid' is not specified, but CONFIG_RANDOM_UUID is enabled, a random UUID
|
||||
will be generated for the partition
|
||||
|
||||
If 'type' is not specified or without CONFIG_PARTITION_TYPE_GUID=y,
|
||||
the used partition type GUID is PARTITION_BASIC_DATA_GUID.
|
||||
|
||||
Some strings can be also used at the place of the known partition type GUID:
|
||||
* "mbr" = LEGACY_MBR_PARTITION_GUID (024DEE41-33E7-11D3-9D69-0008C781F39F)
|
||||
* "msft" = PARTITION_MSFT_RESERVED_GUID (E3C9E316-0B5C-4DB8-817D-F92DF00215AE)
|
||||
* "data" = PARTITION_BASIC_DATA_GUID (EBD0A0A2-B9E5-4433-87C0-68B6B72699C7)
|
||||
* "linux" = PARTITION_LINUX_FILE_SYSTEM_DATA_GUID (0FC63DAF-8483-4772-8E79-3D69D8477DE4)
|
||||
* "raid" = PARTITION_LINUX_RAID_GUID (A19D880F-05FC-4D3B-A006-743F0F84911E)
|
||||
* "swap" = PARTITION_LINUX_SWAP_GUID (0657FD6D-A4AB-43C4-84E5-0933C84B4F4F)
|
||||
* "lvm" = PARTITION_LINUX_LVM_GUID (E6D6D379-F507-44C2-A23C-238F2A3DF928)
|
||||
* "u-boot-env" = PARTITION_U_BOOT_ENVIRONMENT(3DE21764-95BD-54BD-A5C3-4ABE786F38A8)
|
||||
* "system" = PARTITION_SYSTEM_GUID (C12A7328-F81F-11D2-BA4B-00A0C93EC93B)
|
||||
|
||||
The GPT partitions layout and associated 'type' are also printed with the
|
||||
:doc:`part command <part>` command by typing "part list".
|
||||
|
||||
gpt enumerate
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
@@ -162,16 +179,17 @@ Examples
|
||||
|
||||
Create 6 partitions on a disk::
|
||||
|
||||
=> setenv gpt_parts 'uuid_disk=bec9fc2a-86c1-483d-8a0e-0109732277d7;
|
||||
name=boot,start=4M,size=128M,bootable,type=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7,
|
||||
name=rootfs,size=3072M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
|
||||
name=system-data,size=512M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
|
||||
name=[ext],size=-,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
|
||||
name=user,size=-,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
|
||||
name=modules,size=100M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
|
||||
name=ramdisk,size=8M,type=0fc63daf-8483-4772-8e79-3d69d8477de4
|
||||
=> setenv gpt_parts 'uuid_disk=bec9fc2a-86c1-483d-8a0e-0109732277d7;\
|
||||
name=boot,start=4M,size=128M,bootable,type=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7;\
|
||||
name=rootfs,size=3072M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
|
||||
name=system-data,size=512M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
|
||||
name=user,size=512M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
|
||||
name=modules,size=100M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
|
||||
name=ramdisk,size=8M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
|
||||
name=[ext],size=-,type=0fc63daf-8483-4772-8e79-3d69d8477de4'
|
||||
=> gpt write mmc 0 $gpt_parts
|
||||
|
||||
Last partition "[ext]" with '-' is extended up to the end of the disk
|
||||
|
||||
Verify that the device matches the partition layout described in the variable
|
||||
$gpt_parts::
|
||||
@@ -228,3 +246,60 @@ Swap the order of the 'boot' and 'rootfs' partition table entries::
|
||||
=> gpt setenv mmc 0 boot
|
||||
=> echo ${gpt_partition_entry}
|
||||
2
|
||||
|
||||
Other example: a disk with known partition types::
|
||||
|
||||
=> setenv gpt_parts 'name=u-boot,size=32M,type=data;\
|
||||
name=env,size=1M,type=u-boot-env;
|
||||
name=ESP,size=128M,type=system;
|
||||
name=rootfs,size=3072M,type=linux;
|
||||
name=swap,size=100M,type=swap;
|
||||
name=user,size=-,type=linux'
|
||||
=> gpt write mmc 0 $gpt_parts
|
||||
|
||||
=> part list mmc 0
|
||||
Partition Map for mmc device 0 -- Partition Type: EFI
|
||||
Part Start LBA End LBA Name
|
||||
Attributes
|
||||
Type GUID
|
||||
Partition GUID
|
||||
1 0x00000022 0x00010021 "u-boot"
|
||||
attrs: 0x0000000000000000
|
||||
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
|
||||
(data)
|
||||
guid: 502d48f6-81c0-488f-bdc0-ad602498f3ce
|
||||
2 0x00010022 0x00010821 "env"
|
||||
attrs: 0x0000000000000000
|
||||
type: 3de21764-95bd-54bd-a5c3-4abe786f38a8
|
||||
(u-boot-env)
|
||||
guid: 9dc62338-459a-485e-bd8f-b3fbf728d9c0
|
||||
3 0x00010822 0x00050821 "ESP"
|
||||
attrs: 0x0000000000000000
|
||||
type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b
|
||||
(EFI System Partition)
|
||||
guid: 8a3a1168-6af8-4ba7-a95d-9cd0d14e1b3d
|
||||
4 0x00050822 0x00650821 "rootfs"
|
||||
attrs: 0x0000000000000000
|
||||
type: 0fc63daf-8483-4772-8e79-3d69d8477de4
|
||||
(linux)
|
||||
guid: 411ffebc-8a19-469d-99a9-0982409a6851
|
||||
5 0x00650822 0x00682821 "swap"
|
||||
attrs: 0x0000000000000000
|
||||
type: 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f
|
||||
(swap)
|
||||
guid: f8ec0410-95ec-4e3e-8b98-fb8cf271a201
|
||||
6 0x00682822 0x01dacbde "user"
|
||||
attrs: 0x0000000000000000
|
||||
type: 0fc63daf-8483-4772-8e79-3d69d8477de4
|
||||
(linux)
|
||||
guid: c5543e1c-566d-4502-99ad-20545007e673
|
||||
|
||||
Modifying GPT partition layout from U-Boot::
|
||||
|
||||
=> gpt read mmc 0 current_partitions
|
||||
=> env edit current_partitions
|
||||
edit: uuid_disk=[...];name=part1,start=0x4000,size=0x4000,uuid=[...];
|
||||
name=part2,start=0xc000,size=0xc000,uuid=[...];[ . . . ]
|
||||
|
||||
=> gpt write mmc 0 $current_partitions
|
||||
=> gpt verify mmc 0 $current_partitions
|
||||
|
||||
@@ -185,13 +185,6 @@ TCP Selective Acknowledgments in the legacy network stack can be enabled via
|
||||
CONFIG_PROT_TCP_SACK=y. This will improve the download speed. Selective
|
||||
Acknowledgments are enabled by default with lwIP.
|
||||
|
||||
.. note::
|
||||
|
||||
U-Boot currently has no way to verify certificates for HTTPS.
|
||||
A place to store the root CA certificates is needed, and then MBed TLS would
|
||||
need to walk the entire chain. Therefore, man-in-the middle attacks are
|
||||
possible and HTTPS should not be relied upon for payload authentication.
|
||||
|
||||
Return value
|
||||
------------
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ static int mmc_file_op(enum dfu_op op, struct dfu_entity *dfu,
|
||||
return -1;
|
||||
}
|
||||
|
||||
snprintf(dev_part_str, sizeof(dev_part_str), "%d:%d",
|
||||
snprintf(dev_part_str, sizeof(dev_part_str), "%d:%x",
|
||||
dfu->data.mmc.dev, dfu->data.mmc.part);
|
||||
|
||||
ret = fs_set_blk_dev("mmc", dev_part_str, fstype);
|
||||
|
||||
@@ -96,7 +96,7 @@ static int scsi_file_op(enum dfu_op op, struct dfu_entity *dfu, u64 offset, void
|
||||
return -1;
|
||||
}
|
||||
|
||||
snprintf(dev_part_str, sizeof(dev_part_str), "%d:%d", dfu->data.scsi.dev,
|
||||
snprintf(dev_part_str, sizeof(dev_part_str), "%d:%x", dfu->data.scsi.dev,
|
||||
dfu->data.scsi.part);
|
||||
|
||||
ret = fs_set_blk_dev("scsi", dev_part_str, fstype);
|
||||
|
||||
@@ -40,6 +40,11 @@ static int i2c_mux_child_post_bind(struct udevice *dev)
|
||||
struct i2c_mux_bus *plat = dev_get_parent_plat(dev);
|
||||
int channel;
|
||||
|
||||
ofnode node = dev_ofnode(dev);
|
||||
|
||||
if (!ofnode_has_property(node, "reg"))
|
||||
return 0;
|
||||
|
||||
channel = dev_read_u32_default(dev, "reg", -1);
|
||||
if (channel < 0)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -528,7 +528,7 @@ config SPL_MMC_SDHCI_ADMA
|
||||
|
||||
config MMC_SDHCI_ADMA_FORCE_32BIT
|
||||
bool "Force 32 bit mode for ADMA on 64 bit platforms"
|
||||
depends on MMC_SDHCI_ADMA || SPL_MMC_SDHCI_ADMA
|
||||
depends on MMC_SDHCI_ADMA_HELPERS
|
||||
help
|
||||
This forces SDHCI ADMA to be built for 32 bit descriptors, even
|
||||
on a 64 bit platform where they would otherwise be assumed to
|
||||
@@ -538,7 +538,7 @@ config MMC_SDHCI_ADMA_FORCE_32BIT
|
||||
|
||||
config MMC_SDHCI_ADMA_64BIT
|
||||
bool "Use SHDCI ADMA with 64 bit descriptors"
|
||||
depends on MMC_SDHCI_ADMA || SPL_MMC_SDHCI_ADMA
|
||||
depends on MMC_SDHCI_ADMA_HELPERS
|
||||
depends on !MMC_SDHCI_ADMA_FORCE_32BIT
|
||||
default y if DMA_ADDR_T_64BIT
|
||||
help
|
||||
|
||||
@@ -716,7 +716,7 @@ static int _dw_free_pkt(struct dw_eth_dev *priv)
|
||||
ulong desc_start = (ulong)desc_p;
|
||||
ulong desc_end = desc_start +
|
||||
roundup(sizeof(*desc_p), ARCH_DMA_MINALIGN);
|
||||
ulong data_start = desc_p->dmamac_addr;
|
||||
ulong data_start = dev_bus_to_phys(priv->dev, desc_p->dmamac_addr);
|
||||
ulong data_end = data_start + roundup(CFG_ETH_BUFSIZE, ARCH_DMA_MINALIGN);
|
||||
|
||||
/* Invalidate the descriptor buffer data */
|
||||
|
||||
@@ -282,7 +282,6 @@ U_BOOT_DRIVER(ti_musb_peripheral) = {
|
||||
.ops = &ti_musb_gadget_ops,
|
||||
.probe = ti_musb_peripheral_probe,
|
||||
.remove = ti_musb_peripheral_remove,
|
||||
.ops = &musb_usb_ops,
|
||||
.plat_auto = sizeof(struct ti_musb_plat),
|
||||
.priv_auto = sizeof(struct ti_musb_peripheral),
|
||||
.flags = DM_FLAG_PRE_RELOC,
|
||||
|
||||
666
dts/upstream/src/arm64/renesas/r8a779g3-sparrow-hawk.dts
Normal file
666
dts/upstream/src/arm64/renesas/r8a779g3-sparrow-hawk.dts
Normal file
@@ -0,0 +1,666 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
/*
|
||||
* Device Tree Source for the R-Car V4H ES3.0 Sparrow Hawk board
|
||||
*
|
||||
* Copyright (C) 2025 Marek Vasut <marek.vasut+renesas@mailbox.org>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
#include "r8a779g3.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Retronix Sparrow Hawk board based on r8a779g3";
|
||||
compatible = "retronix,sparrow-hawk", "renesas,r8a779g3",
|
||||
"renesas,r8a779g0";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &avb0;
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
i2c3 = &i2c3;
|
||||
i2c4 = &i2c4;
|
||||
i2c5 = &i2c5;
|
||||
serial0 = &hscif0;
|
||||
serial1 = &hscif1;
|
||||
serial2 = &hscif3;
|
||||
spi0 = &rpc;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
|
||||
stdout-path = "serial0:921600n8";
|
||||
};
|
||||
|
||||
/* Page 31 / FAN */
|
||||
fan: pwm-fan {
|
||||
pinctrl-0 = <&irq4_pins>;
|
||||
pinctrl-names = "default";
|
||||
compatible = "pwm-fan";
|
||||
#cooling-cells = <2>;
|
||||
interrupts-extended = <&intc_ex 4 IRQ_TYPE_EDGE_FALLING>;
|
||||
/*
|
||||
* The fan model connected to this device can be selected
|
||||
* by user. Set "cooling-levels" DT property to single 255
|
||||
* entry to force the fan PWM into constant HIGH, which
|
||||
* forces the fan to spin at maximum RPM, thus providing
|
||||
* maximum cooling to this device and protection against
|
||||
* misconfigured PWM duty cycle to the fan.
|
||||
*
|
||||
* User has to configure "pwms" and "pulses-per-revolution"
|
||||
* DT properties according to fan datasheet first, and then
|
||||
* extend "cooling-levels = <0 m n ... 255>" property to
|
||||
* achieve proper fan control compatible with fan model
|
||||
* installed by user.
|
||||
*/
|
||||
cooling-levels = <255>;
|
||||
pulses-per-revolution = <2>;
|
||||
pwms = <&pwm0 0 50000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* Page 15 / LPDDR5
|
||||
*
|
||||
* This configuration listed below is for the 8 GiB board variant
|
||||
* with MT62F1G64D8EK-023 WT:C LPDDR5 part populated on the board.
|
||||
*
|
||||
* A variant with 16 GiB MT62F2G64D8EK-023 WT:C part populated on
|
||||
* the board is automatically handled by the bootloader, which
|
||||
* adjusts the correct DRAM size into the memory nodes below.
|
||||
*/
|
||||
memory@48000000 {
|
||||
device_type = "memory";
|
||||
/* first 128MB is reserved for secure area. */
|
||||
reg = <0x0 0x48000000 0x0 0x78000000>;
|
||||
};
|
||||
|
||||
memory@480000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x4 0x80000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
memory@600000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x6 0x00000000 0x1 0x00000000>;
|
||||
};
|
||||
|
||||
/* Page 27 / DSI to Display */
|
||||
mini-dp-con {
|
||||
compatible = "dp-connector";
|
||||
label = "CN6";
|
||||
type = "full-size";
|
||||
|
||||
port {
|
||||
mini_dp_con_in: endpoint {
|
||||
remote-endpoint = <&sn65dsi86_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
reg_1p2v: regulator-1p2v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_1p8v: regulator-1p8v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
/* Page 27 / DSI to Display */
|
||||
sn65dsi86_refclk: clk-x9 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <38400000>;
|
||||
};
|
||||
|
||||
/* Page 17 uSD-Slot */
|
||||
vcc_sdhi: regulator-vcc-sdhi {
|
||||
compatible = "regulator-gpio";
|
||||
regulator-name = "SDHI VccQ";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpios = <&gpio8 13 GPIO_ACTIVE_HIGH>;
|
||||
gpios-states = <1>;
|
||||
states = <3300000 0>, <1800000 1>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Page 22 / Ether_AVB0 */
|
||||
&avb0 {
|
||||
pinctrl-0 = <&avb0_pins>;
|
||||
pinctrl-names = "default";
|
||||
phy-handle = <&avb0_phy>;
|
||||
tx-internal-delay-ps = <2000>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
avb0_phy: ethernet-phy@0 { /* KSZ9031RNXVB */
|
||||
compatible = "ethernet-phy-id0022.1622",
|
||||
"ethernet-phy-ieee802.3-c22";
|
||||
rxc-skew-ps = <1500>;
|
||||
reg = <0>;
|
||||
/* AVB0_PHY_INT_V */
|
||||
interrupts-extended = <&gpio7 5 IRQ_TYPE_LEVEL_LOW>;
|
||||
/* GP7_10/AVB0_RESETN_V */
|
||||
reset-gpios = <&gpio7 10 GPIO_ACTIVE_LOW>;
|
||||
reset-assert-us = <10000>;
|
||||
reset-deassert-us = <300>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Page 28 / CANFD_IF */
|
||||
&can_clk {
|
||||
clock-frequency = <40000000>;
|
||||
};
|
||||
|
||||
/* Page 28 / CANFD_IF */
|
||||
&canfd {
|
||||
pinctrl-0 = <&canfd3_pins>, <&canfd4_pins>, <&can_clk_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
|
||||
channel3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
channel4 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
/* Page 27 / DSI to Display */
|
||||
&dsi1 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
dsi1_out: endpoint {
|
||||
remote-endpoint = <&sn65dsi86_in>;
|
||||
data-lanes = <1 2 3 4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Page 27 / DSI to Display */
|
||||
&du {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 5 / R-Car V4H_INT_I2C */
|
||||
&extal_clk { /* X3 */
|
||||
clock-frequency = <16666666>;
|
||||
};
|
||||
|
||||
/* Page 5 / R-Car V4H_INT_I2C */
|
||||
&extalr_clk { /* X2 */
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
/* Page 26 / 2230 Key M M.2 */
|
||||
&gpio4 {
|
||||
/* 9FGV0441 nOE inputs 0 and 1 */
|
||||
pcie-m2-oe-hog {
|
||||
gpio-hog;
|
||||
gpios = <21 GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "PCIe-CLK-nOE-M2";
|
||||
};
|
||||
|
||||
/* 9FGV0441 nOE inputs 2 and 3 */
|
||||
pcie-usb-oe-hog {
|
||||
gpio-hog;
|
||||
gpios = <22 GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "PCIe-CLK-nOE-USB";
|
||||
};
|
||||
};
|
||||
|
||||
/* Page 23 / DEBUG */
|
||||
&hscif0 { /* FTDI ADBUS[3:0] */
|
||||
pinctrl-0 = <&hscif0_pins>;
|
||||
pinctrl-names = "default";
|
||||
uart-has-rtscts;
|
||||
bootph-all;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 23 / DEBUG */
|
||||
&hscif1 { /* FTDI BDBUS[3:0] */
|
||||
pinctrl-0 = <&hscif1_pins>;
|
||||
pinctrl-names = "default";
|
||||
uart-has-rtscts;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 24 / UART */
|
||||
&hscif3 { /* CN7 pins 8 (TX) and 10 (RX) */
|
||||
pinctrl-0 = <&hscif3_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 24 / I2C SWITCH */
|
||||
&i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-names = "default";
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
|
||||
mux@71 {
|
||||
compatible = "nxp,pca9544"; /* TCA9544 */
|
||||
reg = <0x71>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
vdd-supply = <®_3p3v>;
|
||||
|
||||
i2c0_mux0: i2c@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* Page 27 / DSI to Display */
|
||||
bridge@2c {
|
||||
pinctrl-0 = <&irq0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
compatible = "ti,sn65dsi86";
|
||||
reg = <0x2c>;
|
||||
|
||||
clocks = <&sn65dsi86_refclk>;
|
||||
clock-names = "refclk";
|
||||
|
||||
interrupts-extended = <&intc_ex 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
vccio-supply = <®_1p8v>;
|
||||
vpll-supply = <®_1p8v>;
|
||||
vcca-supply = <®_1p2v>;
|
||||
vcc-supply = <®_1p2v>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
sn65dsi86_in: endpoint {
|
||||
remote-endpoint = <&dsi1_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
sn65dsi86_out: endpoint {
|
||||
remote-endpoint = <&mini_dp_con_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_mux1: i2c@1 {
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c0_mux2: i2c@2 {
|
||||
reg = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c0_mux3: i2c@3 {
|
||||
reg = <3>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Page 29 / CSI_IF_CN / CAM_CN0 */
|
||||
&i2c1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
/* Page 29 / CSI_IF_CN / CAM_CN1 */
|
||||
&i2c2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
/* Page 31 / IO_CN */
|
||||
&i2c3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-0 = <&i2c3_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
/* Page 31 / IO_CN */
|
||||
&i2c4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-0 = <&i2c4_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
/* Page 18 / POWER_CORE and Page 19 / POWER_PMIC */
|
||||
&i2c5 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-0 = <&i2c5_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
/* Page 17 uSD-Slot */
|
||||
&mmc0 {
|
||||
pinctrl-0 = <&sd_pins>;
|
||||
pinctrl-1 = <&sd_uhs_pins>;
|
||||
pinctrl-names = "default", "state_uhs";
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio3 11 GPIO_ACTIVE_LOW>; /* SD_CD */
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
vmmc-supply = <®_3p3v>;
|
||||
vqmmc-supply = <&vcc_sdhi>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 26 / 2230 Key M M.2 */
|
||||
&pcie0_clkref {
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
&pciec0 {
|
||||
reset-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 25 / PCIe to USB */
|
||||
&pcie1_clkref {
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
&pciec1 {
|
||||
/* uPD720201 is PCIe Gen2 x1 device */
|
||||
num-lanes = <1>;
|
||||
reset-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pfc {
|
||||
pinctrl-0 = <&scif_clk_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
/* Page 22 / Ether_AVB0 */
|
||||
avb0_pins: avb0 {
|
||||
mux {
|
||||
groups = "avb0_link", "avb0_mdio", "avb0_rgmii",
|
||||
"avb0_txcrefclk";
|
||||
function = "avb0";
|
||||
};
|
||||
|
||||
pins-mdio {
|
||||
groups = "avb0_mdio";
|
||||
drive-strength = <21>;
|
||||
};
|
||||
|
||||
pins-mii {
|
||||
groups = "avb0_rgmii";
|
||||
drive-strength = <21>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
/* Page 28 / CANFD_IF */
|
||||
can_clk_pins: can-clk {
|
||||
groups = "can_clk";
|
||||
function = "can_clk";
|
||||
};
|
||||
|
||||
/* Page 28 / CANFD_IF */
|
||||
canfd3_pins: canfd3 {
|
||||
groups = "canfd3_data";
|
||||
function = "canfd3";
|
||||
};
|
||||
|
||||
/* Page 28 / CANFD_IF */
|
||||
canfd4_pins: canfd4 {
|
||||
groups = "canfd4_data";
|
||||
function = "canfd4";
|
||||
};
|
||||
|
||||
/* Page 23 / DEBUG */
|
||||
hscif0_pins: hscif0 {
|
||||
groups = "hscif0_data", "hscif0_ctrl";
|
||||
function = "hscif0";
|
||||
};
|
||||
|
||||
/* Page 23 / DEBUG */
|
||||
hscif1_pins: hscif1 {
|
||||
groups = "hscif1_data_a", "hscif1_ctrl_a";
|
||||
function = "hscif1";
|
||||
};
|
||||
|
||||
/* Page 24 / UART */
|
||||
hscif3_pins: hscif3 {
|
||||
groups = "hscif3_data_a";
|
||||
function = "hscif3";
|
||||
};
|
||||
|
||||
/* Page 24 / I2C SWITCH */
|
||||
i2c0_pins: i2c0 {
|
||||
groups = "i2c0";
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
/* Page 29 / CSI_IF_CN / CAM_CN0 */
|
||||
i2c1_pins: i2c1 {
|
||||
groups = "i2c1";
|
||||
function = "i2c1";
|
||||
};
|
||||
|
||||
/* Page 29 / CSI_IF_CN / CAM_CN1 */
|
||||
i2c2_pins: i2c2 {
|
||||
groups = "i2c2";
|
||||
function = "i2c2";
|
||||
};
|
||||
|
||||
/* Page 31 / IO_CN */
|
||||
i2c3_pins: i2c3 {
|
||||
groups = "i2c3";
|
||||
function = "i2c3";
|
||||
};
|
||||
|
||||
/* Page 31 / IO_CN */
|
||||
i2c4_pins: i2c4 {
|
||||
groups = "i2c4";
|
||||
function = "i2c4";
|
||||
};
|
||||
|
||||
/* Page 18 / POWER_CORE */
|
||||
i2c5_pins: i2c5 {
|
||||
groups = "i2c5";
|
||||
function = "i2c5";
|
||||
};
|
||||
|
||||
/* Page 27 / DSI to Display */
|
||||
irq0_pins: irq0 {
|
||||
groups = "intc_ex_irq0_a";
|
||||
function = "intc_ex";
|
||||
};
|
||||
|
||||
/* Page 31 / FAN */
|
||||
irq4_pins: irq4 {
|
||||
groups = "intc_ex_irq4_b";
|
||||
function = "intc_ex";
|
||||
};
|
||||
|
||||
/* Page 31 / FAN */
|
||||
pwm0_pins: pwm0 {
|
||||
groups = "pwm0";
|
||||
function = "pwm0";
|
||||
};
|
||||
|
||||
/* Page 31 / CN7 pin 12 */
|
||||
pwm1_pins: pwm1 {
|
||||
groups = "pwm1_b";
|
||||
function = "pwm1";
|
||||
};
|
||||
|
||||
/* Page 31 / CN7 pin 32 */
|
||||
pwm6_pins: pwm6 {
|
||||
groups = "pwm6";
|
||||
function = "pwm6";
|
||||
};
|
||||
|
||||
/* Page 31 / CN7 pin 33 */
|
||||
pwm7_pins: pwm7 {
|
||||
groups = "pwm7";
|
||||
function = "pwm7";
|
||||
};
|
||||
|
||||
/* Page 16 / QSPI_FLASH */
|
||||
qspi0_pins: qspi0 {
|
||||
groups = "qspi0_ctrl", "qspi0_data4";
|
||||
function = "qspi0";
|
||||
bootph-all;
|
||||
};
|
||||
|
||||
/* Page 6 / SCIF_CLK_SOC_V */
|
||||
scif_clk_pins: scif-clk {
|
||||
groups = "scif_clk";
|
||||
function = "scif_clk";
|
||||
};
|
||||
|
||||
/* Page 17 uSD-Slot */
|
||||
sd_pins: sd {
|
||||
groups = "mmc_data4", "mmc_ctrl";
|
||||
function = "mmc";
|
||||
power-source = <3300>;
|
||||
};
|
||||
|
||||
/* Page 17 uSD-Slot */
|
||||
sd_uhs_pins: sd-uhs {
|
||||
groups = "mmc_data4", "mmc_ctrl";
|
||||
function = "mmc";
|
||||
power-source = <1800>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Page 31 / FAN */
|
||||
&pwm0 {
|
||||
pinctrl-0 = <&pwm0_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 31 / CN7 pin 12 */
|
||||
&pwm1 {
|
||||
pinctrl-0 = <&pwm1_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 31 / CN7 pin 32 */
|
||||
&pwm6 {
|
||||
pinctrl-0 = <&pwm6_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 31 / CN7 pin 33 */
|
||||
&pwm7 {
|
||||
pinctrl-0 = <&pwm7_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 16 / QSPI_FLASH */
|
||||
&rpc {
|
||||
pinctrl-0 = <&qspi0_pins>;
|
||||
pinctrl-names = "default";
|
||||
bootph-all;
|
||||
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "spansion,s25fs512s", "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <40000000>;
|
||||
spi-rx-bus-width = <4>;
|
||||
spi-tx-bus-width = <4>;
|
||||
bootph-all;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
boot@0 {
|
||||
reg = <0x0 0x1000000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
user@1000000 {
|
||||
reg = <0x1000000 0x2f80000>;
|
||||
};
|
||||
|
||||
env1@3f80000 {
|
||||
reg = <0x3f80000 0x40000>;
|
||||
};
|
||||
|
||||
env2@3fc0000 {
|
||||
reg = <0x3fc0000 0x40000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rwdt {
|
||||
timeout-sec = <60>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Page 6 / SCIF_CLK_SOC_V */
|
||||
&scif_clk { /* X12 */
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
14
include/configs/sparrowhawk.h
Normal file
14
include/configs/sparrowhawk.h
Normal file
@@ -0,0 +1,14 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* include/configs/sparrowhawk.h
|
||||
* This file is Sparrow Hawk board configuration.
|
||||
*
|
||||
* Copyright (C) 2025 Marek Vasut <marek.vasut+renesas@mailbox.org>
|
||||
*/
|
||||
|
||||
#ifndef __SPARROWHAWK_H
|
||||
#define __SPARROWHAWK_H
|
||||
|
||||
#include "rcar-gen4-common.h"
|
||||
|
||||
#endif /* __SPARROWHAWK_H */
|
||||
@@ -1688,7 +1688,7 @@ struct sig_header_s {
|
||||
*/
|
||||
int image_pre_load(ulong addr);
|
||||
|
||||
#if defined(USE_HOSTCC)
|
||||
#if defined(USE_HOSTCC) && CONFIG_IS_ENABLED(LIBCRYPTO)
|
||||
/**
|
||||
* rsa_verify_openssl() - Verify a signature against some data with openssl API
|
||||
*
|
||||
|
||||
@@ -176,7 +176,7 @@ int _log_buffer(enum log_category_t cat, enum log_level_t level,
|
||||
#define _LOG_MAX_LEVEL LOGL_INFO
|
||||
#endif
|
||||
|
||||
#define log_emer(_fmt...) log(LOG_CATEGORY, LOGL_EMERG, ##_fmt)
|
||||
#define log_emerg(_fmt...) log(LOG_CATEGORY, LOGL_EMERG, ##_fmt)
|
||||
#define log_alert(_fmt...) log(LOG_CATEGORY, LOGL_ALERT, ##_fmt)
|
||||
#define log_crit(_fmt...) log(LOG_CATEGORY, LOGL_CRIT, ##_fmt)
|
||||
#define log_err(_fmt...) log(LOG_CATEGORY, LOGL_ERR, ##_fmt)
|
||||
|
||||
@@ -1133,7 +1133,7 @@ efi_status_t efi_bootmgr_update_media_device_boot_option(void)
|
||||
{
|
||||
u32 i;
|
||||
efi_status_t ret;
|
||||
efi_uintn_t count, num, total;
|
||||
efi_uintn_t count, num, total = 0;
|
||||
efi_handle_t *handles = NULL;
|
||||
struct eficonfig_media_boot_option *opt = NULL;
|
||||
|
||||
|
||||
@@ -570,7 +570,7 @@ int rsa_verify(struct image_sign_info *info,
|
||||
uint8_t hash[info->crypto->key_len];
|
||||
int ret;
|
||||
|
||||
#ifdef USE_HOSTCC
|
||||
#if defined(USE_HOSTCC) && CONFIG_IS_ENABLED(LIBCRYPTO)
|
||||
if (!info->fdt_blob)
|
||||
return rsa_verify_openssl(info, region, region_count, sig, sig_len);
|
||||
#endif
|
||||
|
||||
162
lib/uuid.c
162
lib/uuid.c
@@ -62,184 +62,197 @@ int uuid_str_valid(const char *uuid)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Array of string (short and long) for known GUID of GPT partition type
|
||||
* at least one string must be present, @type or @description
|
||||
*
|
||||
* @type : short name for the parameter 'type' of gpt command (max size UUID_STR_LEN = 36,
|
||||
* no space), also used as fallback description when the next field is absent
|
||||
* @description : long description associated to type GUID, used for %pUs
|
||||
* @guid : known type GUID value
|
||||
*/
|
||||
static const struct {
|
||||
const char *string;
|
||||
const char *type;
|
||||
const char *description;
|
||||
efi_guid_t guid;
|
||||
} list_guid[] = {
|
||||
#ifndef USE_HOSTCC
|
||||
#if defined(CONFIG_PARTITION_TYPE_GUID) || defined(CONFIG_CMD_EFIDEBUG) || \
|
||||
defined(CONFIG_EFI)
|
||||
{"EFI System Partition", PARTITION_SYSTEM_GUID},
|
||||
#endif
|
||||
#ifdef CONFIG_PARTITION_TYPE_GUID
|
||||
{"mbr", LEGACY_MBR_PARTITION_GUID},
|
||||
{"msft", PARTITION_MSFT_RESERVED_GUID},
|
||||
{"data", PARTITION_BASIC_DATA_GUID},
|
||||
{"linux", PARTITION_LINUX_FILE_SYSTEM_DATA_GUID},
|
||||
{"raid", PARTITION_LINUX_RAID_GUID},
|
||||
{"swap", PARTITION_LINUX_SWAP_GUID},
|
||||
{"lvm", PARTITION_LINUX_LVM_GUID},
|
||||
{"u-boot-env", PARTITION_U_BOOT_ENVIRONMENT},
|
||||
{"cros-kern", PARTITION_CROS_KERNEL},
|
||||
{"cros-root", PARTITION_CROS_ROOT},
|
||||
{"cros-fw", PARTITION_CROS_FIRMWARE},
|
||||
{"cros-rsrv", PARTITION_CROS_RESERVED},
|
||||
#endif
|
||||
#if CONFIG_IS_ENABLED(EFI_PARTITION)
|
||||
{"mbr", NULL, LEGACY_MBR_PARTITION_GUID},
|
||||
{"msft", NULL, PARTITION_MSFT_RESERVED_GUID},
|
||||
{"data", NULL, PARTITION_BASIC_DATA_GUID},
|
||||
{"linux", NULL, PARTITION_LINUX_FILE_SYSTEM_DATA_GUID},
|
||||
{"raid", NULL, PARTITION_LINUX_RAID_GUID},
|
||||
{"swap", NULL, PARTITION_LINUX_SWAP_GUID},
|
||||
{"lvm", NULL, PARTITION_LINUX_LVM_GUID},
|
||||
{"u-boot-env", NULL, PARTITION_U_BOOT_ENVIRONMENT},
|
||||
{"cros-kern", NULL, PARTITION_CROS_KERNEL},
|
||||
{"cros-root", NULL, PARTITION_CROS_ROOT},
|
||||
{"cros-fw", NULL, PARTITION_CROS_FIRMWARE},
|
||||
{"cros-rsrv", NULL, PARTITION_CROS_RESERVED},
|
||||
{
|
||||
"system", "EFI System Partition",
|
||||
PARTITION_SYSTEM_GUID,
|
||||
},
|
||||
#if defined(CONFIG_CMD_EFIDEBUG) || defined(CONFIG_EFI)
|
||||
{
|
||||
"Device Path",
|
||||
NULL, "Device Path",
|
||||
PARTITION_SYSTEM_GUID,
|
||||
},
|
||||
{
|
||||
NULL, "Device Path",
|
||||
EFI_DEVICE_PATH_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Device Path To Text",
|
||||
NULL, "Device Path To Text",
|
||||
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Device Path Utilities",
|
||||
NULL, "Device Path Utilities",
|
||||
EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Unicode Collation 2",
|
||||
NULL, "Unicode Collation 2",
|
||||
EFI_UNICODE_COLLATION_PROTOCOL2_GUID,
|
||||
},
|
||||
{
|
||||
"Driver Binding",
|
||||
NULL, "Driver Binding",
|
||||
EFI_DRIVER_BINDING_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Simple Text Input",
|
||||
NULL, "Simple Text Input",
|
||||
EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Simple Text Input Ex",
|
||||
NULL, "Simple Text Input Ex",
|
||||
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Simple Text Output",
|
||||
NULL, "Simple Text Output",
|
||||
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Block IO",
|
||||
NULL, "Block IO",
|
||||
EFI_BLOCK_IO_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Disk IO",
|
||||
NULL, "Disk IO",
|
||||
EFI_DISK_IO_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Simple File System",
|
||||
NULL, "Simple File System",
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Loaded Image",
|
||||
NULL, "Loaded Image",
|
||||
EFI_LOADED_IMAGE_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Loaded Image Device Path",
|
||||
NULL, "Loaded Image Device Path",
|
||||
EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Graphics Output",
|
||||
NULL, "Graphics Output",
|
||||
EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"HII String",
|
||||
NULL, "HII String",
|
||||
EFI_HII_STRING_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"HII Database",
|
||||
NULL, "HII Database",
|
||||
EFI_HII_DATABASE_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"HII Config Access",
|
||||
NULL, "HII Config Access",
|
||||
EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"HII Config Routing",
|
||||
NULL, "HII Config Routing",
|
||||
EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Load File",
|
||||
NULL, "Load File",
|
||||
EFI_LOAD_FILE_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Load File2",
|
||||
NULL, "Load File2",
|
||||
EFI_LOAD_FILE2_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Random Number Generator",
|
||||
NULL, "Random Number Generator",
|
||||
EFI_RNG_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Simple Network",
|
||||
NULL, "Simple Network",
|
||||
EFI_SIMPLE_NETWORK_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"PXE Base Code",
|
||||
NULL, "PXE Base Code",
|
||||
EFI_PXE_BASE_CODE_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Device-Tree Fixup",
|
||||
NULL, "Device-Tree Fixup",
|
||||
EFI_DT_FIXUP_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"TCG2",
|
||||
NULL, "TCG2",
|
||||
EFI_TCG2_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"Firmware Management",
|
||||
NULL, "Firmware Management",
|
||||
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GUID
|
||||
},
|
||||
#if IS_ENABLED(CONFIG_EFI_HTTP_PROTOCOL)
|
||||
{
|
||||
"HTTP",
|
||||
NULL, "HTTP",
|
||||
EFI_HTTP_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"HTTP Service Binding",
|
||||
NULL, "HTTP Service Binding",
|
||||
EFI_HTTP_SERVICE_BINDING_PROTOCOL_GUID,
|
||||
},
|
||||
{
|
||||
"IPv4 Config2",
|
||||
NULL, "IPv4 Config2",
|
||||
EFI_IP4_CONFIG2_PROTOCOL_GUID,
|
||||
},
|
||||
#endif
|
||||
/* Configuration table GUIDs */
|
||||
{
|
||||
"ACPI table",
|
||||
NULL, "ACPI table",
|
||||
EFI_ACPI_TABLE_GUID,
|
||||
},
|
||||
{
|
||||
"EFI System Resource Table",
|
||||
NULL, "EFI System Resource Table",
|
||||
EFI_SYSTEM_RESOURCE_TABLE_GUID,
|
||||
},
|
||||
{
|
||||
"device tree",
|
||||
NULL, "device tree",
|
||||
EFI_FDT_GUID,
|
||||
},
|
||||
{
|
||||
"SMBIOS table",
|
||||
NULL, "SMBIOS table",
|
||||
SMBIOS_TABLE_GUID,
|
||||
},
|
||||
{
|
||||
"SMBIOS3 table",
|
||||
NULL, "SMBIOS3 table",
|
||||
SMBIOS3_TABLE_GUID,
|
||||
},
|
||||
{
|
||||
"Runtime properties",
|
||||
NULL, "Runtime properties",
|
||||
EFI_RT_PROPERTIES_TABLE_GUID,
|
||||
},
|
||||
{
|
||||
"TCG2 Final Events Table",
|
||||
NULL, "TCG2 Final Events Table",
|
||||
EFI_TCG2_FINAL_EVENTS_TABLE_GUID,
|
||||
},
|
||||
{
|
||||
"EFI Conformance Profiles Table",
|
||||
NULL, "EFI Conformance Profiles Table",
|
||||
EFI_CONFORMANCE_PROFILES_TABLE_GUID,
|
||||
},
|
||||
#ifdef CONFIG_EFI_RISCV_BOOT_PROTOCOL
|
||||
{
|
||||
"RISC-V Boot",
|
||||
NULL, "RISC-V Boot",
|
||||
RISCV_EFI_BOOT_PROTOCOL_GUID,
|
||||
},
|
||||
#endif
|
||||
@@ -247,35 +260,36 @@ static const struct {
|
||||
#ifdef CONFIG_CMD_NVEDIT_EFI
|
||||
/* signature database */
|
||||
{
|
||||
"EFI_GLOBAL_VARIABLE_GUID",
|
||||
"EFI_GLOBAL_VARIABLE_GUID", NULL,
|
||||
EFI_GLOBAL_VARIABLE_GUID,
|
||||
},
|
||||
{
|
||||
"EFI_IMAGE_SECURITY_DATABASE_GUID",
|
||||
"EFI_IMAGE_SECURITY_DATABASE_GUID", NULL,
|
||||
EFI_IMAGE_SECURITY_DATABASE_GUID,
|
||||
},
|
||||
/* certificate types */
|
||||
{
|
||||
"EFI_CERT_SHA256_GUID",
|
||||
"EFI_CERT_SHA256_GUID", NULL,
|
||||
EFI_CERT_SHA256_GUID,
|
||||
},
|
||||
{
|
||||
"EFI_CERT_X509_GUID",
|
||||
"EFI_CERT_X509_GUID", NULL,
|
||||
EFI_CERT_X509_GUID,
|
||||
},
|
||||
{
|
||||
"EFI_CERT_TYPE_PKCS7_GUID",
|
||||
"EFI_CERT_TYPE_PKCS7_GUID", NULL,
|
||||
EFI_CERT_TYPE_PKCS7_GUID,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_CMD_EFIDEBUG) || defined(CONFIG_EFI)
|
||||
{ "EFI_LZMA_COMPRESSED", EFI_LZMA_COMPRESSED },
|
||||
{ "EFI_DXE_SERVICES", EFI_DXE_SERVICES },
|
||||
{ "EFI_HOB_LIST", EFI_HOB_LIST },
|
||||
{ "EFI_MEMORY_TYPE", EFI_MEMORY_TYPE },
|
||||
{ "EFI_MEM_STATUS_CODE_REC", EFI_MEM_STATUS_CODE_REC },
|
||||
{ "EFI_GUID_EFI_ACPI1", EFI_GUID_EFI_ACPI1 },
|
||||
{ "EFI_LZMA_COMPRESSED", NULL, EFI_LZMA_COMPRESSED },
|
||||
{ "EFI_DXE_SERVICES", NULL, EFI_DXE_SERVICES },
|
||||
{ "EFI_HOB_LIST", NULL, EFI_HOB_LIST },
|
||||
{ "EFI_MEMORY_TYPE", NULL, EFI_MEMORY_TYPE },
|
||||
{ "EFI_MEM_STATUS_CODE_REC", NULL, EFI_MEM_STATUS_CODE_REC },
|
||||
{ "EFI_GUID_EFI_ACPI1", NULL, EFI_GUID_EFI_ACPI1 },
|
||||
#endif
|
||||
#endif /* EFI_PARTITION */
|
||||
#endif /* !USE_HOSTCC */
|
||||
};
|
||||
|
||||
@@ -284,7 +298,8 @@ int uuid_guid_get_bin(const char *guid_str, unsigned char *guid_bin)
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(list_guid); i++) {
|
||||
if (!strcmp(list_guid[i].string, guid_str)) {
|
||||
if (list_guid[i].type &&
|
||||
!strcmp(list_guid[i].type, guid_str)) {
|
||||
memcpy(guid_bin, &list_guid[i].guid, 16);
|
||||
return 0;
|
||||
}
|
||||
@@ -298,7 +313,9 @@ const char *uuid_guid_get_str(const unsigned char *guid_bin)
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(list_guid); i++) {
|
||||
if (!memcmp(list_guid[i].guid.b, guid_bin, 16)) {
|
||||
return list_guid[i].string;
|
||||
if (list_guid[i].description)
|
||||
return list_guid[i].description;
|
||||
return list_guid[i].type;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
@@ -312,10 +329,9 @@ int uuid_str_to_bin(const char *uuid_str, unsigned char *uuid_bin,
|
||||
uint64_t tmp64;
|
||||
|
||||
if (!uuid_str_valid(uuid_str)) {
|
||||
#ifdef CONFIG_PARTITION_TYPE_GUID
|
||||
if (!uuid_guid_get_bin(uuid_str, uuid_bin))
|
||||
if (IS_ENABLED(CONFIG_PARTITION_TYPE_GUID) &&
|
||||
!uuid_guid_get_bin(uuid_str, uuid_bin))
|
||||
return 0;
|
||||
#endif
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@ setup(
|
||||
long_description=long_description,
|
||||
long_description_content_type="text/plain",
|
||||
url="https://git.kernel.org/pub/scm/utils/dtc/dtc.git",
|
||||
license="BSD",
|
||||
license="GPL-2.0-or-later OR BSD-2-Clause",
|
||||
license_files=["Licenses/gpl-2.0.txt", "Licenses/bsd-2-clause.txt"],
|
||||
|
||||
classifiers=[
|
||||
|
||||
@@ -45,8 +45,7 @@ static int print_guid(struct unit_test_state *uts)
|
||||
sprintf(str, "%pUL", guid);
|
||||
ut_asserteq_str("04030201-0605-0807-090A-0B0C0D0E0F10", str);
|
||||
sprintf(str, "%pUs", guid_esp);
|
||||
if (IS_ENABLED(CONFIG_PARTITION_TYPE_GUID) ||
|
||||
IS_ENABLED(CONFIG_CMD_EFIDEBUG) || IS_ENABLED(CONFIG_EFI))
|
||||
if (IS_ENABLED(CONFIG_EFI_PARTITION))
|
||||
ut_asserteq_str("EFI System Partition", str);
|
||||
else
|
||||
ut_asserteq_str("c12a7328-f81f-11d2-ba4b-00a0c93ec93b", str);
|
||||
|
||||
@@ -514,8 +514,8 @@ def ubman(request):
|
||||
handle_exception(ubconfig, ubman_fix, log, err, 'Lab timeout', True)
|
||||
except BootFail as err:
|
||||
handle_exception(ubconfig, ubman_fix, log, err, 'Boot fail', True,
|
||||
ubman.get_spawn_output())
|
||||
except Unexpected:
|
||||
ubman_fix.get_spawn_output())
|
||||
except Unexpected as err:
|
||||
handle_exception(ubconfig, ubman_fix, log, err, 'Unexpected test output',
|
||||
False)
|
||||
return ubman_fix
|
||||
|
||||
@@ -330,6 +330,33 @@ def test_gpt_write(state_disk_image, ubman):
|
||||
output = ubman.run_command('gpt guid host 0')
|
||||
assert '375a56f7-d6c9-4e81-b5f0-09d41ca89efe' in output
|
||||
|
||||
@pytest.mark.boardspec('sandbox')
|
||||
@pytest.mark.buildconfigspec('cmd_gpt')
|
||||
@pytest.mark.buildconfigspec('cmd_part')
|
||||
@pytest.mark.buildconfigspec('partition_type_guid')
|
||||
@pytest.mark.requiredtool('sgdisk')
|
||||
def test_gpt_write_part_type(state_disk_image, ubman):
|
||||
"""Test the gpt command with part type uuid."""
|
||||
|
||||
output = ubman.run_command('gpt write host 0 "name=part1,type=data,size=1M;name=part2,size=512K,type=system;name=part3,size=65536,type=u-boot-env;name=part4,size=65536,type=375a56f7-d6c9-4e81-b5f0-09d41ca89efe;name=part5,size=-,type=linux"')
|
||||
assert 'Writing GPT: success!' in output
|
||||
output = ubman.run_command('part list host 0')
|
||||
assert '1\t0x00000022\t0x00000821\t"part1"' in output
|
||||
assert 'ebd0a0a2-b9e5-4433-87c0-68b6b72699c7' in output
|
||||
assert '(data)' in output
|
||||
assert '2\t0x00000822\t0x00000c21\t"part2"' in output
|
||||
assert 'c12a7328-f81f-11d2-ba4b-00a0c93ec93b' in output
|
||||
assert '(EFI System Partition)' in output
|
||||
assert '3\t0x00000c22\t0x00000ca1\t"part3"' in output
|
||||
assert '3de21764-95bd-54bd-a5c3-4abe786f38a8' in output
|
||||
assert '(u-boot-env)' in output
|
||||
assert '4\t0x00000ca2\t0x00000d21\t"part4"' in output
|
||||
assert 'ebd0a0a2-b9e5-4433-87c0-68b6b72699c7' in output
|
||||
assert '(375a56f7-d6c9-4e81-b5f0-09d41ca89efe)' in output
|
||||
assert '5\t0x00000d22\t0x00001fde\t"part5"' in output
|
||||
assert '0fc63daf-8483-4772-8e79-3d69d8477de4' in output
|
||||
assert '(linux)' in output
|
||||
|
||||
@pytest.mark.buildconfigspec('cmd_gpt')
|
||||
@pytest.mark.buildconfigspec('cmd_gpt_rename')
|
||||
@pytest.mark.buildconfigspec('cmd_part')
|
||||
|
||||
@@ -63,7 +63,8 @@ HOSTCFLAGS_img2srec.o := -pedantic
|
||||
hostprogs-y += mkenvimage
|
||||
mkenvimage-objs := mkenvimage.o os_support.o generated/lib/crc32.o
|
||||
|
||||
hostprogs-y += dumpimage mkimage fit_info fit_check_sign
|
||||
hostprogs-y += dumpimage mkimage fit_info
|
||||
hostprogs-$(CONFIG_FIT_SIGNATURE) += fit_check_sign
|
||||
hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += fdt_add_pubkey
|
||||
hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += preload_check_sign
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <openssl/evp.h>
|
||||
#endif
|
||||
|
||||
#if CONFIG_IS_ENABLED(IMAGE_PRE_LOAD)
|
||||
#if CONFIG_IS_ENABLED(IMAGE_PRE_LOAD) && CONFIG_IS_ENABLED(LIBCRYPTO)
|
||||
#include <openssl/rsa.h>
|
||||
#include <openssl/err.h>
|
||||
#endif
|
||||
@@ -1416,7 +1416,7 @@ int fit_check_sign(const void *fit, const void *key,
|
||||
}
|
||||
#endif
|
||||
|
||||
#if CONFIG_IS_ENABLED(IMAGE_PRE_LOAD)
|
||||
#if CONFIG_IS_ENABLED(IMAGE_PRE_LOAD) && CONFIG_IS_ENABLED(LIBCRYPTO)
|
||||
/**
|
||||
* rsa_verify_openssl() - Verify a signature against some data with openssl API
|
||||
*
|
||||
|
||||
@@ -1146,7 +1146,7 @@ int imx8image_copy_image(int outfd, struct image_tool_params *mparams)
|
||||
fprintf(stdout, "CONTAINER SW VERSION:\t0x%04x\n", sw_version);
|
||||
|
||||
build_container(soc, sector_size, emmc_fastboot,
|
||||
img_sp, false, fuse_version, sw_version, outfd);
|
||||
img_sp, dcd_skip, fuse_version, sw_version, outfd);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user