- Mar 30, 2024
-
-
Tim Harvey authored
The GW71xx baseboard has a TPM that defined in the upstream dt however we need to ensure the GPIO reset line is de-asserted which we do in boot firmware with a gpio hog. Signed-off-by:
Tim Harvey <tharvey@gateworks.com>
-
Tim Harvey authored
The GW7901 has GPIO's to configure the direction of its isolated digital I/O signals. Add the GPIO pinmux, line names, and hog configuration. Signed-off-by:
Tim Harvey <tharvey@gateworks.com>
-
Fabio Estevam authored
CONFIG_USB_GADGET_VENDOR_NUM is a 16-bit number, so remove the leading zero. Reported-by:
Marek Vasut <marex@denx.de> Signed-off-by:
Fabio Estevam <festevam@gmail.com> Reviewed-by:
Marek Vasut <marex@denx.de>
-
- Mar 29, 2024
-
-
Tom Rini authored
Ilias Apalodimas <ilias.apalodimas@linaro.org> says: The arm linker scripts had a mix of symbols and C defined variables in an effort to emit relative references instead of absolute ones e.g [0]. A linker bug prevented us from doing so [1] -- fixed since 2016. This has led to confusion over the years, ending up with mixed section definitions. Some sections are defined with overlays and different definitions between v7 and v8 architectures. For example __efi_runtime_rel_start/end is defined as a linker symbol for armv8 and a C variable in armv7. Linker scripts nowadays can emit relative references, as long as the symbol definition is contained within the section definition. So let's switch most of the C defined variables and clean up the arm sections.c file. There's still a few symbols remaining -- __secure_start/end, __secure_stack_start/end and __end which can be cleaned up in a followup series. For both QEMU v7/v8 bloat-o-meter shows now size difference $~ ./scripts/bloat-o-meter u-boot u-boot.new add/remove: 0/0 grow/shrink: 0/0 up/down: 0/0 (0) Function old new delta Total: Before=798861, After=798861, chg +0.00% The symbols seem largely unchanged apart from a difference in .bss as well as the emited sections and object types of the affected variables. On the output below the first value is from -next and the second comes from -next + this patchset. The .bss_start/end sections have disappeared from the newer binaries. # For example on QEMU v8: efi_runtime_start 7945: 0000000000000178 0 OBJECT GLOBAL DEFAULT 2 __efi_runtime_start 7942: 0000000000000178 0 NOTYPE GLOBAL DEFAULT 2 __efi_runtime_start efi_runtime_stop 9050: 0000000000000d38 0 OBJECT GLOBAL DEFAULT 2 __efi_runtime_stop 9047: 0000000000000d38 0 NOTYPE GLOBAL DEFAULT 2 __efi_runtime_stop __efi_runtime_rel_start 7172: 00000000000dc2f0 0 OBJECT GLOBAL DEFAULT 10 __efi_runtime_rel_start 7169: 00000000000dc2f0 0 NOTYPE GLOBAL DEFAULT 10 __efi_runtime_rel_start __efi_runtime_rel_stop 7954: 00000000000dc4a0 0 OBJECT GLOBAL DEFAULT 10 __efi_runtime_rel_stop 7951: 00000000000dc4a0 0 NOTYPE GLOBAL DEFAULT 10 __efi_runtime_rel_stop __rel_dyn_start 7030: 00000000000dc4a0 0 OBJECT GLOBAL DEFAULT 11 __rel_dyn_start 7027: 00000000000dc4a0 0 NOTYPE GLOBAL DEFAULT 11 __rel_dyn_start __rel_dyn_end 8959: 0000000000102b10 0 OBJECT GLOBAL DEFAULT 12 __rel_dyn_end 8956: 0000000000102b10 0 NOTYPE GLOBAL DEFAULT 11 __rel_dyn_end image_copy_start 9051: 0000000000000000 0 OBJECT GLOBAL DEFAULT 1 __image_copy_start 9048: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 1 __image_copy_start image_copy_end 7467: 00000000000dc4a0 0 OBJECT GLOBAL DEFAULT 11 __image_copy_end 7464: 00000000000dc4a0 0 NOTYPE GLOBAL DEFAULT 11 __image_copy_end bss_start 12: 0000000000102b10 0 SECTION LOCAL DEFAULT 12 .bss_start 8087: 0000000000000018 0 NOTYPE GLOBAL DEFAULT 1 _bss_start_ofs 8375: 0000000000102b10 0 OBJECT GLOBAL DEFAULT 12 __bss_start 8084: 0000000000000018 0 NOTYPE GLOBAL DEFAULT 1 _bss_start_ofs 8372: 0000000000102b10 0 NOTYPE GLOBAL DEFAULT 12 __bss_start bss_end 14: 000000000010bc30 0 SECTION LOCAL DEFAULT 14 .bss_end 7683: 000000000010bc30 0 OBJECT GLOBAL DEFAULT 14 __bss_end 8479: 0000000000000020 0 NOTYPE GLOBAL DEFAULT 1 _bss_end_ofs 7680: 000000000010bbb0 0 NOTYPE GLOBAL DEFAULT 12 __bss_end 8476: 0000000000000020 0 NOTYPE GLOBAL DEFAULT 1 _bss_end_ofs # For QEMU v7: efi_runtime_start 10703: 000003bc 0 OBJECT GLOBAL DEFAULT 2 __efi_runtime_start 10699: 000003c0 0 NOTYPE GLOBAL DEFAULT 2 __efi_runtime_start efi_runtime_stop 11796: 000012ec 0 OBJECT GLOBAL DEFAULT 2 __efi_runtime_stop 11792: 000012ec 0 NOTYPE GLOBAL DEFAULT 2 __efi_runtime_stop __efi_runtime_rel_start 9937: 000c40dc 0 OBJECT GLOBAL DEFAULT 8 __efi_runtime_rel_start 9935: 000c40dc 0 NOTYPE GLOBAL DEFAULT 9 __efi_runtime_rel_start __efi_runtime_rel_stop 10712: 000c41dc 0 OBJECT GLOBAL DEFAULT 10 __efi_runtime_rel_stop 10708: 000c41dc 0 NOTYPE GLOBAL DEFAULT 9 __efi_runtime_rel_stop __rel_dyn_start 9791: 000c41dc 0 OBJECT GLOBAL DEFAULT 10 __rel_dyn_start 9789: 000c41dc 0 NOTYPE GLOBAL DEFAULT 10 __rel_dyn_start __rel_dyn_end 11708: 000da5f4 0 OBJECT GLOBAL DEFAULT 10 __rel_dyn_end 11704: 000da5f4 0 NOTYPE GLOBAL DEFAULT 10 __rel_dyn_end image_copy_start 448: 0000177c 0 NOTYPE LOCAL DEFAULT 3 _image_copy_start_ofs 11797: 00000000 0 OBJECT GLOBAL DEFAULT 1 __image_copy_start 445: 0000177c 0 NOTYPE LOCAL DEFAULT 3 _image_copy_start_ofs 11793: 00000000 0 NOTYPE GLOBAL DEFAULT 1 __image_copy_start image_copy_end 450: 00001780 0 NOTYPE LOCAL DEFAULT 3 _image_copy_end_ofs 10225: 000c41dc 0 OBJECT GLOBAL DEFAULT 10 __image_copy_end 447: 00001780 0 NOTYPE LOCAL DEFAULT 3 _image_copy_end_ofs 10222: 000c41dc 0 NOTYPE GLOBAL DEFAULT 10 __image_copy_end bss_start 11: 000c41dc 0 SECTION LOCAL DEFAULT 11 .bss_start 11124: 000c41dc 0 OBJECT GLOBAL DEFAULT 11 __bss_start 11120: 000c41dc 0 NOTYPE GLOBAL DEFAULT 11 __bss_start bss_end 13: 000cbbf8 0 SECTION LOCAL DEFAULT 13 .bss_end 10442: 000cbbf8 0 OBJECT GLOBAL DEFAULT 13 __bss_end 10439: 000cbbf8 0 NOTYPE GLOBAL DEFAULT 11 __bss_end It's worth noting that since the efi regions are affected by the change, booting with EFI is preferable while testing. Booting the kernel only should be enough since the efi stub and the kernel proper do request boottime and runtime services respectively. Something along the lines of > virtio scan && load virtio 0 $kernel_addr_r Image && bootefi $kernel_addr_r will work for QEMU aarch64. Tested platforms: - QEMU aarch64 - Xilinx kv260 kria starter kit & zynq - QEMU armv7 - STM32MP157C-DK2 [0] commit 3ebd1cbc ("arm: make __bss_start and __bss_end__ compiler-generated") [1] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object")
-
Previous patches cleaning up linker symbols, also merged any explicit . = ALIGN(x); into section definitions -- e.g .bss ALIGN(x) : instead of . = ALIGN(x); . bss : {...} However, if the output address is not specified then one will be chosen for the section. This address will be adjusted to fit the alignment requirement of the output section following the strictest alignment of any input section contained within the output section. So let's get rid of the redundant ALIGN directives when they are not needed. While at add comments for the alignment of __bss_start/end since our C runtime setup assembly assumes that __bss_start - __bss_end will be a multiple of 4/8 for armv7 and armv8 respectively. It's worth noting that the alignment is preserved on .rel.dyn for mach-zynq which was explicitly aligning that section on an 8b boundary instead of 4b one. Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
image_copy_start/end are defined as c variables in order to force the compiler emit relative references. However, defining those within a section definition will do the same thing since [0]. So let's remove the special sections from the linker scripts, the variable definitions from sections.c and define them as a symbols within a section. [0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object") Suggested-by:
Sam Edwards <CFSworks@gmail.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Tested-by: Sam Edwards <CFSworks@gmail.com> # Binary output identical Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
__efi_runtime_start/end are defined as c variables for arm7 only in order to force the compiler emit relative references. However, defining those within a section definition will do the same thing since [0]. On top of that the v8 linker scripts define it as a symbol. So let's remove the special sections from the linker scripts, the variable definitions from sections.c and define them as a symbols within the correct section. [0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object") Suggested-by:
Sam Edwards <CFSworks@gmail.com> Reviewed-by:
Sam Edwards <CFSworks@gmail.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Tested-by: Sam Edwards <CFSworks@gmail.com> # Binary output identical Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
commit 47bd65ef ("arm: make __rel_dyn_{start, end} compiler-generated") were moving the __rel_dyn_start/end on c generated variables that were injected in their own sections. The reason was that we needed relative relocations for position independent code and linker bugs back then prevented us from doing so [0]. However, the linker documentation pages states that symbols that are defined within a section definition will create a relocatable type with the value being a fixed offset from the base of a section [1]. [0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object") [1] https://sourceware.org/binutils/docs/ld/Expression-Section.html Suggested-by:
Sam Edwards <CFSworks@gmail.com> Reviewed-by:
Sam Edwards <CFSworks@gmail.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Tested-by: Sam Edwards <CFSworks@gmail.com> # Binary output identical Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
__efi_runtime_rel_start/end are defined as c variables for arm7 only in order to force the compiler emit relative references. However, defining those within a section definition will do the same thing since [0]. On top of that the v8 linker scripts define it as a symbol. So let's remove the special sections from the linker scripts, the variable definitions from sections.c and define them as a symbols within the correct section. [0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object") Suggested-by:
Sam Edwards <CFSworks@gmail.com> Reviewed-by:
Sam Edwards <CFSworks@gmail.com> Tested-by: Sam Edwards <CFSworks@gmail.com> # Binary output identical Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
commit 3ebd1cbc ("arm: make __bss_start and __bss_end__ compiler-generated") and commit f84a7b8f ("ARM: Fix __bss_start and __bss_end in linker scripts") were moving the bss_start/end on c generated variables that were injected in their own sections. The reason was that we needed relative relocations for position independent code and linker bugs back then prevented us from doing so [0]. However, the linker documentation pages states that symbols that are defined within a section definition will create a relocatable type with the value being a fixed offset from the base of a section [1]. So let's start cleaning this up starting with the bss_start and bss_end variables. Convert them into symbols within the .bss section definition. [0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object") [1] https://sourceware.org/binutils/docs/ld/Expression-Section.html Tested-by: Caleb Connolly <caleb.connolly@linaro.org> # Qualcomm sdm845 Tested-by: Sam Edwards <CFSworks@gmail.com> # Binary output identical Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org>
-
commit 3d74a097 ("ti: am335x: Remove unused linker script") removed the linker script for the TI variant. This linker script doesn't seem to do anything special and on top of that, has no definitions for the EFI runtime sections. So let's get rid of it and use the generic linker script which defines those correctly Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
- Mar 28, 2024
-
-
Tom Rini authored
- A few ncsi PHY fixes, clean up PHY GPIO reset code, support LEDs on BCM54210E PHY, fix a signed shift overflow in the PHY code, hifemac updates, E1000 i225-IT support, improve DM_MDIO+DM_PHY support and enable it on the BeaglePlay platform.
-
https://source.denx.de/u-boot/custodians/u-boot-efiTom Rini authored
Pull request acpi-next-20240328 ACPI: * rename fields rename aslc_id, aslc_revision to match ACPI specification * remove duplicate declaration of acpi_fill_header() * document fields of HETP table * MAINTAINERS: add include/acpi/ to ACPI SMBIOS: * provide wake-up type in SMBIOS table * display wake-up type in smbios command
-
- Mar 27, 2024
-
-
Heinrich Schuchardt authored
We should not use the reserved value 0x00 for the wake up type but use 0x02 (Unknown). Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Heinrich Schuchardt authored
Correct type 1 output * render wake up time as string * print family string * remove duplicate serial number output Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Heinrich Schuchardt authored
acpi_fill_header() is declared twice in include/acpi/acpi_table.h Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Heinrich Schuchardt authored
Document struct acpi_gen_regaddr and struct acpi_hpet. Sphinx requires that the __packed attribute is at the end of the structure definitions. Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Heinrich Schuchardt authored
Add include/acpi/ to the realm of the ACPI maintainer. Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Heinrich Schuchardt authored
The fields Creator ID and Creator Revision contain information about the tool that created an ACPI table. This may be the ASL compiler for some tables but it is not for others. Naming these fields aslc_id and aslc_revision is misleading. It is usual to see diverse values of Creator ID. On a laptop I saw these: 'AMD ', 'INTL, 'MSFT', 'PTEC'. Obviously not all relate to the Intel ASL compiler. Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
- Mar 26, 2024
-
-
Reset GPIO handling is done in ETH PHY Class driver. Enable DM_ETH_PHY. We don't use Fixed PHY so disable PHY_FIXED. Signed-off-by:
Roger Quadros <rogerq@kernel.org>
-
If DM_ETH_PHY is enabled then try to bind and probe the generic Ethernet PHY driver for each child of MDIO bus. This is to ensure that GPIO reset handling is done if available before MDIO bus driver scans for the PHYs. Signed-off-by:
Roger Quadros <rogerq@kernel.org>
-
Pull the PHY GPIO reset code into separate function, since this is and will be reused multiple times. Set up default reset assert and deassert timing to generous 20ms and 1ms for maximum compatibility in case those DT properties are missing. Reviewed-by:
Ramon Fried <rfried.dev@gmail.com> Signed-off-by:
Marek Vasut <marek.vasut+renesas@mailbox.org>
-
This patch adds support for i225-IT in e1000 driver. Add e1000_phy_igc. Signed-off-by:
Marjolaine Amate <marjolaine.amate@odyssee-systemes.fr>
-
From the ethernet header is not on aligned, because the length of the ethernet header is 14 bytes. Therefore, unaligned access must be done here. Signed-off-by:
Jacky Chou <jacky_chou@aspeedtech.com>
-
There is no need to perform the endian twice here. Signed-off-by:
Jacky Chou <jacky_chou@aspeedtech.com> Reviewed-by:
Dan Carpenter <dan.carpenter@linaro.org>
-
They are not required to be global, make them static. Signed-off-by:
Yang Xiwen <forbidden405@outlook.com>
-
3 operations needed by `net stats` are implemented. New `net stats` output some useful info. Signed-off-by:
Yang Xiwen <forbidden405@outlook.com>
-
register internal MDIO bus device if it is a subnode. Signed-off-by:
Yang Xiwen <forbidden405@outlook.com>
-
shrink the first argument of log_msg_ret(), add dev_xxx() functions for error reporting. Fixes: 9d8f78a2 ("net: add hifemac Ethernet driver for HiSilicon platform") Signed-off-by:
Yang Xiwen <forbidden405@outlook.com>
-
The initial commit used log_msg_ret() wrongly. Fix that by moving error report to a separate dev_err() call and shrink the first argument of log_msg_ret() to no more than 4 chars. Fixes: 6b5c8d98 ("net: add hifemac_mdio MDIO bus driver for HiSilicon platform") Signed-off-by:
Yang Xiwen <forbidden405@outlook.com>
-
As with fixed-link phy device, the NC-SI phy devive does not require an mdio bus. So, a condition is added to check the NC-SI phy id to avoid accessing the bus pointer that is NULL. Signed-off-by:
Jacky Chou <jacky_chou@aspeedtech.com>
-
Booting R-Car Gen3 arm64 U-Boot with CONFIG_UBSAN=y resulted in: ===================================================================== UBSAN: Undefined behaviour in drivers/net/phy/phy.c:728:19 left shift of 1 by 31 places cannot be represented in type 'int' ===================================================================== Fix it by appending the UL suffix to the numeric literal. While at it, convert the type of "addr" variable from signed to unsigned, to protect against shifting the numeric literal by a negative value (which would lead to yet another undefined behavior). Fixes: 1adb406b ("phy: add phy_find_by_mask/phy_connect_dev") Signed-off-by:
Eugeniu Rosca <erosca@de.adit-jv.com> * Using U-suffix for integer is sufficient. * ffs() of non-zero value cannot be 0. But addr being unsigned is * preferable. Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Configure LEDs on BCM54210E so they would blink on activity and indicate link speed. Without this the LEDs are always on if cable is plugged in. Signed-off-by:
Marek Vasut <marex@denx.de>
-
The issue occurs the UAF (use-after-free) to cause double free when do the realloc function for the pointers during the reinitialization NC-SI process, and it will cause the memory management occurs error. So, nullify these pointers after free. Signed-off-by:
Jacky Chou <jacky_chou@aspeedtech.com>
-
Tom Rini authored
Prepare v2024.04-rc5
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Mar 25, 2024
-
-
https://source.denx.de/u-boot/custodians/u-boot-at91Tom Rini authored
First set of u-boot-at91 features for the 2024.07 cycle: - This feature set includes a new board named sama7g54 Curiosity.
-
Tom Rini authored
Merge tag 'u-boot-amlogic-fixes-20240325' of https://source.denx.de/u-boot/custodians/u-boot-amlogic - fix Ethernet and random MAC's on WeTek Hub/Play2 - fix buffer overflow in serial, mac & usid read
-
Neil Armstrong authored
While meson_sm_read_efuse() doesn't overflow, the string is not zero terminated and env_set*() will buffer overflow and add random characters to environment. Acked-by:
Viacheslav Bocharov <adeep@lexina.in> Link: https://lore.kernel.org/r/20240320-u-boot-fix-p200-serial-v2-1-972be646a301@linaro.org Signed-off-by:
Neil Armstrong <neil.armstrong@linaro.org>
-
Add a fall-back method to generate ethaddr from CPU serial on p200 boards if the MAC cannot be read from efuse. This prevents random MAC addresses on the WeTek Hub/Play2 boards. Signed-off-by:
Christian Hewitt <christianshewitt@gmail.com> Link: https://lore.kernel.org/r/20240324151905.3817732-3-christianshewitt@gmail.com Signed-off-by:
Neil Armstrong <neil.armstrong@linaro.org>
-