- Dec 12, 2023
-
-
https://gitlab.denx.de/u-boot/custodians/u-boot-imxTom Rini authored
- Fix emmc detection on colibri_imx7 - Fix DDR configuration on tqma6 to improve Ethernet performance - Fix aliases and chosen nodes indentation on imx7s-warp - Convert pico-imx6ul to DM_SERIAL - Convert pico-pi-imx7d to watchdog driver model to fix 'reset' command - Select CONFIG_NET_RANDOM_ETHADDR on imx8mp_evk to fix networking on older boards - Add USBH_EN gpio hog to fix USB host interface not working on some Apalis Toradex carrier boards with Apalis iMX8 SoM - Add PCI fixup for GW73xx-F+ - Fix broken EEPROM read on imx8mn-var-som
-
Later versions of Colibri iMX7D V1.1B modules use a "new" SoC fusing. The difference lies in whether we enable the boot ROM to use the eMMC reset signal. Depending on the SoC fuse, the boot ROM configures this pin as a GPIO output to drive the reset signal. Our eMMC vs NAND detection currently only sets that signal to a GPIO without explicitly setting any direction. Previously, by default, it was set as an input. As the boot ROM now configures it as an output, we receive a value of zero instead of one, indicating the absence of the pull-up on eMMC modules. To fix this, set the SION bit, allowing the reading back of the value even if it is configured as an output by the boot ROM. It's important to note that with the new SoC fusing, we now read back what the boot ROM drives rather than the real value caused by the pull-up resistor. However, if it were ever driven low, the eMMC would permanently be reset. In addition, remove hard-coded variant in the eMMC build case as since the commit 0c39564d ("toradex: colibri_imx7: Enable nand/emmc detection and set boot variant") will anyways always get overridden by the detection routing in board code. Fixes: 0c39564d ("toradex: colibri_imx7: Enable nand/emmc detection and set boot variant") Signed-off-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by:
Hiago De Franco <hiago.franco@toradex.com>
-
Initially investigating a Linux network issue causing a lot of drop and poor network performances on a custom system based on a TQMA6A module (based on an iMX6Q), [1st link below]. I eventually correlated my observations with a contention at the NIC level when in concurrency with the graphics pipeline. Troubleshooting this in the kernel lead to disabling DMA bursts accesses made by the IPU in order to avoid triggering the QoS at the interconnect level, reducing from 50 to 10% the drop rate on eth0, [2nd link below]. The solution worked on my setup but not on others, which still suffered from abnormally high drop rates even with this "fix". After looking a while into TQ Systems BSP I figured out a number of differences in recent U-Boot out-of-tree patches they had in their repository [3rd link]. Parsing the differences one after the other lead me to this final solution. The reset pad of the DDR controller was apparently misconfigured, Bit 18-19 picturing the "DDR select field". The current value b11 is reserved. The only defined value as of version 6 of the iMX6Q manual was b00 "DDR3 and LPDDR2 mode". In practice no register difference has been spotted after changing this configuration but all issues tracked thus far just vanished. All previous fixes have been proven irrelevant. Just clearing this field solved all our network issues and the drop rate as measured by iperf3 felt back to 0%. Link: https://lore.kernel.org/netdev/20231012193410.3d1812cf@xps-13/ Link: https://lists.freedesktop.org/archives/dri-devel/2023-October/428251.html Link: https://github.com/tq-systems/u-boot-tqmaxx/commit/15eb6abbefbf6916c28467b85485911dad3da6bc Signed-off-by:
Miquel Raynal <miquel.raynal@bootlin.com> Reviewed-by:
Fabio Estevam <festevam@gmail.com>
-
The aliases and chosen nodes are currently indented using spaces. Fix them to use the standard tab indentation. Signed-off-by:
Fabio Estevam <festevam@denx.de>
-
The conversion to DM_SERIAL is mandatory, so select this option. Signed-off-by:
Fabio Estevam <festevam@denx.de>
-
Commit 68dcbdd5 ("ARM: imx: Add weak default reset_cpu()") caused the 'reset' command in U-Boot to not cause a board reset. Fix it by switching to the watchdog driver model via sysreset, which is the preferred method for implementing the watchdog reset Signed-off-by:
Fabio Estevam <festevam@denx.de>
-
On an early revision of the imx8mp-evk that I have access to, the MAC addresses fuses are not programmed, causing failure to bring the Ethernet interfaces. Fix this problema by selecting CONFIG_NET_RANDOM_ETHADDR so that random MAC addresses are assigned and the Ethernet ports become functional out of the box. Signed-off-by:
Fabio Estevam <festevam@denx.de>
-
USB host interface is not working on some Apalis Toradex carrier boards with Apalis iMX8 SoM. This is due to USBH_EN pin, which powers USB peripherals, having a strong pull-down on some boards, and a weak pull-down on the others. This USBH_EN pin is left unconfigured, which means it is in its default state at cold boot: input with a strong pull-up. As a result, carrier boards with a weak pull-down have this signal high enough to trigger power delivery to USB peripherals, and opposite - boards with strong pull-down on USBH_EN have this signal below the threshold needed to trigger USB power delivery. This change configures the USBH_EN pin as gpio hog, fixing this issue for all Apalis carrier boards regardless of pull-down resistor value. Also, update apalis-imx8_defconfig via savedefconfig. Signed-off-by:
Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Reviewed-by:
Fabio Estevam <festevam@gmail.com>
-
Tim Harvey authored
GW73xx-F board revision switched back to the original PCIe switch due to part availability. Signed-off-by:
Tim Harvey <tharvey@gateworks.com> Reviewed-by:
Fabio Estevam <festevam@gmail.com>
-
Hugo Villeneuve authored
On branch WIP/17Oct2023, the EEPROM can no longer be read: U-Boot 2023.10-latest (Oct 17 2023 - 15:53:43 -0400) CPU: Freescale i.MX8MNano Quad rev1.0 at 1200 MHz Reset cause: POR Model: Variscite VAR-SOM-MX8MN Symphony evaluation board var_read_som_eeprom: uclass_get_device_by_of_offset() failed: -19 initcall failed at call 000000004022207c (err=-19) Convert EEPROM-related properties to bootph-all so that the EEPROM can also be read outside of SPL. Fixes: 9e644284 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation") Signed-off-by:
Hugo Villeneuve <hvilleneuve@dimonoff.com> Reviewed-by:
Fabio Estevam <festevam@gmail.com>
-
- Dec 09, 2023
-
-
Tom Rini authored
Recently pylint has started to complain about: No name 'fs_helper' in module 'tests' (no-name-in-module) Due to: from tests import fs_helper However, we have: test/py/tests/fs_helper.py And since we do not want to add a dummy test/py/tests/__init__.py to silence this warning we instead just disable it as needed. Cc: Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Rini <trini@konsulko.com>
-
https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini authored
- StarFive: Add StarFive watchdog driver - VisionFive2: Support device tree overlay for VisionFive2 board - Andes: Fix PLIC-SW setting - RISC-V: Fix NVMe support by implying NVME_PCI for QEMU - RISC-V: Fix binman for 64 bit format load address
-
Tom Rini authored
To quote the author: Currently bootmeth_efi crashes while doing a network (dhcp) boot. This patch series fixes issues and both network and disk boot works. # Do not modify or remove the line above. # Everything below it will be ignored. # # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # An empty message aborts the commit.
-
bootmeth_efi doesn't allocate any buffer to load efi in any case. enable static buffer flag for all cases. Reviewed-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Shantur Rathore <i@shantur.com>
-
While booting with efi, if fdt isn't available externally, just use the built-in one. Reviewed-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Shantur Rathore <i@shantur.com>
-
We need to set boot->fname before calling efi_set_bootdev otherwise this crashes as bflow->fname is null. Reviewed-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Shantur Rathore <i@shantur.com>
-
bootmeth_efi sets up bootp_arch which is read later in bootp.c Currently bootp_arch is being set as integer string and being read in bootp.c as hex, this sends incorrect arch value to dhcp server which in return sends wrong file for network boot. For ARM64 UEFI Arch value is 0xb (11), here we set environment as 11 and later is read as 0x11 and 17 is sent to dhcp server. Setting it as hex string fixes the problem. Reviewed-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Shantur Rathore <i@shantur.com>
-
The memory maps for Apple's M2 Pro/Max/Ultra left MMIO space out which was not used by any driver at the time. The display out exposed as simple-framebuffer use a power-domain controlled by a device in an unmapped region. Add a map covering this region as well as another MMIO region in the range 0x4'0000'0000 - 0x5'0000'0000. The added regions cover all MMIO annotated in Apple's device tree in this range. Signed-off-by:
Janne Grunau <j@jannau.net> Reviewed-by:
Eric Curtin <ecurtin@redhat.com> Reviewed-by:
Neal Gompa <neal@gompa.dev> Reviewed-by:
Mark Kettenis <kettenis@openbsd.org>
-
https://source.denx.de/u-boot/custodians/u-boot-amlogicTom Rini authored
- Add missing DM_USB_GADGET to amlogic boards
-
https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini authored
The first four patches are actual fixes. The last three patches add support for the apparently popular OrangePi Zero 3 board: multiple people seem to be champing at the bit, so I'd rather give them something real instead of people using random trees they found on the Internet. It's actually mostly the new defconfig file anyway, so the chances for regressions are very slim.
-
https://source.denx.de/u-boot/custodians/u-boot-efiTom Rini authored
Pull request efi-2024-01-rc5 Documentation: * Update and correct support notes on clang * sandbox: Fix VPL instructions UEFI: * Fix a bug in DisconnectController * Provide better error messages for missing CONFIG_EFI_CAPSULE_ESL_FILE * Create EFI memory reservations when booting via ACPI * Make ACPI tables accessible in EFI app
-
- Dec 07, 2023
-
-
Neil Armstrong authored
Since commit b96640cb ("ARM: meson: g12a: switch dwc2 otg to DM") and commit e327e2af ("ARM: meson: switch AXG & GX dwc2 otg to DM") Amlogic boards now requires DM_USB_GADGET to have USB Gadget to work. Add it to the boards configs as returned by: $ grep -L DM_USB_GADGET $(grep -l CONFIG_USB_GADGET $(grep -l MESON configs/*)) Fixes: b96640cb ("ARM: meson: g12a: switch dwc2 otg to DM") Fixes: e327e2af ("ARM: meson: switch AXG & GX dwc2 otg to DM") Link: https://lore.kernel.org/r/20231206-u-boot-m2s-fix-usb-gadget-v1-1-1c4c66cd10f3@linaro.org Signed-off-by:
Neil Armstrong <neil.armstrong@linaro.org>
-
- Dec 06, 2023
-
-
André Przywara authored
The OrangePi Zero 3 is a small development board featuring the Allwinner H618 SoC, shipping with up to 4GB of DRAM, Gigabit Ethernet, a micro-HDMI connector and two USB sockets. The board uses LPDDR4 DRAM and an X-Powers AXP313a PMIC, support for which was recently added to U-Boot. Add a defconfig file selecting the right drivers and DRAM options. Since the .dts file was synced from the Linux kernel repo already, we just need to add one line to the Makefile to actually build the .dtb. The DRAM parameters were derived from the values found in the BSP DRAM drivers on the SPI NOR flash. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Tested-by:
Mikhail Kalashnikov <iuncuim@gmail.com> Tested-by:
Bob McChesney <bob@electricworry.net> Tested-by:
Stephen Graf <stephen.graf@gmail.com>
-
André Przywara authored
The original H616 devices released about three years ago were typically paired with an X-Powers AXP305 PMIC. Newer devices uses the smaller AXP313, and there seem to be far more systems with this PMIC around now. Remove the default AXP305 selection for the H616 SoC from the Kconfig, and move the PMIC selection into the board defconfig files instead. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Reviewed-by:
Jaehoon Chung <jh80.chung@samsung.com>
-
André Przywara authored
Add support for the zBIT ZB25VQ128 (128M-bit) SPI NOR flash memory chip, as used on the Xunlong Orange Pi Zero 3 board. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Reviewed-by:
Dragan Simic <dsimic@manjaro.org>
-
The current emac setting is not suitable for Orange Pi Zero 3, move it back to Orange Pi Zero 2 DT. Also update phy mode and delay values for emac on Orange Pi Zero 3. With these changes, Ethernet now looks stable. Fixes: 95c3b063 ("sunxi: dts: arm64: update devicetree files from Linux-v6.6-rc6") Signed-off-by:
Chukun Pan <amadeus@jmu.edu.cn> Reviewed-by:
Jernej Skrabec <jernej.skrabec@gmail.com>
-
The mtd_debug write does not work in this context. The flashcp command does work, provides both the erase and write functions and with the verbose option gives good feedback. Signed-off-by:
Stephen Graf <stephen.graf@gmail.com> Reviewed-by:
Andre Przywara <andre.przywara@arm.com>
-
André Przywara authored
When using the USB OTG FEL mode on the Allwinner H616, the BootROM stores some data at the end of SRAM C. This is also the location where we place the initial SPL stack, so it will overwrite this data. We still need the BROM code after running the SPL, so should leave that area alone. Interestingly this does not seem to have an adverse effect, I guess on the "way out" (when we return to FEL after the SPL has run), this data is not needed by the BROM, for just the trailing end of the USB operation. However this is still wrong, and we should not clobber BROM data. Lower the SPL stack address to be situated right below the swap buffers we use in sunxi-fel: that should be out of the way of everyone else. This obsoletes a previous commit (eb53e774) with the same name: that one was changing the address in an *unused* macro in sunxi_common.h, so the previous patch didn't have any effect at all. Fixes: eb53e774 ("sunxi: h616: lower SPL stack address to avoid BROM data") Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
André Przywara authored
The OrangePi Zero 2 has a USB VBUS regulator, controlled by pin PC16. This is correctly described in the DT, but the patches for supporting this are still pending. Meanwhile add our good old CONFIG_USB1_VBUS_PIN to the defconfig file, to enable power on the USB port and allow using a USB flash drive, for instance. Fixes: 6acc5fa5 ("sunxi: H616: enable USB support for H616 boards") Reported-by:
Mikhail Kalashnikov <iuncuim@gmail.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
John Clark authored
device tree overlay support requires fdtoverlay_addr_r to be set before ~~~~~~ Invalid fdtoverlay_addr_r for loading overlays after ~~~~~ Retrieving file: /boot/overlay/rtc-ds3231.dtbo Signed-off-by:
John Clark <inindev@gmail.com> Reviewed-by:
Leo Yu-Chi Liang <ycliang@andestech.com>
-
Randolph authored
Using /bits/ 64 prefix for 64 bits address Signed-off-by:
Randolph <randolph@andestech.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Yu Chien Peter Lin authored
On 32-core platform, hart31 gets stuck at secondary_hart_loop as the corresponding enable bit is not set in enable_ipi(). We should program the next word (0x2f84) which is assigned as the enable register of hart31. It should be done in the same way when we invoke riscv_send_ipi() to trigger software interrupt on hart31. The following diagram shows the enable bits of the fixed PLICSW scheme. Pending regs: 0x1000 x---0---0---0---0------0---0 Pending hart ID: 0 1 2 3 ... 30 31 Interrupt ID: 0 1 2 3 4 ... 31 32 | | | | | | | Enable regs: 0x2000 x---1---0---0---0-...--0---0---> hart0 | | | | | | | 0x2080 x---0---1---0---0-...--0---0---> hart1 | | | | | | | 0x2100 x---0---0---1---0-...--0---0---> hart2 | | | | | | | 0x2180 x---0---0---0---1-...--0---0---> hart3 . . . . . . . . . . . . . . . . . . . . . 0x2f00 x---0---0---0---0-...--1---0---> hart30 | | | | | | | 0x2f80 x---0---0---0---0-...--0---1---> hart31 <-------- word 0 -------><--- word 1 ---> This patch includes some cleanups to macros/functions. Fixes: ebf11273220a ("riscv: andes: Rearrange Andes PLICSW to single-bit-per-hart strategy") Signed-off-by:
Yu Chien Peter Lin <peterlin@andestech.com> Reviewed-by:
Randolph <randolph@andestech.com>
-
Heinrich Schuchardt authored
CONFIG_NVME=y without CONFIG_NVME_PCI=y does not provide working NVMe support. Instead of implying CONFIG_NVME we must imply CONFIG_NVME_PCI which will select CONFIG_NVME. Fixes: e64db0d9 ("riscv: qemu: Enable e1000 and nvme support") Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by:
Mark Kettenis <kettenis@openbsd.org>
-
- Dec 05, 2023
-
-
Chanho Park authored
Enables StarFive Watchdog driver and WDT command. Signed-off-by:
Chanho Park <chanho61.park@samsung.com> Reviewed-by:
Leo Yu-Chi Liang <ycliang@andestech.com>
-
Chanho Park authored
Adds jh7110 watchdog device tree node. Signed-off-by:
Chanho Park <chanho61.park@samsung.com> Reviewed-by:
Leo Yu-Chi Liang <ycliang@andestech.com>
-
Chanho Park authored
Add to support StarFive watchdog driver. The driver is imported from linux kernel's drivers/watchdog/starfive-wdt.c without jh7100 support because there is no support of jh7100 SoC in u-boot yet. Howver, this patch has been kept the variant coding style because JH7100 can be added later and have a consistency with the linux driver. Signed-off-by:
Chanho Park <chanho61.park@samsung.com> Reviewed-by:
Leo Yu-Chi Liang <ycliang@andestech.com>
-
Chanho Park authored
Add JH7110_SYSCLK_WDT_APB and JH7110_SYSCLK_WDT_CORE clocks for JH7110 watchdog device. Signed-off-by:
Chanho Park <chanho61.park@samsung.com> Reviewed-by:
Leo Yu-Chi Liang <ycliang@andestech.com>
-
commit 239d59a6 ("efi_loader: reconnect drivers on failure") tried to fix the UninstallProtocol interface which must reconnect any controllers it disconnected by calling ConnectController() in case of failure. However, the reconnect functionality was wired in efi_disconnect_all_drivers() instead of efi_uninstall_protocol(). As a result some SCT tests started failing. Specifically, BBTestOpenProtocolInterfaceTest333CheckPoint3() test - Calls ConnectController for DriverImageHandle1 - Calls DisconnectController for DriverImageHandle1 which will disconnect everything apart from TestProtocol4. That will remain open on purpose. - Calls ConnectController for DriverImageHandle2. TestProtocol4 which was explicitly preserved was installed wth BY_DRIVER attributes. The new protocol will call DisconnectController since its attributes are BY_DRIVER|EXCLUSIVE, but TestProtocol4 will not be removed. The test expects EFI_ACCESS_DENIED which works fine. The problem is that DisconnectController, will eventually call EFI_DRIVER_BINDING_PROTOCOL.Stop(). But on the aforementioned test this will call CloseProtocol -- the binding protocol is defined in 'DBindingDriver3.c' and the .Stop function uses CloseProtocol. If that close protocol call fails with EFI_NOT_FOUND, the current code will try to mistakenly reconnect all drivers and the subsequent tests that rely on the device being disconnected will fail. Move the reconnection in efi_uninstall_protocol() were it belongs. Fixes: commit 239d59a6 ("efi_loader: reconnect drivers on failure") Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Heinrich Schuchardt authored
ACPI tables cannot convey memory reservations for ARM and RISC-V. x86 uses the BIOS E820 table for this purpose. We cannot simply ignore the device-tree when booting via ACPI. We have to assign EfiReservedMemory according to the prior stage device-tree ($fdtaddr) or as fallback the control device-tree ($fdtcontroladdr). Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
The printf() %pU option decodes GUIDs so it is not necessary to do this first. Drop the incorrect code. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-