Commit graph

88692 commits

Author SHA1 Message Date
Nishanth Menon
08df746dd1 doc: board: ti: *: Add platform information
Add link to the actual platform for folks to find details about the
board in addition to the SoC's TRM.

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:38 +02:00
Nishanth Menon
93d90bf33e doc: board: ti: j7200_evm: Convert the emmc layout to svg
Convert the emmc memory layout to svg

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:38 +02:00
Nishanth Menon
e19efb13c9 doc: board: ti: am65x_evm: Convert the emmc layout to svg
Convert the emmc memory layout to svg

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:38 +02:00
Nishanth Menon
757836d95a doc: board: ti: am65/j721e: Convert OSPI memory map to svg
Convert the memory map for OSPI as a common memory map

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:38 +02:00
Nishanth Menon
fc5b2b8ee5 doc: board: ti: am65x_evm: Convert the UART boot responsibility to list table
Use list tables to map up the UART Boot responsibility table.

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
f940ec2f5e doc: board: ti: j7200_evm: Convert switch settings to list tables
Use list tables to map up the dip switch settings

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
36ed8fbf40 doc: board: ti: am62x_sk: Convert switch settings to list tables
Use list tables to map up the dip switch settings

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
d7c3ca985c doc: board: ti: am62x_sk: Add labels to reuse memory map
Add labels around the A53 SPL DDR memory layout to be able to reuse the
memory map.

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
34f76921d8 doc: board: ti: am62x: Convert the image format to svg
Convert the image format into svg that can be reused across platforms as
needed.

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
654dceddcf doc: board: ti: am65x: Convert the image format to svg
Convert the image format into svg that can be reused across platforms as
needed.

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
3b83dff183 doc: board: ti: j721e: Convert the image format to svg
Convert the image format into svg that can be reused across platforms as
needed.

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
f4ade09a1e doc: board: ti: j7200: Convert the image format to svg
Convert the image format into svg that can be reused across platforms as
needed.

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
c727b81d65 doc: board: ti: k3: Reuse build instructions
Introduce common variables to define a generic build instruction that is
then used in specific board specific description.

Labels are introduced in the evm.rst files to be then reused in variant
board documentation as well.

While at this, drop using ARCH=arm when building u-boot sources. This
practice has been discouraged for some time and can potentially create
problems with Kconfig rules related to aarch64. It's best to avoid
this approach.

Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
9e30ebc983 doc: board: ti: j721e: Update with boot flow diagram
Update the bootflow svg diagram instead of the ascii version

Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
fd358121bd doc: board: ti: am65x: Update with boot flow diagram
Update the bootflow svg diagram instead of the ascii version

Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
68b3baaf3b doc: board: ti: am62x/j7200: Update with common boot flow diagram
Update the bootflow svg diagram and reuse across the platforms as they
are common.

Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Nishanth Menon
cce3e7a23d doc: board: ti: Optimize sources references
We have duplication of sources which makes it hard to sustain across the
board, but at the same time, we'd like to ensure readers get specific
information without having to cross refer to different documentation to
get piecemeal information that they need to put together.

Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-28 11:36:37 +02:00
Dan Carpenter
a7eb8aeccb efi_loader: fix uninitialized variable bug in efi_set_load_options()
Check for efi_search_protocol() failure before dereferencing "handler"
to avoid a crash.

Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
2023-07-28 11:36:37 +02:00
Tom Rini
f687c8f7b4 doc: ti: Clarify required file names for K3 platforms
Now that we are using binman in all cases on these platforms, reword
things to be clearer that for filesystem booting we need to use a
specific name for each component.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2023-07-28 11:36:37 +02:00
Ilias Apalodimas
54edc37a22 efi_loader: make efi_delete_handle() follow the EFI spec
The EFI doesn't allow removal of handles, unless all hosted protocols
are cleanly removed.  Our efi_delete_handle() is a bit intrusive.
Although it does try to delete protocols before removing a handle,
it doesn't care if that fails.  Instead it only returns an error if the
handle is invalid. On top of that none of the callers of that function
check the return code.

So let's rewrite this in a way that fits the EFI spec better.  Instead
of forcing the handle removal, gracefully uninstall all the handle
protocols.  According to the EFI spec when the last protocol is removed
the handle will be deleted.  Also switch all the callers and check the
return code. Some callers can't do anything useful apart from reporting
an error.  The disk related functions on the other hand, can prevent a
medium that is being used by EFI from removal.

The only function that doesn't check the result is efi_delete_image().
But that function needs a bigger rework anyway, so we can clean it up in
the future

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-07-28 11:36:37 +02:00
Heinrich Schuchardt
8505c0bb5c doc: describe QEMU emulation of block devices
* Add a new page about the emulation of block devices
* Add semihosting to the emulation index page
* Set toc maxdepth to 1 to improve readability

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-28 11:36:37 +02:00
Heinrich Schuchardt
95537bd31c doc: fix typo device_compat/.h
%s/device_compat\/.h/device_compat.h/

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-28 11:36:37 +02:00
Heinrich Schuchardt
d0544244b1 efi_loader: simplify dp_fill()
Move the recursive dp_fill(dev->parent) call to a single location.
Determine uclass_id only once.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-28 11:36:37 +02:00
Heinrich Schuchardt
c227ef7c4a efi_loader: device paths for special block devices
The UEFI specification does not provide node types matching UCLASS_BLKMAP,
UCLASS_HOST, UCLASS_VIRTIO block devices.

The current implementation uses VenHw() nodes with uclass specific GUIDs
and a single byte for the device number appended. This leads to unaligned
integers in succeeding device path nodes.

The current implementation fails to create unique device paths for block
devices based on other uclasses like UCLASS_PVBLOCK.

Let's use a VenHw() node with the U-Boot GUID with a length dividable by
four and encoding blkdesc->uclass_id as well as  blkdesc->devnum.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-07-28 11:36:37 +02:00
Heinrich Schuchardt
771d7cd8c5 doc: update doc/sphinx/requirements.txt
Update the following requirements to their latest version:

* Pygments - syntax highlighting
* pytz     - world timezone definitions
* certifi  - Mozilla's CA bundle

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-07-28 11:36:37 +02:00
Roger Quadros
7c9267e511 net: ti: am65-cpsw-nuss: Get port mode register from standard "phys" property
Approved DT binding has the port mode register in the
"phys" property. Get it from there instead of the custom
"cpsw-phy-sel" property.

This will allow us to keep DT in sync with Linux.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Acked-by: Nishanth Menon <nm@ti.com>
2023-07-27 17:10:46 -04:00
Roger Quadros
fcb513e5f2 net: ti: am65-cpsw-nuss: Use approved property to get efuse address
The approved DT property for MAC efuse (ROM) address is
"ti,syscon-efuse".

Use that and drop custom property "mac_efuse".

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Acked-by: Nishanth Menon <nm@ti.com>
2023-07-27 17:10:46 -04:00
Maxime Ripard
9b33be392b net: ti: am65-cpsw-nuss: Enforce pinctrl state on the MDIO child node
The binding represents the MDIO controller as a child device tree
node of the MAC device tree node.

The U-Boot driver mostly ignores that child device tree node and just
hardcodes the resources it uses to support both the MAC and MDIO in a
single driver.

However, some resources like pinctrl muxing states are thus ignored.
This has been a problem with some device trees that will put some
pinctrl states on the MDIO device tree node, like the SK-AM62 Device
Tree does.

Let's rework the driver a bit to create a dummy MDIO driver that we will
then get during our initialization to force the core to select the right
muxing.

Signed-off-by: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Acked-by: Roger Quadros <rogerq@kernel.org>
Acked-by: Nishanth Menon <nm@ti.com>
2023-07-27 17:10:46 -04:00
Tom Rini
67957176a2 Merge branch '2023-07-27-assorted-network-updates'
- Merge a few network updates
2023-07-27 16:45:50 -04:00
Nate Drude
e8b4a8d7f0 phy: adin: add readext and writeext support for mdio cmd
The adin phy has extended registers that can be accessed using
adin_ext_read and adin_ext_write. These registers can be read directly
using the mdio command using readext and writext. For example:

     => mdio rx ethernet@428a0000 0xff23
     Reading from bus ethernet@428a0000
     PHY at address 0:
     65315 - 0xe01

Signed-off-by: Nate Drude <nate.d@variscite.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-07-27 14:32:12 -04:00
Karsten Wiese
3ca4955760 net: ksz9477: add support for KSZ9893 GbE switch
Copy and tweak the required code from the linux kernel.
Only the KSZ9893 has been tested.

Signed-off-by: Karsten Wiese <karsten.wiese@protechna.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-07-27 14:32:12 -04:00
Ehsan Mohandesi
1196e5241d net: ipv6: network protocol structures should be packed
The structure icmp6_ra_prefix_info needs to be packed because it is read
from a network stream.

Signed-off-by: Ehsan Mohandesi <emohandesi@linux.microsoft.com>
Reviewed-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-07-27 13:39:07 -04:00
Ehsan Mohandesi
a29df56eab net: ipv6: router advertisement message length should be within limits
The argument len passed to function process_ra is the length of the IPv6
router advertisement message and needs to be between 0 and MTU because
it is assigned to remaining_option_len and used as a loop variable.

Addresses-Coverity-ID: 450971 ("TAINTED_SCALAR")
Signed-off-by: Ehsan Mohandesi <emohandesi@linux.microsoft.com>
Reviewed-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-07-27 13:39:07 -04:00
Tom Rini
c98c401dfb Merge https://source.denx.de/u-boot/custodians/u-boot-usb 2023-07-27 10:35:36 -04:00
Richard Habeeb
3aba92c9dd usb: xhci: Fix double free on failure
drivers/core/device.c will call `device_free()` after xhci_register
already frees the private device data. This can cause a crash later
during the boot process, observed on aarch64 RPi4b as a synchronous
exception. All callers of xhci_register use priv_auto, so this won't
lead to memory leaks.

Signed-off-by: Richard Habeeb <richard.habeeb@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-27 03:59:38 +02:00
Tom Rini
197aa22e65 Merge branch 'master' of git://git.denx.de/u-boot-coldfire
- Watchdog updates, and more MAINTAINERS entries
2023-07-25 17:37:39 -04:00
Tom Rini
dc05fe5120 Revert "travis-ci: Add m68k M5208EVBE machine"
This commit was not intended for this tree but rather
u-boot-test-scripts (where it is applied).

This reverts commit f04ef0a7a0.

Signed-off-by: Tom Rini <trini@konsulko.com>
2023-07-25 17:37:18 -04:00
Angelo Dureghello
59dee11b17 MAINTAINERS: add myself as mcf_wdt.c maintainer
Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
---
Changes for v2:
- none
Changes for v3:
- none
2023-07-25 23:21:42 +02:00
Angelo Dureghello
838a6a7201 configs: m68k: add watchdog driver
Add config options for mcf_wdt driver.

Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
---
Changes for v2:
- none
Changes for v3:
- none
2023-07-25 23:21:42 +02:00
Angelo Dureghello
67d39af665 m68k: dts: add watchdog node
Add watchdog node for the implemented mcf_wdt driver.

Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
---
Changes for v2:
- remove unnecessary big-endian property
Changes for v3:
- none
2023-07-25 23:21:42 +02:00
Angelo Dureghello
dc3a89b8c6 m68k: move watchdog functions in mcf_wdt driver
Move watchdog functions inside a separate watchdog driver.

Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
---
Changes for v2:
- none
Changes for v3:
- none
2023-07-25 23:21:42 +02:00
Angelo Dureghello
9b8bc514a0 drivers: watchdog: add mcf watchdog support
This watchdog driver applies to the following
mcf families:

- mcf52x2 (5271 5275 5282)
- mcf532x (5329 5373)
- mcf523x (5235)

Cpu's not listed for each family does not have WDT module.

Note, after some attempts testing by qemu on 5208 i
finally abandoned, watchdog seems not implemented properly.

The driver has been tested in a real M5282EVM.

Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
---
Changes for v2:
- remove unnecessary hardcoded timeouts
- remove unnecessary hw_watchdog_xxx stuff
- rewrite wdog module reg calculation
- using IS_ENABLED() where possible
Changes for v3:
- remove hardcoded 4s test
2023-07-25 23:21:42 +02:00
Angelo Dureghello
74c521912a board: m68k add missing maintainer
Add myself as a maintainer for orphaned boards.
All these boards are covered by buildman m68k test.

Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
2023-07-25 23:21:42 +02:00
Tom Rini
ff296acc35 Prepare v2023.10-rc1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-07-25 17:19:54 -04:00
Tom Rini
9455dc322c configs: Resync with savedefconfig
Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
2023-07-25 17:00:57 -04:00
Tom Rini
544dfc3c88 Merge branch '2023-07-25-assorted-general-updates'
- A number of MAINTAINER file updates, assorted driver/platform fixes,
  performance improvements for sparse file writes, and 64bit time_t.
2023-07-25 16:55:59 -04:00
Andrew Davis
fa59771039 MAINTAINERS: Take maintainership of TI KeyStone2 support
Add arch/arm/mach-keystone/ into K2 board directory MAINTAINERS file.

Convert current entries into regex match style.

Assign maintainership to myself.

Signed-off-by: Andrew Davis <afd@ti.com>
2023-07-25 13:29:00 -04:00
Marek Vasut
779e38a5f5 Makefile: Use sort shortopts
POSIX does not defined longopts for sort, use shortops
for even more compatibility.

Fixes: cc5a490cf4 ("Makefile: Sort u-boot-initial-env output")
Reported-by: Milan P. Stanić <mps@arvanta.net>
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Tested-by: Milan P. Stanić <mps@arvanta.net>
2023-07-25 12:44:47 -04:00
Tom Rini
fdfbd70da6 MAINTAINERS: Add some missing directories or files
In a few cases we have MAINTAINERS entries that are missing obvious
paths or files. Typically this means a board directory that did not list
itself, but in a few cases we have a Kconfig file or similar.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-25 12:44:47 -04:00
Tom Rini
b99476e71a MAINTAINERS: Deal with '+' in paths
The listed paths are allowed to contain wildcards.  This includes the
'+' character which we have as a literal part of the path in a few
cases. Escape the '+' here so that files are matched.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-25 12:44:47 -04:00