summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-11net: ftgmac100: Add Aspeed AST2700 supportJacky Chou
Add support of Aspeed AST2700 SoC. AST2700 is based on ARM64 so modify the DMA address related code to fit both ARM and ARM64. Besides, the RMII/RGMII mode control register is moved from SCU500 to MAC50 so initialize the register in ftgmac100_start correspondingly. Signed-off-by: Jacky Chou <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11net: ftgmac100: Modify desc. size to cache lineJacky Chou
The TX/RX descriptor size is 16 byte. When the cache line size is larger than 16 bytes, descriptors flushed to RAM will flush more than one descriptor. It is possible that it may mistakenly flush to other descriptor that has been updated by MAC in RAM. To avoid this issue, align the descriptors to cache line size. Only one desc will be flushed or invalidated at a time. Signed-off-by: Jacky Chou <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11net: ftgmac100: Fixed NC-SI PHY device cannot getJacky Chou
The NC-SI interface does not need the MDIO bus and the NC-SI PHY device cannot get from dm_eth_phy_connect. Therefore, use phy_connect directly here. Signed-off-by: Jacky Chou <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11net: ftgmac100: Fixed the cache coherency issues of rx memoryJacky Chou
When executing TFTP, the ARP will be replied to after receiving the ARP. U-boot's ARP routine modifies the data in the receive packet in response to the ARP packet and then copies it into the transmit packet. At this point, the received packet cache is inconsistent. It is possible that the cache will perform a writeback action to affect the MAC receiving packets. Avoid the same problem that occurs in other networking protocols. In the free_pkt function, ensure cache and memory consistency. Signed-off-by: Jacky Chou <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11riscv: dts: sophgo: Replace device clocks with real clocks.Kongyang Liu
Replace device clocks with real clocks from the clock controller, and remove dummy clocks. Signed-off-by: Kongyang Liu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11configs: milkv_duo: Enable clock controllerKongyang Liu
Add configs to enable clock controller for Sophgo Milk-V Duo board Signed-off-by: Kongyang Liu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11clk: sophgo: cv1800b: Add clock controller driver for cv1800b SoCKongyang Liu
Add clock controller driver for sophgo cv1800b SoC Signed-off-by: Kongyang Liu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11dt-bindings: clk: import header for clock controller of sophgo CV1800BKongyang Liu
Import header file of sophgo cv1800b clock controller from kernel Signed-off-by: Kongyang Liu <[email protected]> Link: https://lore.kernel.org/all/IA1PR20MB4953637E7A6C121D7A700F1CBB8BA@IA1PR20MB4953.namprd20.prod.outlook.com/ Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-10Merge patch series "phycore-am62/4: Add more boot sources"Tom Rini
Daniel Schultz <[email protected]> says: This patch stack extends the phyCORE-AM62x/AM64x U-Boot by following boot sources: - Load U-Boot with USB DFU - Load a Linux and initramfs from OSPI/QSPI NOR flash - Load a Linux and rootfs from Network Moreover, it adds required changes to the environment to boot an A/B system with RAUC and includes some minor fixes.
2024-09-10configs: phycore_am62x_*_defconfig: Set PHYTEC as ManufacturerDaniel Schultz
Commit 371b379edbf3 ("configs: Make USB_GADGET_MANUFACTURER consistent over all PHYTEC boards") made the USB_GADGET_MANUFACTURER value consistent over all PHYTEC boards. Update the phyCORE-AM62x defconfigs to make this config consistent as well. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10configs: phycore_am62x_a53_defconfig: Fix CONFIG_ENV_SIZEDaniel Schultz
The environment should have a size of 0x20000 instead 0x2000. Update to have the same environment size for all PHYTEC K3 products. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10configs: Add phycore_am62x_r5_usbdfu_defconfigDaniel Schultz
This config includes the phycore_am62x_r5_defconfig file as well as the am62x_r5_usbdfu.config fragment. We need another defconfig because the AM62x has not enough internal SRAM to support all boot sources. The normal phycore_am62x_r5_defconfig should allow to boot from MMC and OSPI while this new defconfig allows to boot from USB. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10configs: phycore_am62x_a53_defconfig: Merge am62x_a53_usbdfu.configDaniel Schultz
Merge the am62x_a53_usbdfu.config into the phyCORE-AM62x A53 defconfig to properly support USB DFU boot. This config was made with the following command: make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- \ phycore_am62x_a53_defconfig am62x_a53_usbdfu.config However, CONFIG_USB_GADGET_MANUFACTURER was not merged to keep Phytec as manufacturer. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10configs: phycore_am64x_a53_defconfig: Make BOOTCMD genericDaniel Schultz
The phyCORE-AM64x board code sets an environment variable 'boot' with the device U-Boot booted from. Use this variable in CONFIG_BOOTCOMMAND to boot Linux from the same boot device by default. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10configs: phycore_am62x_a53_defconfig: Make BOOTCMD genericDaniel Schultz
The phyCORE-AM62x board code sets an environment variable 'boot' with the device U-Boot booted from. Use this variable in CONFIG_BOOTCOMMAND to boot Linux from the same boot device by default. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10board: phytec: phycore_am64x: Add Network/SPI BootDaniel Schultz
Include the boot logic to boot via Network or from a OSPI/QSPI NOR flash. Moreover, set all required variables to both boot methods to the environment. Note: The phyBOARD-Electra AM64x is not able to load the U-Boot via Network. However, it's still possible to load the kernel. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10board: phytec: phycore_am62x: Add Network/SPI BootDaniel Schultz
Include the boot logic to boot via Network or from a OSPI/QSPI NOR flash. Moreover, set all required variables to both boot methods to the environment. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10include: env: phytec: Add K3 boot logic for OSPI/QSPI flashesDaniel Schultz
This boot logic allows to boot a Kernel image, Device-Tree blob and a initramfs from an external OSPI/QSPI NOR flash. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10include: net: phytec: Add K3 network boot logicDaniel Schultz
This boot logic allows to boot a Kernel image, Device-Tree blob and overlays via tftp/dhcp (configurable with 'net_fetch_cmd'). Additionally, it loads a rootfs via NFS. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10include: env: phytec: Add raucinit to k3_mmc environmentDaniel Schultz
Initialize the environment for booting an RAUC image when 'doraucboot' is set to 1. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10include: env: phytec: k3_mmc: Rename variablesDaniel Schultz
Add a mmc prefix to 'loadimage' and 'loadfdt' because we need similar variables for other boot sources. This will prevent name clashes and allows to implement similar boot logic. Also switch from loadaddr to kernel_addr_r. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10configs: phycore_am64x_a53_defconfig: Enable CONFIG_OF_BOARD_SETUPWadim Egorov
Enable CONFIG_OF_BOARD_SETUP to fixup kernel device tree with mtd partitions. Signed-off-by: Wadim Egorov <[email protected]> Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10spl: spl_load: fix comparison between negative error code and unsigned sizeDaniel Palmer
read could be a negative error value but size in spl_image is unsigned so when they are compared read is used as if it's a unsigned value and if it's negative it'll most likely be bigger than size and the result will be true and _spl_load() will return 0 to the caller. This results in the caller to _spl_load() not seeing that an error happened as it should and continuing as if the load was completed when it might not have been. Check if read is negative and return it's value if it is before comparing against size in spl_image. Signed-off-by: Daniel Palmer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-09-10test/py: spi: Set the expected error messageLove Kumar
If erase/write/read size is 0 then it throws the mentioned error message when debug message ie enabled as per 899fb5aa8bec ("cmd: sf/nand: Print and return failure when 0 length is passed"), setting it to None as debug message is not enabled by default for testing. Signed-off-by: Love Kumar <[email protected]>
2024-09-10treewide: drop redundant "type string" for SYS_SOC and friendsRasmus Villemoes
The Kconfig symbols SYS_ARCH, SYS_CPU, SYS_SOC, SYS_VENDOR and SYS_BOARD are defined in arch/Kconfig as having type string, and most board files simply amend those definition with suitable default "foo" or default "foo" if BAR stanzas. But some also include a redundant repetition of the type. Homogenize the code base by removing those lines. Generated by find arch/*/ board -name Kconfig | xargs perl -i -g -pe 's/(config SYS_(ARCH|CPU|SOC|VENDOR|BOARD)\n)\s*string\n/\1/gs' with the trailing slash in arch/*/ ensuring that arch/Kconfig itself is not found. This does not change boards which add a prompt string, e.g. string "Board name" because I think those change the semantics of the symbol into being user-settable. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-09-10arm: Remove ethernut5 boardTom Rini
As per the maintainers at egnite GmbH, they are no longer interested in supporting this board. Go and remove the platform here. Furthermore, this is the only AT91SAM9XE platform in-tree so remove supporting code for that as well. Acked-by: Nicolas Ferre <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-09-10net: guard call to tftp_start() with IS_ENABLED(CONFIG_CMD_TFTPBOOT)Jerome Forissier
net_auto_load() cannot call tftp_start() if CONFIG_CMD_TFTPBOOT is disabled. Signed-off-by: Jerome Forissier <[email protected]>
2024-09-10scripts/Makefile.lib: do not include CONFIG_DEVICE_TREE_INCLUDES in ↵Rasmus Villemoes
dtsi_include_list The commit mentioned in Fixes broke the CONFIG_DEVICE_TREE_INCLUDES feature, with the result that any board setting any non-empty value for that fails to build. The parent of the mentioned commit refactoring a bit by introducing the dtsi_include_list variable and changing cmd_dtc to loop over that was fine. However, the .dtsi files mentioned in CONFIG_DEVICE_TREE_INCLUDES are not supposed to be generated via the build system. They are meant for e.g. including a public key for verified boot (generated with the key2dtsi script), or for injecting some stuff to the /config node (say, a bootcmd or a load-environment setting or things like that). The files can either live in-tree in a private branch or completely outside, e.g. in some Yocto metadata. But regardless, U-Boot's build system will never know anything about them, so when the mentioned commit did dtsi_include_list_deps = $(addprefix $(obj)/,$(subst $(quote),,$(dtsi_include_list))) things broke, because if CONFIG_DEVICE_TREE_INCLUDES is for example "/path/to/public_key.dtsi", this would add a dependency on $(obj)//path/to/public_key.dtsi to each $(obj)/*.dtb target, yielding make[3]: *** No rule to make target 'arch/arm/dts/imx6dl-aristainetos2c_7.dtb', needed by 'dtbs'. Stop. To fix that while preserving the introduced CONFIG_EFI_CAPSULE_ESL_FILE behaviour, disentangle CONFIG_DEVICE_TREE_INCLUDES from dtsi_include_list from which dtsi_include_list_deps is built, and instead just add the items directly to the $(foreach) loop. Fixes: a958988b62 ("scripts/Makefile.lib: Add dtsi include files as deps for building DTB") Signed-off-by: Rasmus Villemoes <[email protected]> Tested-by: Emil Kronborg <[email protected]>
2024-09-10Merge tag 'u-boot-dfu-20240910' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/22302 - Fix ANDROID_AB_BACKUP_OFFSET unit
2024-09-10Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscvTom Rini
CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/22292 - Add rdcycle to RISC-V exception command - Some fixes and refactoring
2024-09-10Merge tag 'u-boot-imx-master-20240909' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/22289 - Fix a boot regression on i.MX8MQ.
2024-09-10cmd: add rdcycle test to RISC-V exception commandHeinrich Schuchardt
Some versions of KVM don't allow access to the cycle CSR. Provide a command 'exception rdcycle' for testing. If the cycle CSR is accessible, we get an output like: => exception rdcycle cycle = 0x41f7563de If the cycle CSR is not accessible, we get an output like: => exception rdcycle Unhandled exception: Illegal instruction Put subcommands into alphabetical order in long help. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-10riscv: show registers in crash dumps by defaultHeinrich Schuchardt
If an exception occurs in main U-Boot, show the registers. This makes analyzing crashes especially in external applications easier. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-10riscv: allow to enable SHOW_REGS in main U-Boot onlyHeinrich Schuchardt
To minimize SPL size it is reasonable to disable SHOW_REGS. For main U-Boot the size restrictions are much more relaxed. * Provide separate Kconfig symbols for SPL and main U-Boot. * Add a help text. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-10riscv: CONFIG_SPL_FRAMEPOINTER must depend on CONFIG_SPLHeinrich Schuchardt
The CONFIG_SPL_FRAMEPOINTER symbol is only relevant in SPL. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]> Reviewed-by: Ben Dooks <[email protected]>
2024-09-10riscv: define find_{first,next}_zero_bit in asm/bitops.hMaxim Kochetkov
These seem to be missing, and trying to build fastboot cmd without them is causing errors due to these being missing. Signed-off-by: Maxim Kochetkov <[email protected]> Tested-by: E Shattow <[email protected] Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-10board: fix compatible property Milk-V Mars CMHeinrich Schuchardt
For the Milk-V Mars CM (lite) we have only been copying sizeof(void *) bytes to the compatible property instead of the whole string list. Fixes: de3229599d4f ("board: add support for Milk-V Mars CM") Reported-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-10clk: sifive: avoid declaring static variables in includesHeinrich Schuchardt
The existing code is unnecessarily convoluted: Arrays __prci_init_clocks_fu[5|7]40 are initialized with data. In separate includes fu[5|7]40-prci.h the size of the arrays is provided as constants. By moving the structures prci_clk_fu[5|7]40 to the respective code modules we can directly use ARRAY_SIZE() to access the size of the data used for initialization. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-09-10clk: sifive: append missing \n to messagesHeinrich Schuchardt
If multiple messages are written, line-feeds improve the readability. Fixes: c40b6df87fc0 ("clk: Add SiFive FU540 PRCI clock driver") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Sean Anderson <[email protected]>
2024-09-09imx8mq-u-boot: Pass FIT offset to fix boot regressionFabio Estevam
Since commit 37e50627efac ("ARM: dts: imx: Convert i.MX8M flash.bin image generation to binman") the imx8mq-evk fails to boot: U-Boot SPL 2024.10-rc4 (Sep 09 2024 - 16:08:22 -0300) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 Fix it by passing the offset property for the FIT image, just like it is done on i.MX8MM. Fixes: 37e50627efac ("ARM: dts: imx: Convert i.MX8M flash.bin image generation to binman") Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]> Acked-by: Marek Vasut <[email protected]>
2024-09-09Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-usb ↵Tom Rini
into next
2024-09-09Merge branch 'master-spi-fixes' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh Last minute SPI fixes for R-Car to make the SPI NOR work on Gen4. Also one RPC HF fix for Gen4.
2024-09-09Merge branch 'qcom-next' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-snapdragon into next Various improvements to Snapdragon support: * Bumped up the pagetable size to handle newer SoCs with much more RAM * Made memory map parsing more robust, fixing chainloading on SM8550/SM8650 * Populate fdt_addr_r with U-Boot's FDT by default, and set $loadaddr to prevent crashes with some commands which expect it * Added initial support for SC7280/QCM6490 and the new RB3 Gen 2 board * Add debug config fragments to enable debug UART on some SoCs. * Enable RPMh regulators on SM8550/SM8650 * Map the cmd-db memory explicitly since it may not be in the memory map CI: https://source.denx.de/u-boot/custodians/u-boot-snapdragon/-/pipelines/22255
2024-09-09phy: test: Implement sandbox PHY .set_mode and DM testMarek Vasut
Implement trivial extension to the sandbox PHY, which makes it pretend to support selecting USB Host mode and nothing else. Any other mode is rejected with -EINVAL. Any submode except for default submode 0 is rejected with -EOPNOTSUPP . The implementation behaves in this trivial way to permit easy unit testing using test which is also added in this commit. To run the test, use e.g. sandbox64_defconfig and run U-Boot as follows: $ ./u-boot -Tc 'ut dm phy_setup' Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2024-09-09phy: rcar: Split init and set_mode operationsMarek Vasut
The current init operation also sets the PHY into USB host mode. Split the mode configuration into set_mode callback instead and implement support for device and OTG modes as well. The OTG mode performs auto-detection and selects either host or device mode. In case the OTG mode is configured, submode field can be used to select full PHY (re)initialization or only mode auto-detection. The full (re)initialization is only necessary once, on start up. Since the OTG mode may enable IRQ generation in the PHY, disable that IRQ generation in the exit callback again. Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2024-09-09phy: Extend generic_setup_phy() with PHY mode and submodeMarek Vasut
Extend generic_setup_phy() parameter list with PHY mode and submode and call generic_phy_set_mode() in generic_setup_phy(), so the generic PHY setup function can configure the PHY into correct mode before powering the PHY up. Update all call sites of generic_setup_phy() as well, all of which are USB host related, except for DM test which now behaves as a USB host test. Note that if the PHY driver does not implement the .set_mode callback, generic_phy_set_mode() call returns 0 and does not error out, so this should not break any existing systems. Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2024-09-09ARM: dts: renesas: Minimize R8A779G0 V4H RPC SPI DT nodeMarek Vasut
The RPC SPI DT node is now part of mainline Linux DT, remove the duplicate content from U-Boot DT extras. The SPI flash DT node name has been changed from "spi-flash@0" to "flash@0", reflect this change in this patch. Retain "bank-width" and "num-cs" DT properties which are used by U-Boot. Retain "spi-rx-bus-width" and "spi-tx-bus-width" DT properties to indicate the bus should always be operated in 1-1-1 mode as the U-Boot RPC SPI driver does not support higher bus width modes yet. Signed-off-by: Marek Vasut <[email protected]>
2024-09-09mtd: spi: renesas: Add R-Car Gen4 DT compatibleMarek Vasut
Add device tree compatible string "renesas,rcar-gen4-rpc-if" to the driver to match on upstream RPC DT node in R-Car Gen4 DTs. Signed-off-by: Marek Vasut <[email protected]>
2024-09-09mtd: spi: renesas: Configure RPC PHY timing registersMarek Vasut
Make sure RPC PHY timing registers are configured before performing bus access. These registers might have been left unconfigured or may have been configured by a prior stage bootloader and leaving them unconfigured or misconfigured would interfere with U-Boot operation. Set PHYOFFSET1 DDRTMG field to 3 which enables DDR timing adjustment when SPIDRE or DRDRE = 0 and set PHYOFFSET2 OCTTMG field to 4 which makes the interface operate in Serial flash or HyperFlash mode. Signed-off-by: Marek Vasut <[email protected]>
2024-09-09mtd: spi: renesas: Configure DRDRENR registerMarek Vasut
Make sure DRDRENR register is configured before performing external address space read. This register might have been configured by a prior stage bootloader and leaving it unconfigured would interfere with U-Boot operation. Since U-Boot RPC SPI driver does not support DDR data transfer mode yet, set this register unconditionally to 0. Signed-off-by: Marek Vasut <[email protected]>