summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-11-22arm: dts: Add k3-j721e-beagleboneai64Robert Nelson
BeagleBoard.org BeagleBone AI-64 is an open source hardware single board computer based on the Texas Instruments TDA4VM SoC featuring dual-core 2.0GHz Arm Cortex-A72 processor, C7x+MMA and 2 C66x floating-point VLIW DSPs, 3x dual ARM Cortex-R5 co-processors, 2x 6-core Programmable Real-Time Unit and Industrial Communication SubSystem, PowerVR Rogue 8XE GE8430 3D GPU. The board features 4GB DDR4, USB3.0 Type-C, 2x USB SS Type-A, miniDisplayPort, 2x 4-lane CSI, DSI, 16GB eMMC flash, 1G Ethernet, M.2 E-key for WiFi/BT, and BeagleBone expansion headers. This board family can be indentified by the BBONEAI-64-B0 in the at24 eeprom: [aa 55 33 ee 01 37 00 10 2e 00 42 42 4f 4e 45 41 |.U3..7....BBONEA|] [49 2d 36 34 2d 42 30 2d 00 00 42 30 30 30 37 38 |I-64-B0-..B00078|] Baseline of the devicetree is from v6.6-rc1 https://beagleboard.org/ai-64 https://git.beagleboard.org/beagleboard/beaglebone-ai-64 Signed-off-by: Robert Nelson <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2023-11-22board: Move omap3 beagle under beagle vendor folderNishanth Menon
Move the omap3 beagle to the beagle vendor folder representing BeagleBoard.org platforms. Suggested-by: Tom Rini <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2023-11-22doc: board: Move am62x_beagleplay to it's own vendorNishanth Menon
Move BeaglePlay documentation to beagle as a board vendor and update references accordingly. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2023-11-22board: Move beagleplay under beagle vendor folderNishanth Menon
Move beagleplay support away from ti/am62x to it's own beagle vendor folder. This forms the starting point for new beagle platforms added under it's own board vendor folder. As part of this create all the associated files with a bare minimum beagleplay.c file. Suggested-by: Andrew Davis <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]> [trini: Update k3-binman.dtsi to use full path to scheme.yaml now] Signed-off-by: Tom Rini <[email protected]>
2023-11-22configs: Add am62x_beagleplay_*_defconfigNishanth Menon
Add am62x_beagleplay_* defconfig customized for the configuration of BeaglePlay and drop the config fragments. This is in preparation for dropping the dependency on ti vendor folder entirely. Signed-off-by: Nishanth Menon <[email protected]>
2023-11-22arm: dts: k3-am625-beagleplay-u-boot/r5: Just depend on k3-binman.dtsiNishanth Menon
With the upcoming folder separation, there is no further need to depend on am625-binman.dtsi. Duplicate the existing definitions to u-boot.dtsi and r5.dts as appropriate. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2023-11-22doc: board: ti: j721e_evm: Use board relative path for include directivesNishanth Menon
When using include directives within a section that is included by non TI board rst file, k3.rst and other include paths need to be relative to doc/board/ base. Signed-off-by: Nishanth Menon <[email protected]>
2023-11-22configs: j7200_evm_a72_defconfig: Switch to bootstdNishanth Menon
Switch to using bootstd. Note with this change, we will stop using distro_bootcmd and instead depend entirely on bootflow method of starting the system up. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-22configs: j7200: Remove HBMC_AM654 configNishanth Menon
Kernel commit 1b77265626a4 ("arm64: dts: ti: k3-j7200-mcu-wakeup: Add HyperBus node") was merged to kernel without its dependent patch [1]. Similar fix is needed in U-Boot, and hbmc currently breaks boot. Till this gets fixed in U-Boot, disable the config by default so that the hbmc probe that happens in board/ti/j721e/evm.c will not take place and lead to boot failure. This is similar to the approach in commit 5b2671594b80 ("configs: j721e: Remove HBMC_AM654 config"), introduced to j7200 evm platform. [1] https://lore.kernel.org/all/[email protected]/ Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-22arm: mach-k3: j721e: Improve support for UDA FSNishanth Menon
Commit 5019170970ad ("arch: arm: mach-k3: j721e: add support for UDA FS") introduced basic UDA FS support, however, we can Take approach similar to commit 0f1c1e8b368b ("arm: mach-k3: am625: Add support for UDA FS"). While boot partition support with EMMC boot is useful, it is constrained by the size of boot hardware partition itself. In the case of K3 devices, tispl images can contain OP-TEE images that can substantially vary in size and the u-boot image itself can vary over time as we enable various features. So use the CSD information in the case of EMMC_BOOT configuration being enabled to pick boot partition or UDA FS mode operation to pick. If EMMC_BOOT is disabled, then depend on filesystem configuration to pick data from UDA. Signed-off-by: Nishanth Menon <[email protected]>
2023-11-22arm: mach-k3: arm64-mmu: Refactor to be independent of boardNishanth Menon
Refactor J721E J7200 definition to make this independent of board macros. Signed-off-by: Nishanth Menon <[email protected]>
2023-11-22board: ti: j721e: Select SOC_K3_J721E_J7200 for J7200evmNishanth Menon
Enable SOC_K3_J721E_J7200 when board is J7200 EVM - this allows us to differentiate J7200 platform cleanly in board independent codebase. Signed-off-by: Nishanth Menon <[email protected]>
2023-11-22arm: mach-k3: Kconfig: Introduce a symbol to indicate J7200Nishanth Menon
J7200 shares quite a few characteristics with J721E. However a few sets are different. Introduce a Kconfig to differentiate the two to allow for new boards to be introduced in a seamless manner. Signed-off-by: Nishanth Menon <[email protected]>
2023-11-22configs: j721e_evm_a72_defconfig: Switch to bootstdNishanth Menon
Switch to using bootstd. Note with this change, we will stop using distro_bootcmd and instead depend entirely on bootflow method of starting the system up. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-22board: ti: j721e: j721e.env: Add explicit boot_targetsNishanth Menon
Add explicit boot_targets to indicate the specific boot sequence to follow. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-22board: ti: j721e: evm: Switch to using IS_ENABLEDNishanth Menon
Switch to using IS_ENABLED() for inline function usage. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-22board: ti: j721e: evm: Drop board check for ESMNishanth Menon
When config is enabled, the esm dt probe makes sense. Simplify by dropping board specific checks. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-22board: ti: j721e: evm: Drop unused headersNishanth Menon
Drop headers that are no longer necessary for build Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-22arm: mach-k3: Move TI dummy keys out of board folderNishanth Menon
This file is used to emulate customer keys on TI development board ecosystems, move it out of board/ directory and into mach-k3. And change the relative paths to absolute paths in the binman paths. While at it, drop the reference in verdin-binman file which is redundant. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Acked-by: Manorit Chawdhry <[email protected]>
2023-11-22arm: mach-k3: Move K3 degenerate keys out of board folderNishanth Menon
This file is common for all of K3, move it out of board/ directory and into mach-k3. And change the relative paths to absolute paths in the binman paths. While at it, drop the reference in verdin-binman file which is redundant. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Reviewed-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: Move sysfw-loader into R5 directoryAndrew Davis
SYSFW is only ever loaded by the R5 core, move the code into that directory. While here also move the related Kconfig symbols. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: Remove incorrect checks for SPL buildAndrew Davis
The kconfig option SPL means this build supports SPL but not that this build is SPL, nor that this build is the SPL running on R5. For options that are for R5 SPL use CPU_V7R. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: Move R5 specific code into new r5/ directoryAndrew Davis
This makes it clear these are only to be used by the R5 builds of SPL. And this will be used to later more cleanly split the two builds. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: j721s2: Move board selection to mach-k3Andrew Davis
Currently each set of board targets from a vendor is selected inside the board directory for that vendor. This has the problem of multiple targets, one from each vendor, being selectable at the same time. For instance you can select both TARGET_AM654_A53_EVM and TARGET_IOT2050_A53 in the same build. To fix this we need to move the target board choice to a common location for each parent SoC selection. Do this in arch/arm/mach-k3. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: am62ax: Move board selection to mach-k3Andrew Davis
Currently each set of board targets from a vendor is selected inside the board directory for that vendor. This has the problem of multiple targets, one from each vendor, being selectable at the same time. For instance you can select both TARGET_AM654_A53_EVM and TARGET_IOT2050_A53 in the same build. To fix this we need to move the target board choice to a common location for each parent SoC selection. Do this in arch/arm/mach-k3. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: am62x: Move board selection to mach-k3Andrew Davis
Currently each set of board targets from a vendor is selected inside the board directory for that vendor. This has the problem of multiple targets, one from each vendor, being selectable at the same time. For instance you can select both TARGET_AM654_A53_EVM and TARGET_IOT2050_A53 in the same build. To fix this we need to move the target board choice to a common location for each parent SoC selection. Do this in arch/arm/mach-k3. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: am64x: Move board selection to mach-k3Andrew Davis
Currently each set of board targets from a vendor is selected inside the board directory for that vendor. This has the problem of multiple targets, one from each vendor, being selectable at the same time. For instance you can select both TARGET_AM654_A53_EVM and TARGET_IOT2050_A53 in the same build. To fix this we need to move the target board choice to a common location for each parent SoC selection. Do this in arch/arm/mach-k3. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: am65x: Move board selection to mach-k3Andrew Davis
Currently each set of board targets from a vendor is selected inside the board directory for that vendor. This has the problem of multiple targets, one from each vendor, being selectable at the same time. For instance you can select both TARGET_AM654_A53_EVM and TARGET_IOT2050_A53 in the same build. To fix this we need to move the target board choice to a common location for each parent SoC selection. Do this in arch/arm/mach-k3. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: j721e: Move board selection to mach-k3Andrew Davis
Currently each set of board targets from a vendor is selected inside the board directory for that vendor. This has the problem of multiple targets, one from each vendor, being selectable at the same time. For instance you can select both TARGET_AM654_A53_EVM and TARGET_IOT2050_A53 in the same build. To fix this we need to move the target board choice to a common location for each parent SoC selection. Do this in arch/arm/mach-k3. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22board: ti: Add dependency from TARGET selection to SOCAndrew Davis
Currently the K3 selection for TARGET boards does not depend on the SoC for which it is based. This leds to the odd ability to select for instance both SOC_K3_AM625 and TARGET_J721E_A72_EVM. To fix this the target choice should depend on the matching SOC config. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-22Merge tag 'tpm-next-22112023' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm into next tpm_tis_send-cleanup
2023-11-22tpm: remove superfluous check in tpm_tis_send()Heinrich Schuchardt
Checking if variable chip is NULL after dereferencing it makes no sense. As discribed in [1] it is not expected that the variable can ever be NULL. [1] Re: [PATCH] tpm: avoid NULL pointer dereference in tpm_tis_send() https://lore.kernel.org/u-boot/[email protected]/ Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-11-21usb: udc: Try to clarify an error messageMiquel Raynal
At some point when trying to use USB gadgets, two situations may arise and lead to a failure. Either the UDC (USB Device Controller) is not available at all (not described or not probed) or the UDC is already in use. For instance, as the USB Ethernet gadget remains bound to the UDC, the use of any other USB gadget (fastboot, dfu, etc) *after* will always fail with the "couldn't find an available UDC" error. Let's give a more helpful message by making a difference between the two cases. Let's also hint people who would get this error and grep it into the sources a better explanation of what's wrong with their workflow. Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-11-21cmd: bind: Try to improve the (un)bind helpMiquel Raynal
While it may sound totally obvious for the regular U-Boot developer to get the parameters of the bind/unbind commands from the output of 'dm tree', it did not felt straightforward to me until I was explicitly told to look there. And even when I knew the command, I did not make a direct link between the arguments of this command and the columns returned by 'dm tree'. Several of us lost a lot of time because of that, I would like to kindly help other users by slightly improving this textual line. Unfortunately, because of how this string is used (like within the 'help' command) I cannot detail much more, but at least the pointer is there. While we add this message, we can also imply CMD_DM when we enable CMD_BIND so the debug message does not lead to an unknown command. This way the 'dm' command will likely be there unless explicitly disabled. Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-11-21cmd: Change the dependencies between CMD_BIND and USB_GADGETMiquel Raynal
Today CMD_BIND defaults to 'y' when USB_ETHER is enabled. In practice, CMD_BIND should default to 'y' when any USB gadget is enabled not only USB_ETHER. Let's invert the logic of the dependency and use the weak 'imply' keyword to enforce this. Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> # on vim3 Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-11-21usb: gadget: f_mass_storage: Stop ums on START-STOP UNIT SCSI commandMarek Vasut
Exit the UMS handler loop in case START-STOP UNIT SCSI command is received. This is sent e.g. by the util-linux eject(1) command and indicates to the device that it is supposed to spin down the media and enter low power state. This effectively adds support for exitting the 'ums' command from host using 'eject /dev/sdN' that is on par with 'dfu-util -e' . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-11-21dfu: add CONFIG_DFU_NAME_MAX_SIZE configurationJaehoon Chung
Add CONFIG_DFU_NAME_MAX_SIZE to change the proper size. If name is longer than default size, it can do wrong behavior during updating image. So it need to change the proper maximum size. This patch is proviced the solution to change value with configuration. Signed-off-by: Jaehoon Chung <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Link: https://lore.kernel.org/r/[email protected] [mkorpershoek: fixed build errors for dfu.h includes] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-11-21Merge tag 'efi-2024-01-rc4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2024-01-rc4 Documentation * Add HiSilicon board documentation to HTML docs * Fix building with Sphinx 6.0 UEFI * Increase default variable store size to 128K * Check return value of efi_append_scrtm version * Create shortened boot options in eficonfig command Other * Avoid incorrect error message in mkimage
2023-11-21usb: fastboot: Add missing newline in pr_errSimon Holesch
Add missing newline in pr_err. Signed-off-by: Simon Holesch <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-11-21usb: ci: Fix gadget reinitSimon Holesch
The ChipIdea device controller wasn't properly cleaned up when disabled. So enabling it again left it in a broken state. The problem occurred for example when the host unbinds the driver and binds it again. During the first setup, when the out request is queued, the endpoint is primed (`epprime`). If the endpoint is then disabled, it stayed primed with the initial buffer. So after the endpoint is re-enabled, the device controller and device driver were out of sync: the new out request was in the driver queue head, yet not submitted, but the "complete" function was still called, since the endpoint was primed with the old buffer. With the fastboot function this error led to the (rather confusing) error message "buffer overflow". Fixed by clearing the primed buffers with the `epflush` (`ENDPTFLUSH`) register. Signed-off-by: Simon Holesch <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-11-20cmd: eficonfig: create shortened boot optionsHeinrich Schuchardt
The boot options created by eficonfig should use shortened device-paths to avoid problems if drives are enumerated in a different sequence. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-11-20efi_loader: improve efi_var_from_file() descriptionHeinrich Schuchardt
It is unclear to developers why efi_var_from_file() returns EFI_SUCCESS if file ubootefi.var is missing or corrupted. Improve the description. Reported-by: Weizhao Ouyang <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Weizhao Ouyang <[email protected]>
2023-11-20efi_loader: Correctly account the SCRTM event creationIlias Apalodimas
The result of efi_append_scrtm_version() is overwritten before anyone checks its result. Check it and exit the function on failures Addresses-Coverity-ID: 467399 Code maintainability issues (UNUSED_VALUE) Fixes: commit 97707f12fdab ("tpm: Support boot measurements") Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-11-20efi_loader: Increase default variable store size to 128KIlias Apalodimas
In commit 9fd3f881c6ed ("efi_loader: Increase default variable store size to 64KiB") Alper has a detailed explanation of why the size needs to be bumped to at least 64K. However enabling Secure boot, writing db, KEK, PK etc keys will further increase the size so bump it to 128K. It's worth noting that when U-Boot stores the EFI variables in an RPMB the available storage is defined statically in StandAloneMM at build time. The U-Boot code is detecting the available true size on the fly during writes. When StandAloneMM is present this size defines the reserved memory U-Boot can use to copy any runtime variables, before booting an OS. Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-11-20doc: typo fdtaddr_addr_rHeinrich Schuchardt
%s/fdtaddr_addr_r/fdt_addr_r/ Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-11-20docs: Fix the docs build with Sphinx 6.0Jonathan Corbet
Sphinx 6.0 removed the execfile_() function, which we use as part of the configuration process. They *did* warn us... Just open-code the functionality as is done in Sphinx itself. Tested (using SPHINX_CONF, since this code is only executed with an alternative config file) on various Sphinx versions from 2.5 through 6.0. Reported-by: Martin Liška <[email protected]> Cc: [email protected] Signed-off-by: Jonathan Corbet <[email protected]> Rebased for U-Boot Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-11-20doc: add HiSilicon board documentation to HTML docsHeinrich Schuchardt
Add the README files for the HiSilicon boards to the HTML documentation. This required a bit of reformatting. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-11-20mkimage: do not write incorrect error messageHeinrich Schuchardt
When running 'mkimage -l' is called for a valid StarFive file an error message "Error: invalid marker bytes" is written by the Renesas SPKG driver. mkimage -l may be invoked without specifying an image type. In this case mkimage iterates over all image type drivers to find the one that matches. None of the non-matching drivers should write an error message. Fix the Renesas SPKG driver. Fixes: afdfcb11f97c ("tools: spkgimage: add Renesas SPKG format") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-11-20Merge tag 'v2024.01-rc3' into nextTom Rini
Prepare v2024.01-rc3
2023-11-20Prepare v2024.01-rc3v2024.01-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>