aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-12-20pxe_utils: Increase feedback to user when fdt file is not foundMichael Trimarchi1-0/+5
extlinux.conf can set fdtdir. fdtdir look for fdt file using information found in the environment variable. The function does not report any error in the case the file is not found Scanning for bootflows in all bootdevs Seq Method State Uclass Part Name Filename --- ----------- ------ -------- ---- ------------------------ ---------------- Scanning global bootmeth 'efi_mgr': No EFI system partition No EFI system partition Failed to persist EFI variables Scanning bootdev 'mmc@fa10000.bootdev': 0 extlinux ready mmc 1 mmc@fa10000.bootdev.part_ /boot/extlinux/extlinux.conf ** Booting bootflow 'mmc@fa10000.bootdev.part_1' with extlinux 1: am62x-sk-buildroot Retrieving file: /boot/Image append: console=ttyS2,115200n8 root=PARTUUID=c586a30c-0bf1-4323-aba8-779c814ee135 rw rootfstype=ext4 rootwait earlycon=ns16550a,mmio32,0x02800000 Retrieving file: /boot/k3-am623_ccm_m3.dtb Skipping fdtdir /boot/ for failure retrieving dts Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-12-20command: Move command completion temporary buffer to stackMarek Vasut1-2/+1
The command completion temporary buffer seems to be only used by the argv tokenizer, move it to stack. This saves 2 kiB from the binary size (depends on configuration) per: $ aarch64-linux-gnu-readelf -s u-boot | sort -n -k 3 Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-12-20command: Allocate history buffer using calloc()Marek Vasut1-9/+17
The history buffer is currently a static array which can be some 10-40 kiB depending on configuration, and so adds considerably to the U-Boot binary size. Allocate it dynamically instead to reduce the U-Boot binary size. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-12-20bootflow: Allow setting a cmdline arg with no valueSimon Glass2-2/+6
This is supposed to be supported by the 'bootflow cmd' command, at least according to the help. There is a 'bootflow cmd clear' but it is often more intuitive to use 'bootcmd cmd set' with an empty value. Update the command to pass BOOTFLOWCL_EMPTY in this case. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-12-20bootm: Fix flags used for bootargs string substitutionPiotr Kubik2-1/+13
Commit 51bb33846ad2 ("bootm: Support string substitution in bootargs") introduced a feature of bootargs string substitution and changed a flag used in bootm_process_cmdline_env() call to be either true or false. With this flag value, condition in bootm_process_cmdline() `if (flags & BOOTM_CL_SUBST)` is never true and process_subst() is never called. Add a simple test to verify if substitution works OK. Signed-off-by: Piotr Kubik <piotr.kubik@iopsys.eu> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-12-20arm: afs: Set the filesize env. var. on loadRobert Catherall1-2/+10
The `afs load` command copies data to RAM. Set the filesize environment variable to record how much data was 'loaded' Signed-off-by: Robert Catherall <robert.catherall@arm.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Andre Przywara <andre.przywara@arm.com>
2023-12-20rsa: use pkcs11 uri as defined in rfc7512Ayoub Zaki2-7/+7
pkcs11 : change engine uri to use full pk11-URI as defined in: https://www.rfc-editor.org/rfc/rfc7512.html Signed-off-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
2023-12-20imxtract: specify max gunzip sizeNikita Shubin2-6/+11
Specify max gunzip size from config to override SYS_XIMG_LEN default value wich is 0x800000. In case we have a large portion of FIT image, for example gzipped kernel with decompressed size large than 0x800000 we should enlarge imxract area, otherwise extracting it will fail. It used to be a hardcoded define in cmd/ximg.c and we are moving it to config. Signed-off-by: Nikita Shubin <n.shubin@yadro.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-12-20Merge tag 'u-boot-amlogic-next-20231220' of ↵WIP/20Dec2023-nextTom Rini28-90/+342
https://source.denx.de/u-boot/custodians/u-boot-amlogic into next - Add support for new GXL MDIO mux, with driver and Linux DT sync from v6.4
2023-12-20Merge branch 'staging' of ↵Tom Rini83-1750/+9464
https://source.denx.de/u-boot/custodians/u-boot-tegra into next This PR contains 4 patchsets: 1. PMIC GPIO cells bringup. Created drivers for MAX7663 and Palmas PMICs and gpio-uclass patch isolated behind configs for these 2 drivers. No unintentional size increase on any board. (proposed 2023-11-06 without any reaction) 2. Simple PLL clocks support in common tegra clock code which allows use of simple PLL the same way main PLLs are used (before only clock_start_pll was available). PLLD2 is an example of simple PLL, it is used as a video subsystem parent clock and was used to test this code. So far everything worked as expected. (proposed 2023-11-16 without any reaction) 3. A small patch for tegra emmc to allow pass max frequency from device tree since some devices may not support full speed. 4. Pinmux DM conversion. Patchset consists of commit with DM wrapper for existing pinmux code for t20/t30/t114, pinmux and funcmux files relocation into a dedicated folder inside pinctrl, conversion of some tegra boards to device tree pinmux setup.
2023-12-19board: compal: paz00: clean up the boardSvyatoslav Ryhel4-63/+5
Since implementation of pinctrl driver for T20 Paz00 can switch to device tree pinmux setup along with remove of board pinmux and some minor device tree and defconfig tweaks. Tested-by: Agneli <poczt@protonmail.ch> # Toshiba AC100 T20 Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19board: htc: endeavoru: switch to DM pinmuxSvyatoslav Ryhel3-376/+1147
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used for the Linux device tree and are set according to the downstream kernel.  Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19board: asus: transformer: switch to DM pinmuxSvyatoslav Ryhel10-388/+3289
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used in the Linux device tree.  Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19board: lg: x3-t30: switch to DM pinmuxSvyatoslav Ryhel9-498/+1029
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used for the Linux device tree and are set according to the service manual. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19board: asus: grouper: switch to DM pinmuxSvyatoslav Ryhel6-380/+1087
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used in the Linux device tree. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19drivers: pinctrl: tegra: incorporate existing codeSvyatoslav Ryhel21-17/+212
Move all existing pinmux and funcmux code into a dedicated folder in pinctrl to simplify further maintenance. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19drivers: pinctrl: create Tegra DM pinctrl driverSvyatoslav Ryhel11-0/+2149
The existing pinctrl driver available for Tegra SOC is well designed, but it lacks DM support. Let's add a DM compatible overlay, which allows use of the device tree, along with preserving backward compatibility with all existing setups and the ability to use it in SPL board configuration stage. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19ARM: mach-tegra: rearrange SPL configsSvyatoslav Ryhel1-1/+2
SPL configs are used only by the ARMv7-based Tegra SOC's, so move SPL_SYSRESET under TEGRA_ARMV7_COMMON selection and enable SPL_DM since SPL_SYSRESET depends on it. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19mmc: tegra: use max-frequency from device tree if providedPeter Geis1-1/+1
The driver currently hard-codes the max freqency for the sdhci controllers. If the controller is unable to operate at the max frequency, the mmc card will not be available on the first scan. Subsequent scans will eventually find a working combination. Fix this by allowing the driver to check for the max-frequency property and default to the original value if it doesn't exist. Signed-off-by: Peter Geis <pgwipeout@gmail.com> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19ARM: tegra114: clock: implement PLLD2 supportSvyatoslav Ryhel2-1/+8
PLLD2 is a simple clock (controlled by 2 registers) and appears starting from T30. Primary use of PLLD2 is as main HDMI clock parent. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19ARM: tegra30: clock: implement PLLD2 supportSvyatoslav Ryhel4-3/+12
PLLD2 is a simple clock (controlled by 2 registers) and appears starting from T30. Primary use of PLLD2 is as main HDMI clock parent. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19ARM: tegra: clock: support get and set rate for simple PLLSvyatoslav Ryhel6-21/+126
Simple PLL clocks like PLLD2 were omitted since they do not share common 4 register structure with main clocks. Such clocks are containd in simple PLL group. Only clock_start_pll function supported them. This patch expands this support on clock_set_rate and clock_get_rate which should make simple PLL clocks equal to main PLL clocks. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19drivers: gpio-uclass: support PMIC GPIO childrenSvyatoslav Ryhel1-0/+20
UCLASS_PMIC may have GPIO children without exposed fdt node, in this case if requesting fails, check if uclass is PMIC. Restrict build for supported devices only to save those precious bytes on devices with no spare memory. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19drivers: gpio: implement PALMAS GPIO cellSvyatoslav Ryhel5-1/+161
Add gpio driver for TI Palmas series PMIC. This has 8 gpio which can work as input/output. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19drivers: gpio: implement MAX77663 GPIO cellSvyatoslav Ryhel6-0/+216
MAXIM Semiconductor's PMIC, MAX77663 has 8 GPIO pins and 3 GPIO-like pins. It also supports interrupts from these pins. Add GPIO driver for these pins to control via GPIO APIs. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19Merge patch series "Fix J7200 kernel boot when using upstream u-boot"Tom Rini2-3/+13
Reid Tonking <reidt@ti.com> says: Since the 09.01.00.002 release of ti-linux-firmware [0] upstream uboot has led to the kernel hanging during boot [1] for the TI J7200 S0C. The issue was found to be a few patches that had be added to ti-u-boot, but not yet upstreamed. This series adds the missing two patches to allow upstream u-boot to boot the kernel properly [2]. [0] https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/commit/?h=ti-linux-firmware-next&id=952fd03e36a50ec070e73560dc1060102d637ce0 Boot logs: [1] https://gist.github.com/reidt1/5f4e85a0db258bcf20d7168bd0caebd0 [2] https://gist.github.com/reidt1/e950dc97f15ad0a09623d64f81edac39 Links to patches on ti-u-boot: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/commit/?h=ti-u-boot-2023.04-next&id=d878fbef4d4460e87608d8d2dfe5311499de49c5 https://git.ti.com/cgit/ti-u-boot/ti-u-boot/commit/?h=ti-u-boot-2023.04-next&id=543e735fe495be233a8a75b19b3d7f8ed44251e0
2023-12-19Merge patch series "Add support for MediaTek MT8365 EVK Board"Tom Rini18-0/+3698
Julien Masson <jmasson@baylibre.com> says: This patch series add the support for the MediaTek MT8365 EVK Board [1]. Most of the code have been copied/adapted from Linux tag v6.7-rc2. For now we only enable/test these features: Boot, UART, Watchdog and MMC. [trini: This includes two clocks not listed in the Linux binding, which needs resyncing later]
2023-12-19Merge branch '2023-12-19-assorted-platform-updates' into nextTom Rini6-17/+26
- Assorted platform updates for TI K3, vexpress64, mediatek and related cleanups to the DW GPIO driver and OPTEE
2023-12-19arm: dts: k3-j7200-r5-common-proc-board: Set parent clock for clock ID 323Reid Tonking1-1/+2
Previously, dynamic frequency scaling supported rates only through fixed divison. This virtual clock mux configuration enables more varied rates on A72 clock ID 202 by setting up the required register. Reviewed-by: Udit Kumar <u-kumar1@ti.com> Signed-off-by: Apurva Nandan <a-nandan@ti.com> Signed-off-by: Reid Tonking <reidt@ti.com>
2023-12-19arm: mach-k3: j72xx: add new 'virtual' muxBryan Brattlof1-2/+11
In order for the Cortex-A72s to operate at different frequencies other than the default 2GHz, add in a new 'virtual' mux (a mux that does not physically exist in the clock tree) that can be selected. CC: Vishal Mahaveer <vishalm@ti.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Signed-off-by: Apurva Nandan <a-nandan@ti.com> Signed-off-by: Reid Tonking <reidt@ti.com> Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2023-12-19board: mediatek: add MT8365 EVK board supportJulien Masson6-0/+761
This adds support for the MT8365 EVK board with the following features enabled/tested: Boot, UART, Watchdog and MMC. Signed-off-by: Julien Masson <jmasson@baylibre.com>
2023-12-19dt-bindings: clock: add Mediatek MT8365 pinctrl bindingsJulien Masson1-0/+858
This adds the pinctrl bindings for Mediatek MT8365 SoC based on the dt-bindings in Linux tag v6.7-rc2. (commit 8b4c397d88d97d4fd9c3f3527aa66688b1a3387a) Signed-off-by: Julien Masson <jmasson@baylibre.com>
2023-12-19arm: mediatek: add support for MediaTek MT8365 SoCJulien Masson6-0/+916
This patch adds basic support for MediaTek MT8365 SoC. The dtsi has been copied from Linux source code tag v6.7-rc2. (commit 9b5d64654ea8f51fe1e8e29ca1777b620be8fb7c) Signed-off-by: Julien Masson <jmasson@baylibre.com>
2023-12-19dt-bindings: power: add power-domain header for MediaTek MT8365 SoCJulien Masson2-0/+20
Add power-domain header for MediaTek MT8365 SoC copied from Linux source code tag v6.7-rc2. (commit a1571f1f333c2fced076f0d54ed771d1838d827f) Signed-off-by: Julien Masson <jmasson@baylibre.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-12-19clk: mediatek: add clock driver support for MediaTek MT8365 SoCJulien Masson2-0/+767
This patch adds clock driver support for MediaTek MT8365 SoC. The changes are based on the Linux source code tag v6.7-rc2. clk-mt8365.c has been written based on these kernel files: - clk-mt8365.c (a96cbb146a9736f501fe66ebda6a9018735e5e8a) - clk-mt8365-apmixedsys.c (65c9ad77cbc0eed78db94d80041aba675cfbdfa9) And adapted following the clk attributes supported by U-Boot. Signed-off-by: Julien Masson <jmasson@baylibre.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-12-19dt-bindings: clock: add Mediatek MT8365 SoC clock bindingsJulien Masson2-0/+376
This adds the clock bindings for Mediatek MT8365 SoC based on the dt-bindings in Linux tag v6.7-rc2. (commit c61978175ac1337f028ac1f956666f16db84f4e5) Signed-off-by: Julien Masson <jmasson@baylibre.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-12-19arm: mach-k3: am625: Relax emmc boot conditionMichael Trimarchi1-5/+2
spl_mmc_emmc_boot_partition return a number different from 0 if the partition is a boot one. We can have the uboot img for instance in a raw offset in emmc partition 0 so we would like to continue to load the next stage. If the user want to use EMMC as boot device allow him to use any part of the emmc and not only boot partition Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2023-12-19mmc: mediatek: set b_max according CONFIG_SYS_MMC_MAX_BLK_COUNTJulien Masson1-1/+1
The block count limit on MMC based devices should be set according to CONFIG_SYS_MMC_MAX_BLK_COUNT instead of hardcoding value. Signed-off-by: Julien Masson <jmasson@baylibre.com>
2023-12-19gpio: dw: Drop unused headersMaksim Kiselev1-8/+2
Drop headers which are not used or needed in this file. Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
2023-12-19tee: optee: don't enumerate services if there ain't anyEtienne Carriere1-2/+8
Change optee driver service enumeration to not enumerate (and allocate a zero sized shared memory buffer) when OP-TEE reports that there is no service to enumerate. This change fixes an existing issue that occurs when the such zero sized shared memory buffer allocated from malloc() has a physical address of offset 0 of a physical 4kB page. In such case, OP-TEE secure world refuses to register the zero-sized shared memory area and makes U-Boot optee service enumeration to fail. Fixes: 94ccfb78a4d6 ("drivers: tee: optee: discover OP-TEE services") Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2023-12-19tee: optee: don't fail on services enumeration failureEtienne Carriere1-1/+1
Change optee probe function to only warn when service enumeration sequence fails instead of reporting an optee driver probe failure. Indeed U-Boot can still use OP-TEE even if some OP-TEE services are not discovered. Fixes: 94ccfb78a4d6 ("drivers: tee: optee: discover OP-TEE services") Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2023-12-19remoteproc: k3-dsp: Avoid reloading of firmwareUdit Kumar1-0/+11
DSP core is going into abnormal state when load callback is called after starting of DSP core. Reload of firmware needs core to be stopped first, followed by load. So avoid loading of firmware, when core is started. Signed-off-by: Udit Kumar <u-kumar1@ti.com>
2023-12-19arm: vexpress64: juno: Allow boot from VirtIORobert Catherall1-0/+1
The AEM and Juno FVPs (Fixed Virtual Platforms) support a VirtIO disc interface. Adding VIRTIO to the list of boot devices allows these FastModel platforms to boot from 'disc' in the same way the hardware counterpart can boot from SATA or USB. This is a NOP if CONFIG_CMD_VIRTIO is not enabled, so no impact on Juno hardware (which is built with vexpress_aemv8a_juno_defconfig) Signed-off-by: Robert Catherall <robert.catherall@arm.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2023-12-19ARM: dts: sync Amlogic GX DT to Linux v6.4Neil Armstrong25-90/+196
Sync Amlogic GXBB, GXL & GXM DTs from Linux v6.4, and also switch to GXL MDIO MUX driver to adapt to DT change, Most of the changes are only cosmetic or doesn't concern U-Boot, the most important change for U-Boot is the GXL mdio mux compatible switch to amlogic,gxl-mdio-mux. Link: https://lore.kernel.org/r/20231213-u-boot-gxl-mdio-mux-v2-2-c56bb02a75ea@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-12-19net: Add Amlogic GXL MDIO Mux driverNeil Armstrong3-0/+146
Port the mdio-mux-meson-gxl.c Linux driver introduced in [1], and adapt it to U-Boot. This driver is needed to boot U-Boot with Linux DT since v6.4, since it switched the MDIO mux from the mmio to a proper GXL driver. [1] 9a24e1ff4326 ("net: mdio: add amlogic gxl mdio mux support") Link: https://lore.kernel.org/r/20231213-u-boot-gxl-mdio-mux-v2-1-c56bb02a75ea@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-12-18Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv ↵WIP/18Dec2023-nextTom Rini18-46/+273
into next - VisionFive2: Enable CONFIG_SYSRESET - StarFive: Modify starfive timer driver - AMD/Xilinx: Add MicroBlaze V support - Unmatched: Migrate to text environment
2023-12-18Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-spi ↵Tom Rini11-7/+210
into next - spi_nor_read_sfdp_dma_unsafe (Vaishnav) - w25q01/02 (Jim)
2023-12-18Merge tag 'v2024.01-rc5' into nextTom Rini78-2227/+1015
Prepare v2024.01-rc5
2023-12-18Prepare v2024.01-rc5v2024.01-rc5Tom Rini2-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-12-18riscv: sifive: unmatched: migrate to text environmentYong-Xuan Wang3-38/+20
Migrate to the new environment format and drop most of the config.h. Signed-off-by: Yong-Xuan Wang <yongxuan.wang@sifive.com> Reviewed-by: Tom Rini <trini@konsulko.com>