summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-11configs: endeavoru: add 3 second delay before power offSvyatoslav Ryhel
Introduce a 3-second delay and an informational message during boot to enhance user experience. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-03-11configs: transformer: add 3 second delay before power offSvyatoslav Ryhel
Introduce a 3-second delay and an informational message during boot to enhance user experience. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-03-11ARM: tegra20: mark second DC with bootph-allSvyatoslav Ryhel
For the Tegra 2, similar to other Tegra SoC generations, 'bootph-all' must be applied to both display controllers. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-03-11ARM: tegra: clock: fix PLLD/PLLD2 related clock calculationsJonas Schwöbel
While PLLD/D2 is the nominal parent clock, all derived clocks are generated from its single output, plld_out0, which is PLLD/D2 divided by two. Direct use of PLLD/D2 is absent in peripheral clock configurations. Therefore, clock derivation formulas must take in account this division. Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-03-11common: edid: update timing selection logicJonas Schwöbel
Older EDID timing algorithms relied solely on detailed timings, typically optimized for a display's native resolution. This caused issues with newer 4K panels on older hardware, which couldn't handle those high resolutions. To address this, the algorithm now also considers standard timings, offering lower, compatible resolutions. Future improvements may include checking established timings for even broader compatibility. Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-03-11board: xiaomi: mocha: add Xiaomi Mi Pad A0101 supportSvyatoslav Ryhel
The Mi Pad is a tablet computer based on Nvidia Tegra K1 SoC which originally ran the Android operating system. The Mi Pad has a 7.9" IPS display with 1536 x 2048 (324 ppi) resolution. 2 GB of RAM and 16/64 GB of internal memory that can be supplemented with a microSDXC card giving up to 128 GB of additional storage. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26ARM: tegra124: implement BCT patchingSvyatoslav Ryhel
This function allows updating bootloader from u-boot on production devices without need in host PC. Be aware! It works only with re-crypt BCT and AES encrypted devices. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: panel: add Sharp LQ079L1SX01 MIPI DSI panel driverSvyatoslav Ryhel
This module is a color active matrix LCD module incorporating Oxide TFT (Thin Film Transistor). It is composed of a color TFT-LCD panel, driver ICs, a control circuit and power supply circuit, and a backlight unit. Graphics and texts can be displayed on a 1536x2048 dots panel with (16,777,216) colors by using MIPI DUAL DSI interface, supplying +3.3V DC supply voltage for TFT-LCD panel driving and supplying DC supply voltage for LED Backlight. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: add TI LP855x backlight driverSvyatoslav Ryhel
Add support for National Semiconductor/TI LP8550/1/2/3/5/6/7 LED Backlight. Driver is based on Linux version but is reworked and optimised for U-Boot DM framework. Currently only register driven backlight control is supported, PWM driver backlight control may be added later if needed. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: mipi: add Tegra K1 supportSvyatoslav Ryhel
Re-design MIPI calibration driver to fit T124. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dc: dsi: add Tegra K1 compatibleSvyatoslav Ryhel
Tegra K1 is fully compatible with existing DC and DSI implementation using Tegra 4 data. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26pinctrl: tegra: add Tegra K1 supportSvyatoslav Ryhel
Tegra 124 is fully compatible with existing Tegra pincontrol driver, but it needs a specific MIPI PAD control pinconfig. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26ARM: tegra: endeavoru: adjust panel nodeSvyatoslav Ryhel
Bind panel in Linux-style, as DSI child. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dsi: pass source on DSI configurationSvyatoslav Ryhel
Parametrize DSI configuration by passing DC source pipe. This should resolve possible failure if second DC is used with DSI for some reason. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dsi: calculate lanes for ganged modeSvyatoslav Ryhel
Use Linux DSI driver approach to calculate lanes for ganged mode. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dsi: calculate packet parameters for video modeSvyatoslav Ryhel
Calculate packet parameters for video mode same way it is done or command mode, by halving timings plugged into equations. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dsi: make SOL delay calculation mode independentSvyatoslav Ryhel
Move SOL delay calculation outside of video mode conditions. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dsi: align ganged mode implementationSvyatoslav Ryhel
Align U-Boot DSI ganged mode implementation with the Linux kernel's implementation. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dsi: switch to newer clk APISvyatoslav Ryhel
Switch to struct clk instead of working with plain clock id. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dsi: check for panels among child nodesSvyatoslav Ryhel
Switch to Linux-like approach of DSI panel binding as a DSI controllers child node. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dc: improve code qualitySvyatoslav Ryhel
Mainly unification and improving of readability. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dc: remove excessive headersSvyatoslav Ryhel
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dc: remove hardcoded Tegra 2 specific partsSvyatoslav Ryhel
Since pinmux driver now is available for Tegra 2, these parts may be removed from here and defined either in device tree or in the device board files. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-26video: tegra20: dc: switch to newer clk APISvyatoslav Ryhel
Switch to struct clk instead of working with plain clock id. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-02-24Prepare v2025.04-rc3v2025.04-rc3Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2025-02-24mmc: Fix size calculation for sector addressed MMC version 4Marek Vasut
For eMMC v4 and newer that is smaller than 2 GiB, the JEDEC JESD84-B51 section 6.2.4 Configure partitions indicates that EXT_CSD SEC_COUNT should not be used to determine device size, and instead device size should be calculated from C_SIZE and C_SIZE_MULT. This is not exactly accurate, the 2 GiB limit is not a hard line, there are eMMC devices which are smaller than 2 GiB and still require device size to be determined from EXT_CSD SEC_COUNT. The hard line is instead OCR HCS bit, which indicates whether the device is byte or sector addressed, the former applies to most devices below 2 GiB, and the later applies mostly to devices above 2 GiB. However, there are a couple of devices which are smaller than 2 GiB and still set the OCR HCS bit to indicate they are sector addressed, and therefore the size calculation for those devices should also use EXT_CSD SEC_COUNT . Use mmc->high_capacity flag to discern the devices instead of arbitrary 2 GiB limit. The mmc->high_capacity flag reflects the OCR HCS bit state. Fixes: 639b7827d1ca ("mmc: fix the condition for MMC version 4") Signed-off-by: Marek Vasut <marex@denx.de>
2025-02-24fs/squashfs: fix potential integer overflowsJoao Marcos Costa
The length of buffers used to read inode tables, directory tables, and reading a file are calculated as: number of blocks * block size, and such plain multiplication is prone to overflowing (thus unsafe). Replace it by __builtin_mul_overflow, i.e. safe math. Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
2025-02-22Merge branch 'picasso' of https://source.denx.de/u-boot/custodians/u-boot-tegraTom Rini
Branch contains bringup of Acer Iconia Tab A500 (codename picasso), a Tegra 2 Android device with decent Linux kernel support. Ondevice tests and U-Boot test suit all passed.
2025-02-20Merge tag 'efi-2025-04-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi CI: * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/24709 UEFI: * create a parent device for all EFI block devices * move lmb_map_update_notify() to EFI * make efi_add_memory_map_pg() static * remove comparisons to string literals from runtime * ix potential deref-after-null Other: * avoid superfluous value check in lmb_map_update_notify() * support more efi protocols in uuid_guid_get_str()
2025-02-20Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini
CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/24692 - board: VisionFive 2: Update maintainer file - configs: starfive: Add LwIP network and wget command - configs: microchip: set DEFAULT_FDT_FILE
2025-02-20Merge tag 'u-boot-rockchip-20250220' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/24690 Please pull the fixes for rockchip platform: - Fix for rk3399 bob and kevin - Fix for sdram more than 4GB - Fix for dwc_eth on rk356x/rk3588 - Fix for sdmmc access on rk33080rock-s9
2025-02-20efi_loader: make efi_add_memory_map_pg() staticHeinrich Schuchardt
The function is only used in the efi_memory.c module. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-02-20lmb: move lmb_map_update_notify() to EFIHeinrich Schuchardt
When building with qemu_arm64_defconfig with CONFIG_CC_OPTIMIZE_FOR_DEBUG=y and CONFIG_EFI_LOADER=n an error undefined reference to efi_add_memory_map_pg occurs. Move the EFI dependent part of lmb_map_update_notify() to the EFI sub-system. Reported-by: Liya Huang <1425075683@qq.com> Acked-by: Liya Huang <1425075683@qq.com> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-02-20lmb: avoid superfluous value check in lmb_map_update_notify()Heinrich Schuchardt
Instead of testing the value of parameter op at runtime use an enum to ensure that only valid values are used. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-02-20efi_driver: create a parent device for all EFI block devicesHeinrich Schuchardt
Up to now root has been the parent device for all block devices created via calling ConnectController(). This does not work well together with the implementation of bootstd. Add a dummy parent device for all EFI block devices. With this change EFI block devices are also accessible via commands like 'cat', 'load', and 'ls'. => dm tree Class Seq Probed Driver Name ----------------------------------------------------------- efi 0 [ + ] EFI block driver `-- efi blk 3 [ + ] efi_blk `-- efi.efiblk#0 partition 0 [ + ] blk_partition `-- efi.efiblk#0:1 => ls efiloader 0:1 13 hello.txt 7 u-boot.txt 2 file(s), 0 dir(s) => cat efiloader 0:1 hello.txt Hello world! => efidebug dh 0000000018df1700 (efi.efiblk#0:1) /VenHw(dbca4c98-6cb0-694d-0872-819c650cb7b8)/HD(1,MBR,0xd1535d21,0x1,0x7f) Block IO Simple File System Adjust the event dump unit test to consider the new event spy. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-02-20efi_loader: remove comparisons to string literals from runtimeIlias Apalodimas
For EFI runtime services, we manage to preserve string literals by placing the .efi_runtime section just before .data and preserving it when marking the runtime memory by marking surrounding boottime code as runtime. This is ok for now but will break if we update any linker scripts and decouple .text and .runtime sections. So let's define the strings we used to compare in the appropriate section for runtime services Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
2025-02-20efi_loader: Fix potential deref-after-nullMaks Mishin
After having been compared to a NULL value at efi_disk.c:426, pointer 'part_info' is dereferenced at efi_disk.c:534. Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-02-20lib: uuid: support more efi protocols in uuid_guid_get_str()Vincent Stehlé
Add more EFI protocols GUIDs to the translation table used by uuid_guid_get_str(). Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com> Cc: Tom Rini <trini@konsulko.com>
2025-02-20configs: starfive: use LwIP network stack and enable wget commandE Shattow
Use LwIP network stack and enable wget HTTP command. The tftpput command is not currently supported by LwIP network stack so remove it. Signed-off-by: E Shattow <e@freeshell.de> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2025-02-20board: starfive: Update the maintainer file for VisionFive 2 boardHal Feng
Update the maintainer file and mark jh7110 / visionfive2 related files with N: patterns. Signed-off-by: Hal Feng <hal.feng@starfivetech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2025-02-20configs: microchip_mpfs_icicle: set DEFAULT_FDT_FILEHeinrich Schuchardt
Variable $fdtfile needs to be set for automatically loading a device-tree from the ESP or boot partition. * Set CONFIG_DEFAULT_FDT_FILE in the defconfig. * Add $fdtfile to the default environment. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2025-02-19arm64: dts: rockchip: Fix sdmmc access on rk3308-rock-s0 v1.1 boardsJonas Karlman
BootROM leave GPIO4_D6 configured as SDMMC_PWREN function and DW MCI driver set PRWEN high on MMC_POWER_UP and low on MMC_POWER_OFF. Similarly U-Boot also set PRWEN high before accessing mmc. However, HW revision prior to v1.2 must pull GPIO4_D6 low to access sdmmc. For HW revision v1.2 the state of GPIO4_D6 has no impact. Model an always-on active low fixed regulator using GPIO4_D6 to fix use of sdmmc on older HW revisions of the board. Fixes: adeb5d2a4ba4 ("arm64: dts: rockchip: Add Radxa ROCK S0") Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Link: https://lore.kernel.org/r/20241119230838.4137130-1-jonas@kwiboo.se Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: 26c100232b09ced0857306ac9831a4fa9c9aa231 ] (cherry picked from commit ca8e0bedbc790b19b11efc223677d178b8eeb74e) Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2025-02-19net: dwc_eth_qos_rockchip: Fix disable of RX/TX delay for RK3588Jonas Karlman
When rgmii-rxid/txid/id phy-mode is used the MAC should not add RX and/or TX delay. Currently RX/TX delay is configured as enabled using zero as delay value for the rgmii-rxid/txid/id modes. Change to disable RX and/or TX delay and using zero as delay value. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-02-19net: dwc_eth_qos_rockchip: Fix disable of RX/TX delay for RK356xJonas Karlman
When rgmii-rxid/txid/id phy-mode is used the MAC should not add RX and/or TX delay. Currently RX/TX delay is configured as enabled using zero as delay value for the rgmii-rxid/txid/id modes. Change to disable RX and/or TX delay and using zero as delay value. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-02-19pinctrl: rockchip: rk3328: Fix pinmux for GPIO2-B and GPIO3-B pinsJonas Karlman
The pinmux bits for GPIO2-B0 to GPIO2-B6 actually have 2 bits width, correct the bank flag for GPIO2-B. The pinmux bits for GPIO2-B7 is recalculated so it remain unchanged. Add missing GPIO3-B1 to GPIO3-B7 pinmux data to rk3328_mux_recalced_data as mux register offset for these pins does not follow rockchip convention. This matches changes in following Linux commits: - e8448a6c817c ("pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins") - 5ef6914e0bf5 ("pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins") - 128f71fe014f ("pinctrl: rockchip: correct RK3328 iomux width flag for GPIO2-B pins") Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-02-19rockchip: rk3288: Use rk3288-cru.h from dts/upstreamJonas Karlman
clock/rk3288-cru.h in include/dt-bindings is almost identical to the version in dts/upstream, remove the copy from include/dt-bindings to only use the version from dts/upstream. One clk, SCLK_MAC_PLL, is not part of the upstream bindings, this clk is not used by upstream, in-tree or vendor DTs and can safely be dropped. No functional change to board DTs is intended with this removal. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-02-19rockchip: use OF_UPSTREAM for rk3036Johan Jonker
The device tree for rk3036 combined is now available in the /dts/upstream directory. Use imply OF_UPSTREAM to migrate all rk3036 boards. Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2025-02-19rockchip: sdram: Ensure ram_base is correct in SPLJonas Karlman
Most Rockchip SoCs use 0x0 as DRAM base address, however some SoCs use 0x60000000 and RK3576 use 0x40000000 as DRAM base address. CFG_SYS_SDRAM_BASE is defined with correct address for each SoC and U-Boot proper use this to set correct gd->ram_base in setup_dest_addr(). SPL never assign any value to gd->ram_base and instead use the default, 0x0. Set correct gd->ram_base in dram_init() to ensure its correctness in SPL. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-02-19rockchip: sdram: Limit usable ram_top to max 4GJonas Karlman
U-Boot only works correctly when it uses RAM below the 4G address boundary on Rockchip SoCs. Limit usable gd->ram_top to max 4G. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-02-19rockchip: sdram: Allow the first bank to extend beyond 4 GiBJonas Karlman
Allow the first bank to extend beyond 4 GiB when the blob of space for peripheral is located before start of DRAM, e.g. when start of DRAM is 0x40000000 and continue beyond the 4 GiB mark. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>