Merge tag 'efi-next-20250105' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-next-20250105
Documentation:
* doc: develop: Fix typos and wording in binman/binman.rst
* doc: develop: Fix typos and wording in gdb.rst
* doc: sandbox: Fix the "sb" command name
* doc/develop/distro.rst: Better document upstream definition of extlinux.conf
UEFI:
* efi_loader: avoid writing message in Exit() boot service
* efi_loader: update EFI specification version
* cmd: efidebug: update output of memory attributes
* efi_loader: Don't warn if the TCG2 FinalEvents table is not installed
* cmd: bootmenu: add parameter -e for UEFI boot options
* efi_loader: Update startimage_exit self-test to check error
* efi: Correct ECPT table GUID
Others:
Building the API demo application for riscv64 is supported.
* API: unify platform_sys_info() implementations
* examples: implement _start and syscall for RISC-V
* examples: use architecture specific memset() on RISC-V
* examples: use QEMU compatible LOAD_ADDR on RISC-V
* test: fix test_extension.py
* configs: sandbox_deconfig: remove CONFIG_AMIGA_PARTITION
* CI: xilinx_versal_virt: disable USB_DWC3
* net: eth_bootdev_hunt() should not run DHCP
diff --git a/Makefile b/Makefile
index 6b62e8c..0500eb6 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
VERSION = 2025
PATCHLEVEL = 01
SUBLEVEL =
-EXTRAVERSION = -rc6
+EXTRAVERSION =
NAME =
# *DOCUMENTATION*
diff --git a/arch/arm/mach-k3/am62ax/am62a7_init.c b/arch/arm/mach-k3/am62ax/am62a7_init.c
index 5c0d3ee..78153c9 100644
--- a/arch/arm/mach-k3/am62ax/am62a7_init.c
+++ b/arch/arm/mach-k3/am62ax/am62a7_init.c
@@ -171,6 +171,25 @@
debug("am62a_init: %s done\n", __func__);
}
+u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device)
+{
+ u32 devstat = readl(CTRLMMR_MAIN_DEVSTAT);
+ u32 bootmode = (devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_MASK) >>
+ MAIN_DEVSTAT_PRIMARY_BOOTMODE_SHIFT;
+ u32 bootmode_cfg = (devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_MASK) >>
+ MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_SHIFT;
+
+ switch (bootmode) {
+ case BOOT_DEVICE_EMMC:
+ return MMCSD_MODE_EMMCBOOT;
+ case BOOT_DEVICE_MMC:
+ if (bootmode_cfg & MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK)
+ return MMCSD_MODE_RAW;
+ default:
+ return MMCSD_MODE_FS;
+ }
+}
+
u32 spl_boot_device(void)
{
return get_boot_device();
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 93efeae..4c4ad9d 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1453,6 +1453,12 @@
in the Replay Protection Memory Block partition in eMMC by
using Persistent Objects in OPTEE
+config CMD_OPTEE
+ bool "Enable OP-TEE commands"
+ depends on OPTEE
+ help
+ OP-TEE commands support.
+
config CMD_MTD
bool "mtd"
depends on MTD
diff --git a/cmd/Makefile b/cmd/Makefile
index 1e6d312..bf32220 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -119,6 +119,7 @@
obj-$(CONFIG_CMD_SLEEP) += sleep.o
obj-$(CONFIG_CMD_MMC) += mmc.o
obj-$(CONFIG_CMD_OPTEE_RPMB) += optee_rpmb.o
+obj-$(CONFIG_CMD_OPTEE) += optee.o
obj-$(CONFIG_CMD_MP) += mp.o
obj-$(CONFIG_CMD_MTD) += mtd.o
obj-$(CONFIG_CMD_MTDPARTS) += mtdparts.o
diff --git a/cmd/optee.c b/cmd/optee.c
new file mode 100644
index 0000000..d0d3729
--- /dev/null
+++ b/cmd/optee.c
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * (C) Copyright 2024, Advanced Micro Devices, Inc.
+ */
+#include <command.h>
+#include <errno.h>
+#include <tee.h>
+#include <vsprintf.h>
+
+#define TA_HELLO_WORLD_CMD_INC_VALUE 0
+/* This needs to match the UUID of the Hello World TA. */
+#define TA_HELLO_WORLD_UUID \
+ { 0x8aaaf200, 0x2450, 0x11e4, \
+ { 0xab, 0xe2, 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b} }
+
+static int hello_world_ta(unsigned int value)
+{
+ const struct tee_optee_ta_uuid uuid = TA_HELLO_WORLD_UUID;
+ struct tee_open_session_arg session_arg;
+ struct udevice *tee = NULL;
+ struct tee_invoke_arg arg;
+ struct tee_param param[2];
+ int rc;
+
+ tee = tee_find_device(tee, NULL, NULL, NULL);
+ if (!tee)
+ return -ENODEV;
+
+ memset(&session_arg, 0, sizeof(session_arg));
+ tee_optee_ta_uuid_to_octets(session_arg.uuid, &uuid);
+ rc = tee_open_session(tee, &session_arg, 0, NULL);
+ if (rc) {
+ printf("tee_open_session(): failed(%d)\n", rc);
+ return rc;
+ }
+
+ arg.func = TA_HELLO_WORLD_CMD_INC_VALUE;
+ arg.session = session_arg.session;
+
+ param[0].attr = TEE_PARAM_ATTR_TYPE_VALUE_INOUT;
+ param[0].u.value.a = value;
+
+ printf("Value before: 0x%x\n", (int)param[0].u.value.a);
+ printf("Calling TA\n");
+ tee_invoke_func(tee, &arg, 1, param);
+
+ printf("Value after: 0x%x\n", (int)param[0].u.value.a);
+ return tee_close_session(tee, session_arg.session);
+}
+
+static int do_optee_hello_world_ta(struct cmd_tbl *cmdtp, int flag, int argc,
+ char * const argv[])
+{
+ int ret, value = 0;
+
+ if (strcmp(argv[1], NULL))
+ value = hextoul(argv[1], NULL);
+
+ ret = hello_world_ta(value);
+ if (ret)
+ return CMD_RET_FAILURE;
+
+ return CMD_RET_SUCCESS;
+}
+
+U_BOOT_LONGHELP(optee,
+ "hello [<value>] Invoke the OP-TEE 'Hello World' TA\n");
+
+U_BOOT_CMD_WITH_SUBCMDS(optee, "OP-TEE commands", optee_help_text,
+ U_BOOT_SUBCMD_MKENT(hello, 2, 1, do_optee_hello_world_ta));
diff --git a/configs/am62ax_evm_a53_defconfig b/configs/am62ax_evm_a53_defconfig
index 7d63340..ad448fe 100644
--- a/configs/am62ax_evm_a53_defconfig
+++ b/configs/am62ax_evm_a53_defconfig
@@ -1,6 +1,7 @@
CONFIG_ARM=y
CONFIG_ARCH_K3=y
CONFIG_SYS_MALLOC_F_LEN=0x8000
+CONFIG_SPL_GPIO=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=2
@@ -8,6 +9,7 @@
CONFIG_TARGET_AM62A7_A53_EVM=y
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
+CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am62a7-sk"
CONFIG_OF_LIBFDT_OVERLAY=y
CONFIG_DM_RESET=y
@@ -32,11 +34,14 @@
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400
+CONFIG_SPL_ENV_SUPPORT=y
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot.img"
+CONFIG_SPL_I2C=y
CONFIG_SPL_DM_MAILBOX=y
CONFIG_SPL_POWER_DOMAIN=y
CONFIG_SPL_YMODEM_SUPPORT=y
CONFIG_CMD_MMC=y
+CONFIG_MMC_SPEED_MODE_SET=y
CONFIG_CMD_REMOTEPROC=y
CONFIG_OF_CONTROL=y
CONFIG_SPL_OF_CONTROL=y
@@ -56,10 +61,21 @@
CONFIG_DMA_CHANNELS=y
CONFIG_TI_K3_NAVSS_UDMA=y
CONFIG_TI_SCI_PROTOCOL=y
-# CONFIG_GPIO is not set
-# CONFIG_I2C is not set
+CONFIG_SPL_DM_GPIO_LOOKUP_LABEL=y
+CONFIG_DA8XX_GPIO=y
+CONFIG_DM_PCA953X=y
+CONFIG_SPL_DM_PCA953X=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_OMAP24XX=y
CONFIG_DM_MAILBOX=y
CONFIG_K3_SEC_PROXY=y
+CONFIG_SUPPORT_EMMC_BOOT=y
+CONFIG_MMC_IO_VOLTAGE=y
+CONFIG_SPL_MMC_IO_VOLTAGE=y
+CONFIG_MMC_UHS_SUPPORT=y
+CONFIG_SPL_MMC_UHS_SUPPORT=y
+CONFIG_MMC_HS200_SUPPORT=y
+CONFIG_SPL_MMC_HS200_SUPPORT=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ADMA=y
CONFIG_SPL_MMC_SDHCI_ADMA=y
@@ -73,6 +89,12 @@
CONFIG_PINCTRL_SINGLE=y
CONFIG_POWER_DOMAIN=y
CONFIG_TI_SCI_POWER_DOMAIN=y
+CONFIG_DM_REGULATOR=y
+CONFIG_SPL_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_SPL_DM_REGULATOR_FIXED=y
+CONFIG_DM_REGULATOR_GPIO=y
+CONFIG_SPL_DM_REGULATOR_GPIO=y
CONFIG_K3_SYSTEM_CONTROLLER=y
CONFIG_REMOTEPROC_TI_K3_ARM64=y
CONFIG_REMOTEPROC_TI_K3_DSP=y
diff --git a/configs/am62ax_evm_r5_defconfig b/configs/am62ax_evm_r5_defconfig
index ec712b1..274cd20 100644
--- a/configs/am62ax_evm_r5_defconfig
+++ b/configs/am62ax_evm_r5_defconfig
@@ -8,7 +8,6 @@
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x43c3a7f0
CONFIG_ENV_SIZE=0x20000
-CONFIG_ENV_OFFSET=0x680000
CONFIG_SPL_DM_SPI=y
CONFIG_DEFAULT_DEVICE_TREE="k3-am62a7-r5-sk"
CONFIG_DM_RESET=y
@@ -63,9 +62,7 @@
CONFIG_OF_CONTROL=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_ENV_IS_NOWHERE=y
-CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-CONFIG_SYS_MMC_ENV_PART=1
CONFIG_NO_NET=y
CONFIG_SPL_DM=y
CONFIG_SPL_DM_DEVICE_REMOVE=y
@@ -88,6 +85,7 @@
CONFIG_K3_SEC_PROXY=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ADMA=y
+CONFIG_SPL_MMC_SDHCI_ADMA=y
CONFIG_MMC_SDHCI_AM654=y
CONFIG_MTD=y
CONFIG_PINCTRL=y
diff --git a/configs/am62px_evm_r5_defconfig b/configs/am62px_evm_r5_defconfig
index a0eaa12..9df90e0 100644
--- a/configs/am62px_evm_r5_defconfig
+++ b/configs/am62px_evm_r5_defconfig
@@ -10,7 +10,6 @@
CONFIG_SF_DEFAULT_SPEED=25000000
CONFIG_SF_DEFAULT_MODE=0
CONFIG_ENV_SIZE=0x20000
-CONFIG_ENV_OFFSET=0x680000
CONFIG_SPL_DM_SPI=y
CONFIG_DEFAULT_DEVICE_TREE="k3-am62p5-r5-sk"
CONFIG_DM_RESET=y
@@ -67,9 +66,7 @@
CONFIG_OF_CONTROL=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_ENV_IS_NOWHERE=y
-CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-CONFIG_SYS_MMC_ENV_PART=1
CONFIG_NO_NET=y
CONFIG_SPL_DM=y
CONFIG_SPL_DM_DEVICE_REMOVE=y
diff --git a/configs/am62x_evm_a53_defconfig b/configs/am62x_evm_a53_defconfig
index 003fa4f..54f4dde 100644
--- a/configs/am62x_evm_a53_defconfig
+++ b/configs/am62x_evm_a53_defconfig
@@ -1,6 +1,7 @@
CONFIG_ARM=y
CONFIG_ARCH_K3=y
CONFIG_SYS_MALLOC_F_LEN=0x8000
+CONFIG_SPL_GPIO=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=2
@@ -9,6 +10,7 @@
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80b80000
CONFIG_SF_DEFAULT_SPEED=25000000
+CONFIG_DM_GPIO=y
CONFIG_SPL_DM_SPI=y
CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am625-sk"
CONFIG_SPL_TEXT_BASE=0x80080000
@@ -41,7 +43,9 @@
CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400
+CONFIG_SPL_ENV_SUPPORT=y
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot.img"
+CONFIG_SPL_I2C=y
CONFIG_SPL_DM_MAILBOX=y
CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPL_POWER_DOMAIN=y
@@ -75,9 +79,21 @@
CONFIG_DMA_CHANNELS=y
CONFIG_TI_K3_NAVSS_UDMA=y
CONFIG_TI_SCI_PROTOCOL=y
+CONFIG_SPL_DM_GPIO_LOOKUP_LABEL=y
+CONFIG_DA8XX_GPIO=y
+CONFIG_DM_PCA953X=y
+CONFIG_SPL_DM_PCA953X=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_OMAP24XX=y
CONFIG_DM_MAILBOX=y
CONFIG_K3_SEC_PROXY=y
CONFIG_SUPPORT_EMMC_BOOT=y
+CONFIG_MMC_IO_VOLTAGE=y
+CONFIG_SPL_MMC_IO_VOLTAGE=y
+CONFIG_MMC_UHS_SUPPORT=y
+CONFIG_SPL_MMC_UHS_SUPPORT=y
+CONFIG_MMC_HS200_SUPPORT=y
+CONFIG_SPL_MMC_HS200_SUPPORT=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ADMA=y
CONFIG_SPL_MMC_SDHCI_ADMA=y
@@ -98,6 +114,12 @@
CONFIG_PINCTRL_SINGLE=y
CONFIG_POWER_DOMAIN=y
CONFIG_TI_SCI_POWER_DOMAIN=y
+CONFIG_DM_REGULATOR=y
+CONFIG_SPL_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_SPL_DM_REGULATOR_FIXED=y
+CONFIG_DM_REGULATOR_GPIO=y
+CONFIG_SPL_DM_REGULATOR_GPIO=y
CONFIG_K3_SYSTEM_CONTROLLER=y
CONFIG_REMOTEPROC_TI_K3_ARM64=y
CONFIG_RESET_TI_SCI=y
diff --git a/configs/am64x_evm_r5_defconfig b/configs/am64x_evm_r5_defconfig
index c4e498a..e8ea4ee 100644
--- a/configs/am64x_evm_r5_defconfig
+++ b/configs/am64x_evm_r5_defconfig
@@ -12,7 +12,6 @@
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x7019b800
CONFIG_SF_DEFAULT_SPEED=25000000
CONFIG_ENV_SIZE=0x20000
-CONFIG_ENV_OFFSET=0x680000
CONFIG_DM_GPIO=y
CONFIG_SPL_DM_SPI=y
CONFIG_DEFAULT_DEVICE_TREE="k3-am642-r5-evm"
@@ -85,9 +84,7 @@
CONFIG_SPL_MULTI_DTB_FIT=y
CONFIG_SPL_OF_LIST="k3-am642-r5-evm k3-am642-r5-sk"
CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
-CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-CONFIG_SYS_MMC_ENV_PART=1
CONFIG_SPL_DM=y
CONFIG_SPL_DM_SEQ_ALIAS=y
CONFIG_REGMAP=y
diff --git a/doc/develop/release_cycle.rst b/doc/develop/release_cycle.rst
index 449d037..859ae3b 100644
--- a/doc/develop/release_cycle.rst
+++ b/doc/develop/release_cycle.rst
@@ -51,13 +51,15 @@
Current Status
--------------
-* U-Boot v2024.10 was released on Mon 07 October 2024.
+* U-Boot v2025.01 was released on Mon 06 January 2025.
-* The Merge Window for the next release (v2025.01) is **closed**.
+* The Merge Window for the next release (v2025.04) is **open** until the -rc1
+ release on Mon 27 January 2025.
-* The next branch is now **open**.
+* The next branch is now **closed** until the -rc2 release on Mon 10 February
+ 2025.
-* Release "v2025.01" is scheduled for 06 January 2025.
+* Release "v2025.04" is scheduled for 07 April 2025.
Future Releases
---------------
@@ -65,31 +67,29 @@
.. 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 v2025.01-rc1 was released on Mon 28 October 2024.
+.. * U-Boot v2025.04-rc1 was released on Mon 27 January 2025.
-* U-Boot v2025.01-rc2 was released on Mon 11 November 2024.
+.. * U-Boot v2025.04-rc2 was released on Mon 10 February 2025.
-* U-Boot v2025.01-rc3 was released on Mon 25 November 2024.
+.. * U-Boot v2025.04-rc3 was released on Mon 24 February 2025.
-* U-Boot v2025.01-rc4 was released on Mon 09 December 2024.
+.. * U-Boot v2025.04-rc4 was released on Mon 10 March 2025.
-* U-Boot v2025.01-rc5 was released on Mon 23 December 2024.
-
-* U-Boot v2025.01-rc6 was released on Mon 30 December 2024.
+.. * U-Boot v2025.04-rc5 was released on Mon 24 March 2025.
Please note that the following dates are planned only and may be deviated from
as needed.
-* "v2025.01": end of MW = Mon, Oct 21, 2024; release = Mon, Jan 06, 2025
-
* "v2025.04": end of MW = Mon, Jan 27, 2025; release = Mon, Apr 07, 2025
* "v2025.07": end of MW = Mon, Apr 21, 2025; release = Mon, Jul 07, 2025
* "v2025.10": end of MW = Mon, Jul 21, 2025; release = Mon, Oct 06, 2025
+* "v2026.01": end of MW = Mon, Oct 20, 2025; release = Mon, Jan 05, 2026
+
Previous Releases
-----------------
@@ -97,6 +97,8 @@
<https://source.denx.de/u-boot/gitdm>`_, which was originally created by
Jonathan Corbet.
+* :doc:`statistics/u-boot-stats-v2025.01` which was released on 06 January 2025.
+
* :doc:`statistics/u-boot-stats-v2024.10` which was released on 07 October 2024.
* :doc:`statistics/u-boot-stats-v2024.07` which was released on 01 July 2024.
diff --git a/doc/develop/statistics/u-boot-stats-v2025.01.rst b/doc/develop/statistics/u-boot-stats-v2025.01.rst
new file mode 100644
index 0000000..668ccff
--- /dev/null
+++ b/doc/develop/statistics/u-boot-stats-v2025.01.rst
@@ -0,0 +1,907 @@
+:orphan:
+
+Release Statistics for U-Boot v2025.01
+======================================
+
+* Processed 1768 changesets from 205 developers
+
+* 27 employers found
+
+* A total of 1040983 lines added, 82958 removed (delta 958025)
+
+.. table:: Developers with the most changesets
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Simon Glass 352 (19.9%)
+ Marek Vasut 114 (6.4%)
+ Heinrich Schuchardt 88 (5.0%)
+ Christian Marangi 68 (3.8%)
+ Sughosh Ganu 56 (3.2%)
+ Jerome Forissier 51 (2.9%)
+ Caleb Connolly 46 (2.6%)
+ Sam Protsenko 42 (2.4%)
+ Neil Armstrong 40 (2.3%)
+ Patrick Rudolph 34 (1.9%)
+ Tom Rini 33 (1.9%)
+ Michal Simek 32 (1.8%)
+ Ilias Apalodimas 29 (1.6%)
+ Rasmus Villemoes 29 (1.6%)
+ Raymond Mao 28 (1.6%)
+ Peng Fan 25 (1.4%)
+ Jonas Karlman 24 (1.4%)
+ Venkatesh Yadav Abbarapu 23 (1.3%)
+ Oliver Gaskell 21 (1.2%)
+ Fabio Estevam 19 (1.1%)
+ Heiko Stuebner 17 (1.0%)
+ Ye Li 16 (0.9%)
+ Svyatoslav Ryhel 15 (0.8%)
+ Paul Kocialkowski 15 (0.8%)
+ Richard Weinberger 14 (0.8%)
+ Chia-Wei Wang 12 (0.7%)
+ Takahiro Kuwano 12 (0.7%)
+ Daniel Schultz 12 (0.7%)
+ Zixun LI 11 (0.6%)
+ Paul Barker 10 (0.6%)
+ Anatolij Gustschin 10 (0.6%)
+ Manorit Chawdhry 9 (0.5%)
+ Patrice Chotard 9 (0.5%)
+ Padmarao Begari 9 (0.5%)
+ Romain Naour 9 (0.5%)
+ Bhupesh Sharma 9 (0.5%)
+ Chris Packham 8 (0.5%)
+ Andy Shevchenko 8 (0.5%)
+ Wadim Egorov 8 (0.5%)
+ Bastien Curutchet 8 (0.5%)
+ Hanyuan Zhao 8 (0.5%)
+ Chris Morgan 8 (0.5%)
+ Tim Harvey 8 (0.5%)
+ Quentin Schulz 7 (0.4%)
+ Andrew Goodbody 7 (0.4%)
+ Mattijs Korpershoek 6 (0.3%)
+ William Zhang 6 (0.3%)
+ Janne Grunau 6 (0.3%)
+ Jan Kiszka 6 (0.3%)
+ Dmitry Rokosov 6 (0.3%)
+ Sebastian Reichel 6 (0.3%)
+ Kishon Vijay Abraham I 6 (0.3%)
+ Jonathan Humphreys 5 (0.3%)
+ Patrick Delaunay 5 (0.3%)
+ Michael Walle 5 (0.3%)
+ Yuri Zaporozhets 5 (0.3%)
+ Linus Walleij 5 (0.3%)
+ Julius Lehmann 5 (0.3%)
+ Boyan Karatotev 5 (0.3%)
+ Baocheng Su 5 (0.3%)
+ Prasad Kummari 5 (0.3%)
+ Jim Liu 5 (0.3%)
+ Jacky Chou 5 (0.3%)
+ Philip Oberfichtner 5 (0.3%)
+ Andy Yan 4 (0.2%)
+ Siddharth Vadapalli 4 (0.2%)
+ david regan 4 (0.2%)
+ Ion Agorria 4 (0.2%)
+ Andrejs Cainikovs 4 (0.2%)
+ Billy Tsai 4 (0.2%)
+ Marcin Juszkiewicz 4 (0.2%)
+ Jesse Taube 4 (0.2%)
+ Alexander Kochetkov 4 (0.2%)
+ Chintan Vankar 4 (0.2%)
+ Martyn Welch 4 (0.2%)
+ Jernej Skrabec 4 (0.2%)
+ John Watts 4 (0.2%)
+ Sean Anderson 4 (0.2%)
+ Kongyang Liu 4 (0.2%)
+ Prasanth Babu Mantena 3 (0.2%)
+ J. Neuschäfer 3 (0.2%)
+ E Shattow 3 (0.2%)
+ Nicolas Belin 3 (0.2%)
+ Udit Kumar 3 (0.2%)
+ Leo Yan 3 (0.2%)
+ Love Kumar 3 (0.2%)
+ Weijie Gao 3 (0.2%)
+ Erik Schumacher 3 (0.2%)
+ Conor Dooley 3 (0.2%)
+ LekKit 3 (0.2%)
+ Maksim Kiselev 3 (0.2%)
+ Maximilian Brune 3 (0.2%)
+ FUKAUMI Naoki 3 (0.2%)
+ Hiago De Franco 3 (0.2%)
+ Devarsh Thakkar 3 (0.2%)
+ Joy Zou 3 (0.2%)
+ Andre Przywara 3 (0.2%)
+ Tomas Paukrt 3 (0.2%)
+ Arseniy Krasnov 3 (0.2%)
+ Andreas Schwab 2 (0.1%)
+ Tony Dinh 2 (0.1%)
+ Khoa Hoang 2 (0.1%)
+ Nam Cao 2 (0.1%)
+ Javier Tia 2 (0.1%)
+ Lad Prabhakar 2 (0.1%)
+ Ian Ray 2 (0.1%)
+ Paul Geurts 2 (0.1%)
+ Moritz Fischer 2 (0.1%)
+ Gilles Talis 2 (0.1%)
+ Vaishnav Achath 2 (0.1%)
+ Mayuresh Chitale 2 (0.1%)
+ Frank Sae 2 (0.1%)
+ Alex Shumsky 2 (0.1%)
+ John Vicky Vykuntapu 2 (0.1%)
+ Miquel Raynal 2 (0.1%)
+ Santhosh Kumar K 2 (0.1%)
+ Brian Ruley 2 (0.1%)
+ Ashok Reddy Soma 2 (0.1%)
+ Daniel Palmer 2 (0.1%)
+ Matthias Pritschet 2 (0.1%)
+ Dario Binacchi 2 (0.1%)
+ Vignesh Raghavendra 2 (0.1%)
+ Benjamin Hahn 2 (0.1%)
+ Yashwanth Varakala 2 (0.1%)
+ Yasuharu Shibata 2 (0.1%)
+ Mikhail Kshevetskiy 2 (0.1%)
+ Geert Uytterhoeven 1 (0.1%)
+ Ronald Wahl 1 (0.1%)
+ Francois Berder 1 (0.1%)
+ Wei Ming Chen 1 (0.1%)
+ Leonard Anderweit 1 (0.1%)
+ Johan Jonker 1 (0.1%)
+ Roger Quadros 1 (0.1%)
+ Peter Robinson 1 (0.1%)
+ Vincent Stehlé 1 (0.1%)
+ Evgeny Bachinin 1 (0.1%)
+ Mark Kettenis 1 (0.1%)
+ Dominik Wernberger 1 (0.1%)
+ Joel Stanley 1 (0.1%)
+ Ben Horgan 1 (0.1%)
+ Holger Brunck 1 (0.1%)
+ Dominique Martinet 1 (0.1%)
+ Francesco Dolcini 1 (0.1%)
+ Heiko Schocher 1 (0.1%)
+ Vasileios Amoiridis 1 (0.1%)
+ Peter Korsgaard 1 (0.1%)
+ Loic Poulain 1 (0.1%)
+ Saeed Nowshadi 1 (0.1%)
+ Sergey Bostandzhyan 1 (0.1%)
+ Chris Paterson 1 (0.1%)
+ Benjamin Szőke 1 (0.1%)
+ mason1920 1 (0.1%)
+ Uwe Kleine-König 1 (0.1%)
+ Nick Hu 1 (0.1%)
+ Henrik Grimler 1 (0.1%)
+ Baruch Siach 1 (0.1%)
+ Markus Volk 1 (0.1%)
+ Tudor Ambarus 1 (0.1%)
+ Jonas Jelonek 1 (0.1%)
+ Alexander Dahl 1 (0.1%)
+ Anton Blanchard 1 (0.1%)
+ Li Hua Qian 1 (0.1%)
+ Daniel Semkowicz 1 (0.1%)
+ Lukasz Czechowski 1 (0.1%)
+ Paul Alvin 1 (0.1%)
+ Philip Balister 1 (0.1%)
+ Han Xu 1 (0.1%)
+ Dmitry Dunaev 1 (0.1%)
+ Guillaume La Roque 1 (0.1%)
+ Eva Kurchatova 1 (0.1%)
+ Dmitrii Merkurev 1 (0.1%)
+ Ken Kurematsu 1 (0.1%)
+ Ray Chang 1 (0.1%)
+ Bhavya Kapoor 1 (0.1%)
+ Parth Pancholi 1 (0.1%)
+ Eugen Hristev 1 (0.1%)
+ Godfrey Mwangi 1 (0.1%)
+ Callum Parsey 1 (0.1%)
+ Jonas Schwöbel 1 (0.1%)
+ Sidharth Prabukumar 1 (0.1%)
+ Chris Webb 1 (0.1%)
+ Ying-Chun Liu (PaulLiu) 1 (0.1%)
+ Vitor Soares 1 (0.1%)
+ Arturo Buzarra 1 (0.1%)
+ Joakim Tjernlund 1 (0.1%)
+ Vitaliy Vasylskyy 1 (0.1%)
+ Jacky Bai 1 (0.1%)
+ Frank Li 1 (0.1%)
+ Stanley Chu 1 (0.1%)
+ Francis Laniel 1 (0.1%)
+ John Keeping 1 (0.1%)
+ Keerthy 1 (0.1%)
+ Kuan Lim Lee 1 (0.1%)
+ Rogerio Guerra Borin 1 (0.1%)
+ Mathieu Othacehe 1 (0.1%)
+ Franco Venturi 1 (0.1%)
+ Maxim Moskalets 1 (0.1%)
+ Derald D. Woods 1 (0.1%)
+ MD Danish Anwar 1 (0.1%)
+ Andrew Davis 1 (0.1%)
+ Primoz Fiser 1 (0.1%)
+ Lukasz Majewski 1 (0.1%)
+ Jianfeng A Zhu 1 (0.1%)
+ Ravi Minnikanti 1 (0.1%)
+ Michael Polyntsov 1 (0.1%)
+ ==================================== =====
+
+
+.. table:: Developers with the most changed lines
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Tom Rini 929361 (86.0%)
+ Simon Glass 18229 (1.7%)
+ Marek Vasut 12581 (1.2%)
+ Chia-Wei Wang 12218 (1.1%)
+ Peng Fan 9088 (0.8%)
+ Caleb Connolly 6163 (0.6%)
+ Christian Marangi 5779 (0.5%)
+ Sebastian Reichel 5023 (0.5%)
+ Vitaliy Vasylskyy 4735 (0.4%)
+ Fabio Estevam 4727 (0.4%)
+ Jerome Forissier 4086 (0.4%)
+ Patrick Rudolph 4001 (0.4%)
+ Bhupesh Sharma 3827 (0.4%)
+ Andrew Davis 3676 (0.3%)
+ Andre Przywara 3267 (0.3%)
+ Raymond Mao 3040 (0.3%)
+ Gilles Talis 2897 (0.3%)
+ Vaishnav Achath 2852 (0.3%)
+ david regan 2790 (0.3%)
+ Paul Barker 2574 (0.2%)
+ Sughosh Ganu 2518 (0.2%)
+ Kongyang Liu 2406 (0.2%)
+ Jonas Karlman 2194 (0.2%)
+ Oliver Gaskell 1930 (0.2%)
+ Venkatesh Yadav Abbarapu 1762 (0.2%)
+ Svyatoslav Ryhel 1540 (0.1%)
+ Jan Kiszka 1362 (0.1%)
+ Neil Armstrong 1225 (0.1%)
+ Sam Protsenko 1078 (0.1%)
+ Marcin Juszkiewicz 1045 (0.1%)
+ Heinrich Schuchardt 1022 (0.1%)
+ Conor Dooley 890 (0.1%)
+ Michal Simek 881 (0.1%)
+ Siddharth Vadapalli 879 (0.1%)
+ Heiko Stuebner 803 (0.1%)
+ Jim Liu 772 (0.1%)
+ Love Kumar 707 (0.1%)
+ Derald D. Woods 695 (0.1%)
+ Philip Oberfichtner 645 (0.1%)
+ Andy Yan 614 (0.1%)
+ Ilias Apalodimas 580 (0.1%)
+ Billy Tsai 563 (0.1%)
+ Julius Lehmann 561 (0.1%)
+ Frank Sae 499 (0.0%)
+ Chris Packham 485 (0.0%)
+ Janne Grunau 473 (0.0%)
+ Johan Jonker 469 (0.0%)
+ Alexander Kochetkov 457 (0.0%)
+ Chris Morgan 425 (0.0%)
+ Ye Li 413 (0.0%)
+ Bastien Curutchet 385 (0.0%)
+ Dmitry Rokosov 376 (0.0%)
+ Kuan Lim Lee 375 (0.0%)
+ Maximilian Brune 334 (0.0%)
+ Linus Walleij 328 (0.0%)
+ Manorit Chawdhry 302 (0.0%)
+ Rasmus Villemoes 297 (0.0%)
+ Martyn Welch 292 (0.0%)
+ Zixun LI 269 (0.0%)
+ Romain Naour 229 (0.0%)
+ Lad Prabhakar 215 (0.0%)
+ Richard Weinberger 212 (0.0%)
+ Paul Kocialkowski 209 (0.0%)
+ Chintan Vankar 202 (0.0%)
+ Keerthy 191 (0.0%)
+ Wadim Egorov 188 (0.0%)
+ Santhosh Kumar K 173 (0.0%)
+ Tim Harvey 168 (0.0%)
+ Anatolij Gustschin 155 (0.0%)
+ Prasad Kummari 154 (0.0%)
+ Hanyuan Zhao 147 (0.0%)
+ William Zhang 147 (0.0%)
+ Mayuresh Chitale 139 (0.0%)
+ Quentin Schulz 133 (0.0%)
+ Dmitrii Merkurev 124 (0.0%)
+ FUKAUMI Naoki 117 (0.0%)
+ Padmarao Begari 116 (0.0%)
+ Lukasz Czechowski 112 (0.0%)
+ Mathieu Othacehe 110 (0.0%)
+ Andrew Goodbody 106 (0.0%)
+ Francis Laniel 98 (0.0%)
+ Takahiro Kuwano 96 (0.0%)
+ Boyan Karatotev 94 (0.0%)
+ Jacky Chou 90 (0.0%)
+ Andy Shevchenko 87 (0.0%)
+ Baocheng Su 86 (0.0%)
+ Ashok Reddy Soma 83 (0.0%)
+ Mattijs Korpershoek 82 (0.0%)
+ Kishon Vijay Abraham I 80 (0.0%)
+ Daniel Schultz 73 (0.0%)
+ Jernej Skrabec 72 (0.0%)
+ Arseniy Krasnov 72 (0.0%)
+ Guillaume La Roque 71 (0.0%)
+ Benjamin Hahn 62 (0.0%)
+ Vasileios Amoiridis 58 (0.0%)
+ Udit Kumar 56 (0.0%)
+ Paul Alvin 54 (0.0%)
+ Leo Yan 53 (0.0%)
+ Paul Geurts 53 (0.0%)
+ Ion Agorria 51 (0.0%)
+ Patrick Delaunay 50 (0.0%)
+ Brian Ruley 49 (0.0%)
+ Maksim Kiselev 48 (0.0%)
+ Matthias Pritschet 47 (0.0%)
+ J. Neuschäfer 46 (0.0%)
+ Javier Tia 45 (0.0%)
+ Jesse Taube 41 (0.0%)
+ Joy Zou 41 (0.0%)
+ Tony Dinh 40 (0.0%)
+ Ravi Minnikanti 39 (0.0%)
+ Sean Anderson 38 (0.0%)
+ Prasanth Babu Mantena 37 (0.0%)
+ Khoa Hoang 37 (0.0%)
+ Parth Pancholi 36 (0.0%)
+ Yasuharu Shibata 35 (0.0%)
+ Dmitry Dunaev 35 (0.0%)
+ Weijie Gao 34 (0.0%)
+ Sergey Bostandzhyan 32 (0.0%)
+ Arturo Buzarra 32 (0.0%)
+ Patrice Chotard 30 (0.0%)
+ Jonathan Humphreys 30 (0.0%)
+ Erik Schumacher 30 (0.0%)
+ Alex Shumsky 30 (0.0%)
+ Nick Hu 30 (0.0%)
+ Tomas Paukrt 27 (0.0%)
+ Devarsh Thakkar 24 (0.0%)
+ Michael Polyntsov 24 (0.0%)
+ Callum Parsey 23 (0.0%)
+ Yuri Zaporozhets 22 (0.0%)
+ Hiago De Franco 21 (0.0%)
+ Chris Webb 21 (0.0%)
+ Francois Berder 20 (0.0%)
+ John Watts 19 (0.0%)
+ Nicolas Belin 19 (0.0%)
+ Daniel Palmer 19 (0.0%)
+ Michael Walle 18 (0.0%)
+ Bhavya Kapoor 18 (0.0%)
+ Jonas Schwöbel 18 (0.0%)
+ Stanley Chu 18 (0.0%)
+ Benjamin Szőke 17 (0.0%)
+ John Keeping 17 (0.0%)
+ Ian Ray 14 (0.0%)
+ John Vicky Vykuntapu 13 (0.0%)
+ Peter Korsgaard 13 (0.0%)
+ MD Danish Anwar 13 (0.0%)
+ Vignesh Raghavendra 12 (0.0%)
+ Andrejs Cainikovs 11 (0.0%)
+ Li Hua Qian 10 (0.0%)
+ Moritz Fischer 9 (0.0%)
+ Evgeny Bachinin 9 (0.0%)
+ Loic Poulain 9 (0.0%)
+ Joakim Tjernlund 9 (0.0%)
+ Miquel Raynal 8 (0.0%)
+ Lukasz Majewski 8 (0.0%)
+ Jianfeng A Zhu 8 (0.0%)
+ Nam Cao 7 (0.0%)
+ Holger Brunck 7 (0.0%)
+ Heiko Schocher 7 (0.0%)
+ Andreas Schwab 6 (0.0%)
+ Geert Uytterhoeven 6 (0.0%)
+ Anton Blanchard 6 (0.0%)
+ Jacky Bai 6 (0.0%)
+ E Shattow 5 (0.0%)
+ Ray Chang 5 (0.0%)
+ LekKit 4 (0.0%)
+ Yashwanth Varakala 4 (0.0%)
+ Peter Robinson 4 (0.0%)
+ Maxim Moskalets 4 (0.0%)
+ Ronald Wahl 3 (0.0%)
+ Uwe Kleine-König 3 (0.0%)
+ Markus Volk 3 (0.0%)
+ Eugen Hristev 3 (0.0%)
+ Godfrey Mwangi 3 (0.0%)
+ Dario Binacchi 2 (0.0%)
+ Mikhail Kshevetskiy 2 (0.0%)
+ Wei Ming Chen 2 (0.0%)
+ Leonard Anderweit 2 (0.0%)
+ Dominik Wernberger 2 (0.0%)
+ Joel Stanley 2 (0.0%)
+ Saeed Nowshadi 2 (0.0%)
+ Henrik Grimler 2 (0.0%)
+ Eva Kurchatova 2 (0.0%)
+ Frank Li 2 (0.0%)
+ Rogerio Guerra Borin 2 (0.0%)
+ Roger Quadros 1 (0.0%)
+ Vincent Stehlé 1 (0.0%)
+ Mark Kettenis 1 (0.0%)
+ Ben Horgan 1 (0.0%)
+ Dominique Martinet 1 (0.0%)
+ Francesco Dolcini 1 (0.0%)
+ Chris Paterson 1 (0.0%)
+ mason1920 1 (0.0%)
+ Baruch Siach 1 (0.0%)
+ Tudor Ambarus 1 (0.0%)
+ Jonas Jelonek 1 (0.0%)
+ Alexander Dahl 1 (0.0%)
+ Daniel Semkowicz 1 (0.0%)
+ Philip Balister 1 (0.0%)
+ Han Xu 1 (0.0%)
+ Ken Kurematsu 1 (0.0%)
+ Sidharth Prabukumar 1 (0.0%)
+ Ying-Chun Liu (PaulLiu) 1 (0.0%)
+ Vitor Soares 1 (0.0%)
+ Franco Venturi 1 (0.0%)
+ Primoz Fiser 1 (0.0%)
+ ==================================== =====
+
+
+.. table:: Developers with the most lines removed
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Marek Vasut 6902 (8.3%)
+ Andrew Davis 3578 (4.3%)
+ Andre Przywara 3255 (3.9%)
+ david regan 2650 (3.2%)
+ Paul Barker 2432 (2.9%)
+ Fabio Estevam 2002 (2.4%)
+ Caleb Connolly 1697 (2.0%)
+ Jan Kiszka 1189 (1.4%)
+ Conor Dooley 758 (0.9%)
+ Derald D. Woods 693 (0.8%)
+ Johan Jonker 469 (0.6%)
+ Lad Prabhakar 182 (0.2%)
+ Paul Kocialkowski 134 (0.2%)
+ Andy Shevchenko 44 (0.1%)
+ Tony Dinh 18 (0.0%)
+ Manorit Chawdhry 13 (0.0%)
+ Maximilian Brune 8 (0.0%)
+ Holger Brunck 7 (0.0%)
+ Jacky Bai 6 (0.0%)
+ Anatolij Gustschin 5 (0.0%)
+ Li Hua Qian 5 (0.0%)
+ Miquel Raynal 3 (0.0%)
+ E Shattow 3 (0.0%)
+ Geert Uytterhoeven 2 (0.0%)
+ Maxim Moskalets 2 (0.0%)
+ Uwe Kleine-König 2 (0.0%)
+ Hiago De Franco 1 (0.0%)
+ Anton Blanchard 1 (0.0%)
+ Roger Quadros 1 (0.0%)
+ ==================================== =====
+
+
+.. table:: Developers with the most signoffs (total 307)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Minkyu Kang 41 (13.4%)
+ Mattijs Korpershoek 34 (11.1%)
+ Michal Simek 27 (8.8%)
+ Peng Fan 25 (8.1%)
+ Neil Armstrong 19 (6.2%)
+ Nathan Barrett-Morrison 13 (4.2%)
+ Greg Malysa 12 (3.9%)
+ Ilias Apalodimas 10 (3.3%)
+ Heiko Stuebner 10 (3.3%)
+ Chintan Vankar 8 (2.6%)
+ Siddharth Vadapalli 7 (2.3%)
+ Jan Kiszka 6 (2.0%)
+ Miquel Raynal 6 (2.0%)
+ Trevor Woerner 6 (2.0%)
+ Linus Walleij 6 (2.0%)
+ Leo Yan 5 (1.6%)
+ Svyatoslav Ryhel 5 (1.6%)
+ Jonas Karlman 5 (1.6%)
+ Tom Rini 5 (1.6%)
+ Max Krummenacher 4 (1.3%)
+ Ashok Reddy Soma 4 (1.3%)
+ Patrick Rudolph 4 (1.3%)
+ Simon Glass 3 (1.0%)
+ Marek Vasut 2 (0.7%)
+ Tejas Bhumkar 2 (0.7%)
+ Nishanth Menon 2 (0.7%)
+ Alice Guo 2 (0.7%)
+ Wang Jie 2 (0.7%)
+ Chen-Yu Tsai 2 (0.7%)
+ Prasanth Babu Mantena 2 (0.7%)
+ Guillaume La Roque 2 (0.7%)
+ Venkatesh Yadav Abbarapu 2 (0.7%)
+ Caleb Connolly 1 (0.3%)
+ Lad Prabhakar 1 (0.3%)
+ Hiago De Franco 1 (0.3%)
+ Mikhail Kshevetskiy 1 (0.3%)
+ Francesco Dolcini 1 (0.3%)
+ Chris Paterson 1 (0.3%)
+ T Karthik Reddy 1 (0.3%)
+ Srinivas Goud 1 (0.3%)
+ Shawn Guo 1 (0.3%)
+ Jackson Cooper-Driver 1 (0.3%)
+ Cody Schuffelen 1 (0.3%)
+ Jayesh Choudhary 1 (0.3%)
+ Ian Roberts 1 (0.3%)
+ Wei Liang Lim 1 (0.3%)
+ Andreas Dannenberg 1 (0.3%)
+ Vignesh Raghavendra 1 (0.3%)
+ Benjamin Szőke 1 (0.3%)
+ Jernej Skrabec 1 (0.3%)
+ Francis Laniel 1 (0.3%)
+ Daniel Schultz 1 (0.3%)
+ Kishon Vijay Abraham I 1 (0.3%)
+ William Zhang 1 (0.3%)
+ Heinrich Schuchardt 1 (0.3%)
+ Ye Li 1 (0.3%)
+ ==================================== =====
+
+
+.. table:: Developers with the most reviews (total 1015)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Simon Glass 195 (19.2%)
+ Ilias Apalodimas 103 (10.1%)
+ Tom Rini 62 (6.1%)
+ Mattijs Korpershoek 57 (5.6%)
+ Kever Yang 57 (5.6%)
+ Marek Vasut 39 (3.8%)
+ Leo Yu-Chi Liang 36 (3.5%)
+ Peng Fan 30 (3.0%)
+ Neil Armstrong 30 (3.0%)
+ Quentin Schulz 30 (3.0%)
+ Stefan Roese 28 (2.8%)
+ Heiko Schocher 26 (2.6%)
+ Peter Robinson 25 (2.5%)
+ Heinrich Schuchardt 24 (2.4%)
+ Patrick Delaunay 21 (2.1%)
+ Caleb Connolly 19 (1.9%)
+ Fabio Estevam 15 (1.5%)
+ Michael Nazzareno Trimarchi 12 (1.2%)
+ William Zhang 11 (1.1%)
+ Sumit Garg 11 (1.1%)
+ Sean Anderson 11 (1.1%)
+ Jaehoon Chung 10 (1.0%)
+ Neha Malcom Francis 10 (1.0%)
+ Aniket Limaye 9 (0.9%)
+ Michal Simek 8 (0.8%)
+ Alexander Sverdlin 8 (0.8%)
+ Jerome Forissier 8 (0.8%)
+ Jonas Karlman 6 (0.6%)
+ Ye Li 6 (0.6%)
+ Tudor Ambarus 6 (0.6%)
+ Patrice Chotard 6 (0.6%)
+ Miquel Raynal 5 (0.5%)
+ Moritz Fischer 5 (0.5%)
+ Bryan Brattlof 5 (0.5%)
+ Love Kumar 5 (0.5%)
+ Andre Przywara 4 (0.4%)
+ Paul Kocialkowski 4 (0.4%)
+ Anand Gore 4 (0.4%)
+ Pratyush Yadav 4 (0.4%)
+ Florian Fainelli 4 (0.4%)
+ Linus Walleij 3 (0.3%)
+ Guillaume La Roque 3 (0.3%)
+ Paul Barker 3 (0.3%)
+ Daniel Golle 3 (0.3%)
+ Dhruva Gole 3 (0.3%)
+ Venkatesh Yadav Abbarapu 2 (0.2%)
+ Andrew Davis 2 (0.2%)
+ david regan 2 (0.2%)
+ Roger Quadros 2 (0.2%)
+ Heiko Thiery 2 (0.2%)
+ Dragan Simic 2 (0.2%)
+ Jagan Teki 2 (0.2%)
+ Udit Kumar 2 (0.2%)
+ Siddharth Vadapalli 1 (0.1%)
+ Leo Yan 1 (0.1%)
+ Francesco Dolcini 1 (0.1%)
+ Jayesh Choudhary 1 (0.1%)
+ Vignesh Raghavendra 1 (0.1%)
+ Andy Shevchenko 1 (0.1%)
+ Tony Dinh 1 (0.1%)
+ Frieder Schrempf 1 (0.1%)
+ Qu Wenruo 1 (0.1%)
+ Igor Opaniuk 1 (0.1%)
+ Christoph Niedermaier 1 (0.1%)
+ Andrew Lunn 1 (0.1%)
+ Patrick Wildt 1 (0.1%)
+ Aurelien Jarno 1 (0.1%)
+ Kamal Dasu 1 (0.1%)
+ Julien Masson 1 (0.1%)
+ Hari Prasath Gujulan Elango 1 (0.1%)
+ Jacky Cao 1 (0.1%)
+ Toyama, Yoshihiro 1 (0.1%)
+ Andrejs Cainikovs 1 (0.1%)
+ Padmarao Begari 1 (0.1%)
+ Benjamin Hahn 1 (0.1%)
+ Tim Harvey 1 (0.1%)
+ Sughosh Ganu 1 (0.1%)
+ Raymond Mao 1 (0.1%)
+ ==================================== =====
+
+
+.. table:: Developers with the most test credits (total 164)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Tom Rini 23 (14.0%)
+ Julius Lehmann 17 (10.4%)
+ Uwe Kleine-König 14 (8.5%)
+ Venkatesh Yadav Abbarapu 13 (7.9%)
+ Derald D. Woods 12 (7.3%)
+ Michal Simek 9 (5.5%)
+ Mattijs Korpershoek 8 (4.9%)
+ Caleb Connolly 7 (4.3%)
+ Guillaume La Roque 6 (3.7%)
+ Soeren Moch 5 (3.0%)
+ Anand Moon 5 (3.0%)
+ Frank Wunderlich 4 (2.4%)
+ Chris Morgan 4 (2.4%)
+ Ilias Apalodimas 3 (1.8%)
+ Daniel Golle 3 (1.8%)
+ Quentin Schulz 2 (1.2%)
+ Heiko Schocher 2 (1.2%)
+ Patrick Delaunay 2 (1.2%)
+ Patrice Chotard 2 (1.2%)
+ Heiko Thiery 2 (1.2%)
+ Loic Devulder 2 (1.2%)
+ Adam Ford 2 (1.2%)
+ Javier Fernandez Pastrana 2 (1.2%)
+ Vaishnav Achath 2 (1.2%)
+ Neil Armstrong 1 (0.6%)
+ Fabio Estevam 1 (0.6%)
+ William Zhang 1 (0.6%)
+ Sughosh Ganu 1 (0.6%)
+ Johan Jonker 1 (0.6%)
+ E Shattow 1 (0.6%)
+ Enric Balletbo i Serra 1 (0.6%)
+ Ryan Walklin 1 (0.6%)
+ Teresa Remmet 1 (0.6%)
+ Andreas Schwab 1 (0.6%)
+ Andrew Goodbody 1 (0.6%)
+ Jonathan Humphreys 1 (0.6%)
+ Gilles Talis 1 (0.6%)
+ ==================================== =====
+
+
+.. table:: Developers who gave the most tested-by credits (total 164)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Neil Armstrong 23 (14.0%)
+ Simon Glass 21 (12.8%)
+ Heiko Stuebner 14 (8.5%)
+ Paul Kocialkowski 13 (7.9%)
+ Bhupesh Sharma 12 (7.3%)
+ Sughosh Ganu 10 (6.1%)
+ Sebastian Reichel 10 (6.1%)
+ Dmitry Rokosov 9 (5.5%)
+ Marek Vasut 8 (4.9%)
+ Heinrich Schuchardt 6 (3.7%)
+ Jerome Forissier 4 (2.4%)
+ Jernej Skrabec 4 (2.4%)
+ Weijie Gao 4 (2.4%)
+ Christian Marangi 4 (2.4%)
+ Peng Fan 2 (1.2%)
+ Nam Cao 2 (1.2%)
+ Michael Walle 2 (1.2%)
+ Sam Protsenko 2 (1.2%)
+ Tom Rini 1 (0.6%)
+ Venkatesh Yadav Abbarapu 1 (0.6%)
+ Caleb Connolly 1 (0.6%)
+ Chris Morgan 1 (0.6%)
+ Ilias Apalodimas 1 (0.6%)
+ William Zhang 1 (0.6%)
+ Jonas Karlman 1 (0.6%)
+ Prasanth Babu Mantena 1 (0.6%)
+ Mark Kettenis 1 (0.6%)
+ Lukasz Majewski 1 (0.6%)
+ Ion Agorria 1 (0.6%)
+ Tomas Paukrt 1 (0.6%)
+ Rasmus Villemoes 1 (0.6%)
+ Dmitrii Merkurev 1 (0.6%)
+ ==================================== =====
+
+
+.. table:: Developers with the most report credits (total 32)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Tom Rini 5 (15.6%)
+ Simon Glass 3 (9.4%)
+ Patrick Delaunay 3 (9.4%)
+ Heinrich Schuchardt 2 (6.2%)
+ Ilias Apalodimas 2 (6.2%)
+ Jonas Karlman 1 (3.1%)
+ Mattijs Korpershoek 1 (3.1%)
+ Patrice Chotard 1 (3.1%)
+ Heiko Thiery 1 (3.1%)
+ Vaishnav Achath 1 (3.1%)
+ E Shattow 1 (3.1%)
+ Enric Balletbo i Serra 1 (3.1%)
+ Gilles Talis 1 (3.1%)
+ Leo Yu-Chi Liang 1 (3.1%)
+ Michael Nazzareno Trimarchi 1 (3.1%)
+ Conor Dooley 1 (3.1%)
+ Vinh Nguyen 1 (3.1%)
+ João Paulo Gonçalves 1 (3.1%)
+ Adriano Cordova 1 (3.1%)
+ Rudi Heitbaum 1 (3.1%)
+ kernel test robot 1 (3.1%)
+ Alexander Dahl 1 (3.1%)
+ ==================================== =====
+
+
+.. table:: Developers who gave the most report credits (total 32)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Jerome Forissier 7 (21.9%)
+ Heinrich Schuchardt 6 (18.8%)
+ Marek Vasut 4 (12.5%)
+ Ilias Apalodimas 3 (9.4%)
+ Tom Rini 1 (3.1%)
+ Simon Glass 1 (3.1%)
+ Sughosh Ganu 1 (3.1%)
+ Peng Fan 1 (3.1%)
+ Michael Walle 1 (3.1%)
+ Michal Simek 1 (3.1%)
+ Quentin Schulz 1 (3.1%)
+ Geert Uytterhoeven 1 (3.1%)
+ Markus Volk 1 (3.1%)
+ Eva Kurchatova 1 (3.1%)
+ Devarsh Thakkar 1 (3.1%)
+ Yasuharu Shibata 1 (3.1%)
+ ==================================== =====
+
+
+.. table:: Top changeset contributors by employer
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ (Unknown) 576 (32.6%)
+ Google LLC 355 (20.1%)
+ Linaro 314 (17.8%)
+ DENX Software Engineering 96 (5.4%)
+ AMD 78 (4.4%)
+ Renesas Electronics 67 (3.8%)
+ NXP 47 (2.7%)
+ Texas Instruments 47 (2.7%)
+ Konsulko Group 33 (1.9%)
+ Phytec 25 (1.4%)
+ Analog Devices 21 (1.2%)
+ ST Microelectronics 14 (0.8%)
+ ARM 13 (0.7%)
+ Siemens 12 (0.7%)
+ Toradex 11 (0.6%)
+ BayLibre SAS 10 (0.6%)
+ Bootlin 10 (0.6%)
+ Broadcom 10 (0.6%)
+ Collabora Ltd. 10 (0.6%)
+ Intel 8 (0.5%)
+ Amarula Solutions 3 (0.2%)
+ linutronix 2 (0.1%)
+ SUSE 2 (0.1%)
+ Sony 1 (0.1%)
+ Debian.org 1 (0.1%)
+ Digi International 1 (0.1%)
+ Marvell 1 (0.1%)
+ ==================================== =====
+
+
+.. table:: Top lines changed by employer
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Konsulko Group 929361 (86.0%)
+ (Unknown) 52999 (4.9%)
+ Linaro 20228 (1.9%)
+ Google LLC 18362 (1.7%)
+ DENX Software Engineering 13574 (1.3%)
+ NXP 9551 (0.9%)
+ Texas Instruments 8545 (0.8%)
+ Renesas Electronics 7339 (0.7%)
+ Collabora Ltd. 5315 (0.5%)
+ AMD 3772 (0.3%)
+ ARM 3416 (0.3%)
+ Broadcom 2937 (0.3%)
+ Analog Devices 1930 (0.2%)
+ Siemens 1458 (0.1%)
+ Bootlin 393 (0.0%)
+ Phytec 329 (0.0%)
+ BayLibre SAS 172 (0.0%)
+ Amarula Solutions 100 (0.0%)
+ Intel 87 (0.0%)
+ ST Microelectronics 80 (0.0%)
+ Toradex 72 (0.0%)
+ Marvell 39 (0.0%)
+ Digi International 32 (0.0%)
+ Sony 8 (0.0%)
+ linutronix 7 (0.0%)
+ SUSE 6 (0.0%)
+ Debian.org 3 (0.0%)
+ ==================================== =====
+
+
+.. table:: Employers with the most signoffs (total 307)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ (Unknown) 63 (20.5%)
+ Samsung 41 (13.4%)
+ Linaro 36 (11.7%)
+ AMD 36 (11.7%)
+ BayLibre SAS 36 (11.7%)
+ NXP 28 (9.1%)
+ Texas Instruments 23 (7.5%)
+ ARM 6 (2.0%)
+ Siemens 6 (2.0%)
+ Bootlin 6 (2.0%)
+ Toradex 6 (2.0%)
+ Konsulko Group 5 (1.6%)
+ Google LLC 4 (1.3%)
+ Renesas Electronics 4 (1.3%)
+ Rockchip 2 (0.7%)
+ Broadcom 1 (0.3%)
+ Phytec 1 (0.3%)
+ Amarula Solutions 1 (0.3%)
+ Canonical 1 (0.3%)
+ Xilinx 1 (0.3%)
+ ==================================== =====
+
+
+.. table:: Employers with the most hackers (total 206)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ (Unknown) 107 (51.9%)
+ Linaro 15 (7.3%)
+ Texas Instruments 15 (7.3%)
+ AMD 9 (4.4%)
+ NXP 6 (2.9%)
+ Toradex 6 (2.9%)
+ DENX Software Engineering 6 (2.9%)
+ ARM 5 (2.4%)
+ Phytec 5 (2.4%)
+ Renesas Electronics 4 (1.9%)
+ BayLibre SAS 3 (1.5%)
+ Siemens 3 (1.5%)
+ Google LLC 3 (1.5%)
+ Bootlin 2 (1.0%)
+ Broadcom 2 (1.0%)
+ Amarula Solutions 2 (1.0%)
+ Collabora Ltd. 2 (1.0%)
+ ST Microelectronics 2 (1.0%)
+ Konsulko Group 1 (0.5%)
+ Analog Devices 1 (0.5%)
+ Intel 1 (0.5%)
+ Marvell 1 (0.5%)
+ Digi International 1 (0.5%)
+ Sony 1 (0.5%)
+ linutronix 1 (0.5%)
+ SUSE 1 (0.5%)
+ Debian.org 1 (0.5%)
+ ==================================== =====
diff --git a/doc/usage/cmd/optee.rst b/doc/usage/cmd/optee.rst
new file mode 100644
index 0000000..46c569a
--- /dev/null
+++ b/doc/usage/cmd/optee.rst
@@ -0,0 +1,70 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+.. index::
+ single: optee (command)
+
+optee command
+=============
+
+Synopsis
+--------
+
+::
+
+ optee hello
+ optee hello <value>
+
+Description
+-----------
+
+This is an OP-TEE sanity test which invokes the "Hello World"
+Trusted Application (TA). The TA does two things:
+- It prints debug and information messages to the secure console (if logging is enabled)
+- It increments the integer value passed as a parameter and returns it
+
+
+value
+ Integer value that the TA is expected to increment and return.
+ The default value is 0.
+
+To enable the OP-TEE Hello World example please refer
+https://optee.readthedocs.io/en/latest/building/gits/optee_examples/optee_examples.html
+
+Examples
+--------
+
+::
+
+ ==> optee hello
+ D/TA: TA_CreateEntryPoint:39 has been called
+ I/TA: Hello World!
+ Value before: 0x0
+ Calling TA
+ D/TA: inc_value:105 has been called
+ I/TA: Got value: 0 from NW
+ I/TA: Increase value to: 1
+ Value after: 0x1
+ I/TA: Goodbye!
+ D/TA: TA_DestroyEntryPoint:50 has been called
+
+ ==> optee hello 74
+ D/TA: TA_CreateEntryPoint:39 has been called
+ I/TA: Hello World!
+ Value before: 0x74
+ Calling TA
+ D/TA: inc_value:105 has been called
+ I/TA: Got value: 116 from NW
+ I/TA: Increase value to: 117
+ Value after: 0x75
+ I/TA: Goodbye!
+ D/TA: TA_DestroyEntryPoint:50 has been called
+
+Configuration
+-------------
+
+The optee command is enabled by CONFIG_OPTEE=y and CONFIG_CMD_OPTEE=y.
+
+Return value
+------------
+
+The return value $? is 0 (true) if the command succeeds, 1 (false) otherwise.
diff --git a/doc/usage/index.rst b/doc/usage/index.rst
index cb7a23f..4dd00f0 100644
--- a/doc/usage/index.rst
+++ b/doc/usage/index.rst
@@ -92,6 +92,7 @@
cmd/msr
cmd/mtest
cmd/mtrr
+ cmd/optee
cmd/panic
cmd/part
cmd/pause
diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
index dac4023..3013c47 100644
--- a/drivers/dma/ti/k3-udma.c
+++ b/drivers/dma/ti/k3-udma.c
@@ -1331,6 +1331,8 @@
continue;
if (i == MMR_RCHANRT && ud->rchan_cnt == 0)
continue;
+ if (i == MMR_RFLOW && ud->match_data->type == DMA_TYPE_BCDMA)
+ continue;
ud->mmrs[i] = dev_read_addr_name_ptr(dev, mmr_names[i]);
if (!ud->mmrs[i])