Peng Fan [Thu, 28 Mar 2024 02:45:08 +0000 (10:45 +0800)]
imx: imx8mq_evk: convert to OF_UPSTREAM
Convert i.MX8MQ EVK to OF_UPSTREAM
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Hiago De Franco [Wed, 27 Mar 2024 12:45:50 +0000 (09:45 -0300)]
board: toradex: colibri-imx8x: Remove board_gpio_init
On Colibri iMX8X, the gpio initialization and usage should be handled by
the device tree, not by the colibri-imx8x.c code. Therefore, remove it.
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Fabio Estevam [Tue, 26 Mar 2024 12:19:49 +0000 (09:19 -0300)]
imx8: Add a default reset_cpu() implementation
Add a weak default reset_cpu() implementation just like
it is done on arch/arm/mach-imx/cpu.c.
This allows the removal of the empty reset_cpu() in several
board files.
Signed-off-by: Fabio Estevam <festevam@denx.de>
Tested-by: Hiago De Franco <hiago.franco@toradex.com> # Toradex Colibri iMX8X
Tim Harvey [Mon, 25 Mar 2024 16:27:22 +0000 (09:27 -0700)]
arm: dts: imx8m*-venice-gw72xx: add TPM device
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 [Mon, 25 Mar 2024 16:27:02 +0000 (09:27 -0700)]
arm: dts: imx8mm-venice-gw7901: add digital I/O direction control GPIO's
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 [Mon, 25 Mar 2024 13:52:30 +0000 (10:52 -0300)]
phycore_pcl063: Drop leading zero from USB vendor number
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>
Tom Rini [Fri, 29 Mar 2024 14:39:38 +0000 (10:39 -0400)]
Merge patch series "Clean up arm linker scripts"
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
3ebd1cbc49f0 ("arm: make __bss_start and __bss_end__ compiler-generated")
[1] binutils commit
6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object")
Ilias Apalodimas [Fri, 15 Mar 2024 06:43:51 +0000 (08:43 +0200)]
arm: remove redundant section alignments
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>
Ilias Apalodimas [Fri, 15 Mar 2024 06:43:50 +0000 (08:43 +0200)]
arm: move image_copy_start/end to linker symbols
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>
Ilias Apalodimas [Fri, 15 Mar 2024 06:43:49 +0000 (08:43 +0200)]
arm: fix __efi_runtime_start/end definitions
__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>
Ilias Apalodimas [Fri, 15 Mar 2024 06:43:48 +0000 (08:43 +0200)]
arm: clean up v7 and v8 linker scripts for __rel_dyn_start/end
commit
47bd65ef057f ("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>
Ilias Apalodimas [Fri, 15 Mar 2024 06:43:47 +0000 (08:43 +0200)]
arm: fix __efi_runtime_rel_start/end definitions
__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>
Ilias Apalodimas [Fri, 15 Mar 2024 06:43:46 +0000 (08:43 +0200)]
arm: clean up v7 and v8 linker scripts for bss_start/end
commit
3ebd1cbc49f0 ("arm: make __bss_start and __bss_end__ compiler-generated")
and
commit
f84a7b8f54db ("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>
Ilias Apalodimas [Fri, 15 Mar 2024 06:43:45 +0000 (08:43 +0200)]
arm: baltos: remove custom linker script
commit
3d74a0977f514 ("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>
Tom Rini [Thu, 28 Mar 2024 15:05:30 +0000 (11:05 -0400)]
Merge branch '2024-03-28-assorted-net-changes' into next
- 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.
Tom Rini [Thu, 28 Mar 2024 12:54:34 +0000 (08:54 -0400)]
Merge tag 'acpi-next-
20240328' of https://source.denx.de/u-boot/custodians/u-boot-efi into next
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
Heinrich Schuchardt [Sat, 10 Feb 2024 11:06:48 +0000 (12:06 +0100)]
smbios: fill wake-up type
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 [Sat, 10 Feb 2024 11:06:47 +0000 (12:06 +0100)]
cmd: smbios: type 1 wake-up time, family
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 [Sun, 21 Jan 2024 14:05:00 +0000 (15:05 +0100)]
acpi: remove duplicate declaration of acpi_fill_header()
acpi_fill_header() is declared twice in include/acpi/acpi_table.h
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt [Sun, 21 Jan 2024 13:44:36 +0000 (14:44 +0100)]
acpi: document HETP table
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 [Sun, 21 Jan 2024 13:41:59 +0000 (14:41 +0100)]
MAINTAINERS: add include/acpi/ to ACPI
Add include/acpi/ to the realm of the ACPI maintainer.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt [Sun, 21 Jan 2024 11:52:48 +0000 (12:52 +0100)]
acpi: rename aslc_id, aslc_revision
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>
Roger Quadros [Tue, 5 Mar 2024 13:24:54 +0000 (15:24 +0200)]
configs/am62x_beagleplay_a53_defconfig: enable DM_ETH_PHY
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>
Roger Quadros [Tue, 5 Mar 2024 13:24:53 +0000 (15:24 +0200)]
net: mdio-uclass: Bind and probe generic Ethernet PHY driver
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>
Marek Vasut [Mon, 18 Mar 2024 14:57:01 +0000 (15:57 +0100)]
net: phy: Factor out PHY GPIO reset code
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>
Marjolaine Amate [Mon, 4 Mar 2024 15:23:38 +0000 (16:23 +0100)]
e1000: add support for i225-IT
This patch adds support for i225-IT in e1000 driver.
Add e1000_phy_igc.
Signed-off-by: Marjolaine Amate <marjolaine.amate@odyssee-systemes.fr>
Jacky Chou [Mon, 5 Feb 2024 08:13:23 +0000 (16:13 +0800)]
net: phy: ncsi: reslove the unaligned access issue
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>
Jacky Chou [Mon, 5 Feb 2024 08:02:28 +0000 (16:02 +0800)]
net: phy: ncsi: Correct the endian of the checksum
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>
Yang Xiwen [Mon, 22 Jan 2024 14:33:24 +0000 (22:33 +0800)]
net: hifemac: make some functions static
They are not required to be global, make them static.
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
Yang Xiwen [Mon, 22 Jan 2024 14:33:23 +0000 (22:33 +0800)]
net: hifemac: implement `net stats` needed ops
3 operations needed by `net stats` are implemented. New `net stats`
output some useful info.
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
Yang Xiwen [Mon, 22 Jan 2024 14:33:22 +0000 (22:33 +0800)]
net: hifemac: register MDIO bus device for subnode
register internal MDIO bus device if it is a subnode.
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
Yang Xiwen [Mon, 22 Jan 2024 14:33:21 +0000 (22:33 +0800)]
net: hifemac: fix log reporting
shrink the first argument of log_msg_ret(), add dev_xxx() functions for
error reporting.
Fixes: 9d8f78a2a79f7 ("net: add hifemac Ethernet driver for HiSilicon platform")
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
Yang Xiwen [Mon, 22 Jan 2024 14:33:20 +0000 (22:33 +0800)]
net: hifemac_mdio: use log_msg_ret() correctly, report error by dev_err()
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: 6b5c8d98e204 ("net: add hifemac_mdio MDIO bus driver for HiSilicon platform")
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
Jacky Chou [Mon, 15 Jan 2024 10:34:47 +0000 (18:34 +0800)]
net: phy: the NC-SI phy device do not require mdio bus
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>
Eugeniu Rosca [Thu, 4 Jan 2024 04:26:23 +0000 (05:26 +0100)]
net: phy: Fix signed shift overflow
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: 1adb406b0141 ("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>
Marek Vasut [Mon, 1 Jan 2024 21:07:47 +0000 (22:07 +0100)]
net: phy: broadcom: Configure LEDs on BCM54210E
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>
Jacky Chou [Fri, 29 Dec 2023 01:45:55 +0000 (09:45 +0800)]
net: phy: ncsi: fixed not nullify the pointers after free
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 [Tue, 26 Mar 2024 02:15:47 +0000 (22:15 -0400)]
Merge tag 'v2024.04-rc5' into next
Prepare v2024.04-rc5
Tom Rini [Tue, 26 Mar 2024 01:55:55 +0000 (21:55 -0400)]
Prepare v2024.04-rc5
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 25 Mar 2024 12:18:20 +0000 (08:18 -0400)]
Merge tag 'u-boot-at91-2024.07-a' of https://source.denx.de/u-boot/custodians/u-boot-at91 into next
First set of u-boot-at91 features for the 2024.07 cycle:
- This feature set includes a new board named sama7g54 Curiosity.
Tom Rini [Mon, 25 Mar 2024 12:18:53 +0000 (08:18 -0400)]
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 [Wed, 20 Mar 2024 08:46:11 +0000 (09:46 +0100)]
board: amlogic: fix buffler overflow in seria, mac & usid read
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>
Christian Hewitt [Sun, 24 Mar 2024 15:19:05 +0000 (15:19 +0000)]
board: amlogic: add meson_generate_serial_ethaddr fallback to p200
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>
Christian Hewitt [Sun, 24 Mar 2024 15:19:04 +0000 (15:19 +0000)]
ARM: dts: fix Ethernet on WeTek Hub/Play2
Placing the snps,reset content needed for Ethernet to probe in a common
uboot.dtsi results in the content not being used and broken Ethernet. Fix
this by creating two board specific dtsi files with the right content.
Fixes: 67d5128df950 ("ARM: dts: add support for WeTek Hub and WeTek Play2")
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20240324151905.3817732-2-christianshewitt@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Tom Rini [Sun, 24 Mar 2024 21:49:42 +0000 (17:49 -0400)]
Merge tag 'u-boot-imx-next-
20240324' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next
- Add ahab_commit command support.
- Add USB support for the imx93-phyboard-segin board.
- Add i.MX8MP PCIe support.
- Fix netboot environment on phycore_imx8mp.
Yannic Moog [Fri, 22 Mar 2024 12:55:28 +0000 (13:55 +0100)]
board: phytec: phycore_imx8mp.env fix netboot issues
The "run netargs" command should come later in the "netboot" command
order when using dhcp since it sets the server and client ip addresses.
The previous order led to misconfigured kernel boot params and thus
kernel panic when serverip was not manually set.
Further, following Linux FHS 3.0, change the nfsroot default directory
to /srv/nfs.
Fixes: 60f64bec414e ("board: phytec: phycore_imx8mp: Add fec support")
Signed-off-by: Yannic Moog <y.moog@phytec.de>
Mathieu Othacehe [Thu, 21 Mar 2024 14:45:41 +0000 (15:45 +0100)]
configs: imx93-phyboard-segin: Add fastboot support
Enable the `fastboot` command.
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Mathieu Othacehe [Thu, 21 Mar 2024 14:45:40 +0000 (15:45 +0100)]
configs: imx93-phyboard-segin: Add USB support
Add USB support by enabling `usb` command and required USB drivers.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Mathieu Othacehe [Thu, 21 Mar 2024 14:45:39 +0000 (15:45 +0100)]
arm: dts: imx93-phyboard-segin: Add USB support
Enable both usbotg1 and usbotg2 ports. Disable over-current as OC pins are
not connected to the SoC.
This addition to imx93-phyboard-segin-u-boot.dtsi is temporary,
until USB support is added to imx93-phyboard-segin.dts in Linux.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Mathieu Othacehe [Thu, 21 Mar 2024 07:19:53 +0000 (08:19 +0100)]
imx: ele_ahab: Add ahab_commit command support
This message is used to commit into the fuses any new SRK revocation and
FW version information that have been found into the NXP (ELE FW) and
OEM containers.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Sumit Garg [Thu, 21 Mar 2024 14:55:07 +0000 (20:25 +0530)]
MAINTAINERS: Add entry for PCIe DWC IMX driver
Add myself as maintainer for PCIe DWC IMX driver support.
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Tim Harvey [Thu, 21 Mar 2024 14:55:06 +0000 (20:25 +0530)]
imx8mp_venice_defconfig: Enable PCIe/NVMe support
Enable PCIe/NVMe support. Also, enable the reset, regmap and syscon
drivers which are a prerequisite for PCIe support.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
[SG: rebased to next branch tip]
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Sumit Garg [Thu, 21 Mar 2024 14:55:05 +0000 (20:25 +0530)]
verdin-imx8mp_defconfig: Enable PCIe/NVMe support
Enable PCIe/NVMe support. Also, enable the reset driver which
is a prerequisite for PCIe support.
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Sumit Garg [Thu, 21 Mar 2024 14:55:04 +0000 (20:25 +0530)]
pcie_imx: Update header to describe it as a legacy driver
Since now we have the modern pcie_dw_imx.c driver for iMX SoCs,
encourage people to switch to that for any further new iMX SoC support
or even for the older iMX6 SoCs too.
Suggested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Marek Vasut <marex@denx.de>
Sumit Garg [Thu, 21 Mar 2024 14:55:03 +0000 (20:25 +0530)]
pci: Add DW PCIe controller support for iMX8MP SoC
pcie_imx doesn't seem to share any useful code for iMX8 SoC and it is
tied to quite old port of pcie_designware driver from Linux which
suffices only iMX6 specific needs.
But currently we have the common DWC specific bits which alligns pretty
well with DW PCIe controller on iMX8MP SoC. So lets reuse those common
bits instead as a new driver for iMX8 SoCs. It should be fairly easy to
add support for other iMX8 variants to this driver.
iMX8MP SoC also comes up with standalone PCIe PHY support, so hence we
can reuse the generic PHY infrastructure to power on PCIe PHY.
Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Sumit Garg [Thu, 21 Mar 2024 14:55:02 +0000 (20:25 +0530)]
phy: phy-imx8m-pcie: Add support for i.MX8M{M/P} PCIe PHY
Add initial support for i.MX8M{M/P} PCIe PHY. On i.MX8M{M/P} SoCs PCIe
PHY initialization moved to this standalone PHY driver.
Inspired from counterpart Linux kernel v6.8-rc3 driver:
drivers/phy/freescale/phy-fsl-imx8m-pcie.c. Use last Linux kernel driver
reference commit
7559e7572c03 ("phy: Explicitly include correct DT
includes").
Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Sumit Garg [Thu, 21 Mar 2024 14:55:01 +0000 (20:25 +0530)]
imx8mp: power-domain: Expose high performance PLL clock
Expose the high performance PLL as clock framework clock, so the
PCIe PHY can use it when there is no external refclock provided.
Inspired from counterpart Linux kernel v6.8-rc3 driver:
drivers/pmdomain/imx/imx8mp-blk-ctrl.c. Use last Linux kernel driver
reference commit
7476ddfd36ac ("pmdomain: imx8mp-blk-ctrl: Convert to
platform remove callback returning void").
Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Sumit Garg [Thu, 21 Mar 2024 14:55:00 +0000 (20:25 +0530)]
imx8mp: power-domain: Add PCIe support
Add support for GPCv2 power domains and clock handling for PCIe and
PCIe PHY.
Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Sumit Garg [Thu, 21 Mar 2024 14:54:59 +0000 (20:24 +0530)]
reset: imx: Add support for i.MX8MP reset controller
Add support for i.MX8MP reset controller, it has same reset IP inside
as the other iMX7 and iMX8M variants but with different module layout.
Inspired from counterpart Linux kernel v6.8-rc3 driver:
drivers/reset/reset-imx7.c. Use last Linux kernel driver reference
commit
bad8a8afe19f ("reset: Explicitly include correct DT includes").
Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Sumit Garg [Thu, 21 Mar 2024 14:54:58 +0000 (20:24 +0530)]
reset: imx: Refactor driver to simplify function names
imx7_reset_{deassert/assert}_imx* are a bit more confusing when compared
with imx*_reset_{deassert/assert}. So refactor driver to use function
names easier to understand. This shouldn't affect the functionality
though.
Suggested-by: Marek Vasut <marex@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Sumit Garg [Thu, 21 Mar 2024 14:54:57 +0000 (20:24 +0530)]
clk: imx8mp: Add support for PCIe clocks
Add support for PCIe clocks required to enable PCIe support on
iMX8MP SoC.
Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
MD Danish Anwar [Thu, 21 Mar 2024 10:28:19 +0000 (15:58 +0530)]
remoteproc: uclass: Add methods to load firmware to rproc and boot rproc
Add APIs to set a firmware_name to a rproc and boot the rproc with the
same firmware.
Clients can call rproc_set_firmware() API to set firmware_name for a rproc
whereas rproc_boot() will load the firmware set by rproc_set_firmware() to
a buffer by calling request_firmware_into_buf(). rproc_boot() will then
load the firmware file to the remote processor and start the remote
processor.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Hari Nagalla [Tue, 12 Mar 2024 09:44:36 +0000 (15:14 +0530)]
remoteproc: k3-dsp: Extend support for C71x DSPs on J721S2 SoCs
The K3 J721S2 SoCs have two C71x DSP subsystems in MAIN voltage domain,
and there are no C66x DSP subsystems on these SoCs. The C71x DSP subsystem
is a slighly updated version of the C71x DSP subsystem on J721e. The
C71x DSPs are 64 bit machine with fixed and floating point DSP
operations.
Extend support to the C71x DSPs with J721S2 compatible strings.
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Apurva Nandan <a-nandan@ti.com>
Hari Nagalla [Tue, 12 Mar 2024 09:44:35 +0000 (15:14 +0530)]
remoteproc: k3-r5: Extend support for R5F clusters on J721S2 SoCs
The K3 J721S2 SoCs have three dual-core R5F subsystems, one in MCU
voltage domain and the other two in MAIN voltage domain. These R5F
clusters are similar to the R5F clusters in J7200 SoCs.
Compatible Info is updated to support J721S2 SoCs.
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Apurva Nandan <a-nandan@ti.com>
Hiago De Franco [Wed, 20 Mar 2024 16:48:45 +0000 (13:48 -0300)]
board: toradex: verdin-am62_r5: Increase SPL_STACK_R_MALLOC_SIMPLE_LEN
Increase the SPL_STACK_R_MALLOC_SIMPLE_LEN to 0x200000 to accommodate the
size of tispl.bin fit image. With the recent upgrade of ti-linux-firmware
from version v9.1.0 to v9.2.5, the size of tispl.bin fit image has
increased to 1.4MB, causing allocation errors in the R5 SPL:
```
alloc space exhausted
Could not get FIT buffer of
1325056 bytes
check CONFIG_SPL_SYS_MALLOC_SIZE
```
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Heinrich Schuchardt [Mon, 18 Mar 2024 10:47:16 +0000 (11:47 +0100)]
.mailmap entry for Masahisa Kojima
The Linaro mail address is not valid anymore.
Cc: kojima.masahisa@socionext.com
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Masahisa Kojima <kojima.masahisa@socionext.com>
Joao Paulo Goncalves [Tue, 19 Mar 2024 14:04:27 +0000 (11:04 -0300)]
arm: dts: k3-am625-verdin-r5: Change CPU frequency to 800MHz
The lowest speed grade of Toradex AM62 SoMs is K speed, resulting in a
max value of 800MHz for the CPU operating frequency. A solution with
runtime selection of the CPU frequency is already planned to avoid these
kinds of problems in the future.
Fixes: 8fb8a6d49977 ("arm: dts: k3-am625-verdin-r5:Change CPU frequency to 1000MHz")
Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
Fabio Estevam [Fri, 8 Mar 2024 20:13:16 +0000 (17:13 -0300)]
clk: clk-imx8qm: Add LPUART IPG entries
Since commit
cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
the apalis-imx8qm board no longer boots.
The reason is that the imx8qm clock driver does not handle the
LPUART IPG clocks inside get_rate(), set_rate() and enable() functions.
Fix the boot regression by adding the LPUART IPG entries.
Fixes: cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
Reported-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Fabio Estevam [Fri, 8 Mar 2024 20:13:15 +0000 (17:13 -0300)]
clk: clk-imx8qxp: Add LPUART IPG entries
Since commit
cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
the colibri-imx8qxp board no longer boots.
The reason is that the imx8qxp clock driver does not handle the
LPUART IPG clocks inside get_rate(), set_rate() and enable() functions.
Fix the boot regression by adding the LPUART IPG entries.
Fixes: cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
Reported-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Hiago De Franco <hiago.franco@toradex.com> # Toradex Colibri iMX8X
Acked-by: Sean Anderson <seanga2@gmail.com>
Tom Rini [Thu, 21 Mar 2024 12:35:23 +0000 (08:35 -0400)]
Merge tag 'efi-2024-04-rc5-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2024-04-rc5-2
Documentation:
* patman: Properly document the patchwork_url setting
* doc: man-page for if
* colibri-imx8x, apalis-imx8: update board documentation
UEFI:
* correct handling of EFI binary return code
* don't show usage help if EFI binary fails.
* correct error handling for bootefi selftest command
Tom Rini [Thu, 21 Mar 2024 12:34:41 +0000 (08:34 -0400)]
Merge tag 'efi-next-
20240321' of https://source.denx.de/u-boot/custodians/u-boot-efi into next
Pull request efi-next-
20240321
Documentation:
* Avoid short reference link names in device-tree documentation.
UEFI/Video:
* Support code page 437 code points 1 - 31 used by GRUB
Douglas Anderson [Mon, 11 Mar 2024 21:02:45 +0000 (14:02 -0700)]
patman: Properly document the patchwork_url setting
The "Series-patchwork-url:" tag description says that it overrides the
settings file but doesn't specify the name of the setting. Elsewhere
in the documentation about the "useful" settings we see a setting that
sounds promising called "patchwork_server" that's actually not a valid
setting. It should be "patchwork_url".
Fix these problems so the doc is right and more useful.
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Heinrich Schuchardt [Sat, 16 Mar 2024 10:09:36 +0000 (11:09 +0100)]
doc: typo Synopis
%s/Synopis/Synopsis/g
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt [Sat, 16 Mar 2024 09:57:41 +0000 (10:57 +0100)]
doc: man-page for if
Provide a man-page for the if command.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt [Sat, 16 Mar 2024 09:36:44 +0000 (10:36 +0100)]
cmd: bootefi: error handling bootefi selftest
If bootefi selftest is executed and a problem with the device-tree
installation occurs, efi_install_fdt() writes sensible error messages.
It never returns EFI_INVALID_PARAMETER. It neither makes sense to check
for EFI_INVALID_PARAMETER nor to show the usage help for the bootefi
command in this case.
Fixes: 296faf4f7ef1 ("cmd: bootefi: re-organize do_bootefi()")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Heinrich Schuchardt [Sat, 16 Mar 2024 09:36:43 +0000 (10:36 +0100)]
cmd: bootefi: Don't show usage help if EFI binary fails.
If an EFI binary returns an error code EFI_INVALID_PARAMETER, we show the
usage help for the bootefi command:
Shell> exit 0x8000000000000002
## Application failed, r = 2
bootefi - Boots an EFI payload from memory
Usage:
bootefi <image address>[:<image size>] [<fdt address>]
- boot EFI payload
bootefi bootmgr [fdt address]
- load and boot EFI payload based on BootOrder/BootXXXX variables.
If specified, the device tree located at <fdt address> gets
exposed as EFI configuration table.
This makes no sense.
Fixes: 296faf4f7ef1 ("cmd: bootefi: re-organize do_bootefi()")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Heinrich Schuchardt [Sat, 16 Mar 2024 09:36:42 +0000 (10:36 +0100)]
efi_loader: correct handling of EFI binary return code
We should not try to remove protocol interfaces from a NULL handle.
efi_run_image() should always return the return code of the executed EFI
binary.
Fixes: 6422820ac3e5 ("efi_loader: split unrelated code from efi_bootmgr.c")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Hiago De Franco [Fri, 15 Mar 2024 21:56:57 +0000 (18:56 -0300)]
doc: board: apalis-imx8: Update and improve documentation
Update and improve the building documentation of Apalis iMX8.
The following changes were made:
- imx-atf repository changed to nxp-imx GitHub.
- imx-atf branch updated to 'lf_v2.6'.
- imx-seco updated to version 5.8.7.
- nxp-imx mfgtools link updated to GitHub releases.
- General writing improvements.
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Hiago De Franco [Fri, 15 Mar 2024 21:56:56 +0000 (18:56 -0300)]
doc: board: colibri-imx8x: Update and improve documentation
Update and improve the building documentation of Colibri iMX8X.
The following changes were made:
- imx-atf repository changed to nxp-imx GitHub.
- imx-atf branch updated to 'lf_v2.6'.
- imx-seco updated to version 5.8.7.
- nxp-imx mfgtools link updated to GitHub releases.
- General writing improvements.
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Heinrich Schuchardt [Sat, 16 Mar 2024 10:09:36 +0000 (11:09 +0100)]
doc: typo Synopis
%s/Synopis/Synopsis/g
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Janne Grunau [Sat, 16 Mar 2024 21:50:24 +0000 (22:50 +0100)]
efi_selftest: Update StrToFat() unit test after CP473 map extension
Test that Unicode code points which map to CP437 code points 1-31 are
converted to '_'. This ensures no FAT file names do not contain chars
which are control characters in other code pages (CP 1250 for example).
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Janne Grunau [Sat, 16 Mar 2024 21:50:23 +0000 (22:50 +0100)]
efi_selftest: Add geometric shapes character selftest
Draw symbols from Unicode's "Geometric shapes" page which translate to
code page 437 code points 1-31. These are used by UEFI applications to
draw user interfaces using EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.
The output has to be checked manually on the screen for correctness.
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Andre Przywara [Sat, 16 Mar 2024 21:50:22 +0000 (22:50 +0100)]
efi_selftest: Add box drawing character selftest
UEFI applications rely on Unicode output capability, and might use that
for drawing pseudo-graphical interfaces using Unicode defined box
drawing characters.
Add a simple test to display the most basic box characters, which would
need to be checked manually on the screen for correctness.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Andre Przywara [Sat, 16 Mar 2024 21:50:21 +0000 (22:50 +0100)]
efi_selftest: Add international characters test
UEFI relies entirely on unicode output, which actual fonts displayed on
the screen might not be ready for.
Add a test displaying some international characters, to reveal missing
glyphs, especially in our builtin fonts.
This would be needed to be manually checked on the screen for
correctness.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Janne Grunau [Sat, 16 Mar 2024 21:50:20 +0000 (22:50 +0100)]
lib/charset: Map Unicode code points to CP437 code points 1-31
Code page 437 uses code points 1-31 for glyphs instead of control
characters. Map the appropriate Unicode code points to this code points.
Fixes rendering of grub2's menu as EFI application using the
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL on a console with bitmap fonts.
Signed-off-by: Janne Grunau <j@jannau.net>
Janne Grunau [Sat, 16 Mar 2024 21:50:19 +0000 (22:50 +0100)]
video: console: Parse UTF-8 character sequences
efi_console / UEFI applications (grub2, sd-boot, ...) pass UTF-8
character sequences to vidconsole which results in wrong glyphs for code
points outside of ASCII. The truetype console expects Unicode code
points and bitmap font based consoles expect code page 437 code points.
To support both convert UTF-8 to UTF-32 and pass Unicode code points in
vidconsole_ops.putc_xy(). These can be used directly in console_truetype
and after conversion to code page 437 in console_{normal,rotate}.
This fixes rendering of international, symbol and box drawing characters
used by UEFI applications.
Signed-off-by: Janne Grunau <j@jannau.net>
Sumit Garg [Fri, 1 Mar 2024 13:24:53 +0000 (18:54 +0530)]
doc: devicetree: Lets avoid short reference link names
Short reference link names like "dtspec", "dtrepo", "dttweaks" etc.
interrupt the flow of the document text. Lets avoid them and instead
expand in place for better readability.
Suggested-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Caleb Connolly [Tue, 19 Mar 2024 13:24:42 +0000 (13:24 +0000)]
test: dm: add button_cmd test
Add a test for the button_cmd feature. This validates that commands can
be mapped to two buttons, that the correct command runs based on which
button is pressed, that only 1 command is run, and that no command runs
if button_cmd_0_name is wrong or unset.
Additionally, fix a potential uninitialised variable use caught by these
tests, the btn variable in get_button_cmd() is assumed to be null if
button_get_by_label() fails, but it's actually used uninitialised in
that case.
CONFIG_BUTTON is now enabled automatically and was removed when running
save_defconfig.
Fixes: e761035b6423 ("boot: add support for button commands")
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Marek Vasut [Mon, 18 Mar 2024 15:03:14 +0000 (16:03 +0100)]
Makefile: Add missing OF_UPSTREAM Makefile for 32bit ARM
Copy dts/upstream/src/arm64/Makefile into dts/upstream/src/arm/Makefile
and create a commit. This makes 32bit ARM buildable with OF_UPSTREAM .
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Tested-by: Adam Ford <aford173@gmail.com> #am3517-evm
Tested-by: Tony Dinh <mibodhi@gmail.com>
Piotr Wojtaszczyk [Wed, 13 Mar 2024 11:54:56 +0000 (12:54 +0100)]
gpio: mcp230xx: Add support for models with SPI interface.
Signed-off-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>
Kelly Hung [Wed, 13 Mar 2024 10:27:25 +0000 (18:27 +0800)]
arm: dts: ast2600-x4tf: Add new dts for ASUS X4TF
This is the new bmc dts for ASUS X4TF server.
Signed-off-by: Kelly Hung <Kelly_Hung@asus.com>
Leo Yu-Chi Liang [Wed, 13 Mar 2024 06:53:15 +0000 (14:53 +0800)]
spl: Improve error message for SPL memory allocation
There could be two memory allocation scheme in SPL phase.
Explicitly print the corresponding error message.
Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Tom Rini [Wed, 20 Mar 2024 12:39:05 +0000 (08:39 -0400)]
Merge branch '2024-03-19-assorted-updates' into next
- TI J7200 updates, GIC-600 support, 2 more tests, fix parsing
ccsidr_el1 register in some cases, prepare for allowing remoteproc to
use fs_loader and make the binary_size_check rule not require 'bc'.
Love Kumar [Tue, 12 Mar 2024 08:48:33 +0000 (14:18 +0530)]
test/py: reset: Add a test for reset command
Add a test for reset commands which performs resetting of CPU, It does
COLD reset by default and WARM reset with -w option.
Signed-off-by: Love Kumar <love.kumar@amd.com>
Love Kumar [Tue, 12 Mar 2024 08:46:10 +0000 (14:16 +0530)]
test/py: saveenv: Add a test for saveenv command
Add test case for saveenv command in non-JTAG bootmode which saves the
u-boot environment variables in persistent storage.
Signed-off-by: Love Kumar <love.kumar@amd.com>
Leon M. Busch-George [Sun, 10 Mar 2024 21:53:52 +0000 (22:53 +0100)]
Makefile: use shell to calculate map_size
The error message "bc: command not found" is easily missed since the
build continues.
bc is not a part of coreutils or base-devel. POSIX sh can also do the
calculation.
Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
Lukasz Wiecaszek [Sun, 10 Mar 2024 10:29:58 +0000 (11:29 +0100)]
arm: Check FEAT_CCIDX when parsing ccsidr_el1 register
Current Cache Size ID Register (ccsidr_el1) has two "flavors"
depending on whether FEAT_CCIDX is implemented or not.
When FEAT_CCIDX is implemented Associativity parameter
is coded on bits [23:3] and NumSets parameter on bits [55:32].
When FEAT_CCIDX is not implemented then Associativity parameter
is coded on bits [12:3] and NumSets parameter on bits [27:13].
Current U-Boot code does not check whether FEAT_CCIDX is implemented
and always parses ccsidr_el1 as if FEAT_CCIDX was not implemented.
This is of course wrong on systems where FEAT_CCIDX is implemented.
This patch fixes that problems and tests whether FEAT_CCIDX
is implemented or not and accordingly parses the ccsidr_el1 register.
Signed-off-by: Lukasz Wiecaszek <lukasz.wiecaszek@gmail.com>
Venkatesh Yadav Abbarapu [Wed, 6 Mar 2024 11:24:41 +0000 (16:54 +0530)]
arm64: gic: Add power up sequence for GIC-600
Arm's GIC-600 features a Power Register (GICR_PWRR),
which needs to be programmed to enable redistributor
operation. Power on the redistributor and wait until
the power on state is reflected by checking the bit
GICR_PWRR.RDPD == 0. While running U-Boot in EL3
without enabling this register, GICR_WAKER.ChildrenAsleep
bit is not getting cleared and loops infinitely.
This register(GICR_PWRR) must be programmed to mark the frame
as powered on, before accessing other registers in the frame.
Rest of initialization sequence remains the same.
ARM GIC-600 IP complies with ARM GICv3 architecture.
Enable this config if GIC-600 IP present.
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Aniket Limaye [Wed, 6 Mar 2024 06:37:49 +0000 (12:07 +0530)]
arm: dts: k3-j7200-r5-common: Add missing overrides for ringacc and udmap
Corrects the ti,sci property to point to dm_tifs node for proper
functioning of mcu_ringacc and mcu_udmap.
Fixes: df73e791ce09 ("arm: dts: j7200: dts sync with Linux 6.6-rc1")
Signed-off-by: Aniket Limaye <a-limaye@ti.com>
Aniket Limaye [Wed, 6 Mar 2024 06:37:48 +0000 (12:07 +0530)]
arm: dts: k3-j7200-r5-common: fix the mcu_timer0 clock frequency
Correcting the clock-frequency property of the mcu_timer0 node
Fixes: df73e791ce09 ("arm: dts: j7200: dts sync with Linux 6.6-rc1")
Signed-off-by: Aniket Limaye <a-limaye@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>