aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
Commit message (Collapse)AuthorAgeFilesLines
* board: samsung: add initial support for coreprimevelte boardDuje Mihanović2025-01-283-0/+82
| | | | | | | | Samsung Galaxy Core Prime VE LTE is an entry-level PXA1908-based smartphone. It has 1GB of DRAM, 8GB eMMC and USB connectivity. Signed-off-by: Duje Mihanović <duje.mihanovic@skole.hr> Reviewed-by: Stefan Roese <sr@denx.de>
* arm: mmp: add initial support for PXA1908 SoCDuje Mihanović2025-01-287-0/+239
| | | | | | | | Add initial support for Marvell PXA1908. The SoC has 4 Cortex-A53 cores, a GC7000UL GPU and a variety of peripheral controllers. Signed-off-by: Duje Mihanović <duje.mihanovic@skole.hr> Reviewed-by: Stefan Roese <sr@denx.de>
* arm: kirkwood: Enable bootstd and other modernization for OpenRD boardsTony Dinh2025-01-281-0/+1
| | | | | | | | | | | | Enable bootstd for OpenRD boards Update defconfigs to the latest u-boot requirements Remove JFFS2 support. See JFFS2 Vulnerability[1]. Move default envs to text-base environment [1] https://lore.kernel.org/u-boot/20241114233005.GN3600562@bill-the-cat/T/#m2fc25da1d2c019bc3cd8676991fdd64b8a21aa9b Signed-off-by: Tony Dinh <mibodhi@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
* Merge tag 'u-boot-imx-master-20250127' of ↵Tom Rini2025-01-274-4/+0
|\ | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/24366 - Refactor the imx pinctrl driver. - Enable optional ENETREF clock on i.MX95 - Remove optional from tee-os entry on the i.MX8M u-boot devicetrees.
| * arm: dts: imx8m*-u-boot: remove optional from tee-os entryYannic Moog2025-01-254-4/+0
| | | | | | | | | | | | | | | | tee-os node is guarded by CONFIG_OPTEE. Since OPTEE adds driver support for OP-TEE, the binary should then be packaged in the bootable image. Remove the optional property to enforce this requirement. Signed-off-by: Yannic Moog <y.moog@phytec.de>
* | Subtree merge tag 'v6.13-dts' of dts repo [1] into dts/upstreamWIP/26Jan2025Tom Rini2025-01-262-1/+5
|/ | | | | | [1] https://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasing.git [rockchip fixes from Jonas Karlman via IRC]
* Merge tag 'u-boot-socfpga-next-20250124' of ↵WIP/23Jan2025Tom Rini2025-01-233-11/+225
|\ | | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-socfpga 1. Bug fixed for doorbell in secure device manager mailbox driver 2. Enhancement on SoCFPGA dwc_eth_xgmac driver 3. Enhancement on DW MAC driver 4. Improved the error message and status for SoC64 device FPGA configuration driver 5. Updated existing watchdog in system manager to support new SM device
| * fpga: intel_sdm_mb: add support for query SDM config error and statusBoon Khai Ng2025-01-241-0/+218
| | | | | | | | | | | | | | | | | | | | | | Currently the FPGA reconfig status only return a single error status which make the debugging of FPGA reconfiguration hard. This patch is to expose the error status, major error code and minor error code, for the FPGA reconfig to upper layer app. Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
| * arch: arm: mach-socfpga: Mailbox buffer and SDM doorbell improvementAlif Zakuan Yuslaimi2025-01-241-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current write and notify SDM to read mechanism has a flaw where SDM is not notified enough to be able to read all the data in the buffer. This is caused by SDM doorbell will only be sent out once the command buffer overflow check is satisfied. If the command buffer does not reach overflow status, no SDM doorbell will be sent out, which may cause a timeout as the mailbox driver will be waiting for the SDM to read the buffer to empty even though SDM is not notified to do so. The solution is to remove the command buffer overflow check and set the SDM doorbell to always trigger at the end of the command buffer. This will ensure that the SDM is able to read all of the data. Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
| * arm: socfpga:agilex5: Fix system manager watchdog mode settingMuhammad Hazim Izzat Zamri2025-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is to fix the system manager watchdog mode setting to support until mode_4 for Agilex5. This changes can refer to system manager register map on wddbg fields. In Agilex7 it is not detected as an issue because Agilex7 only have 4 watchdog until mode_3 and it is already been set correctly for it to halt on any CPU in debug mode. However, in Agilex5 this fix is needed in order to enable the watchdog pause feature for mode_4 when entering debug mode. If 0xF is not been set on mode_4, the Watchdog Timers will not halt on any CPU. As by default value, the pause signal does not assert when any CPU is in debug mode and the watchdog continue to count. Signed-off-by: Muhammad Hazim Izzat Zamri <muhammad.hazim.izzat.zamri@intel.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
* | Merge patch series "Add bitbang feature for npcm8xx and driver"Tom Rini2025-01-231-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Michael Chang <zhang971090220@gmail.com> says: I am resubmitting the patch titled "Add bitbang feature for npcm8xx and driver" for review and inclusion in the upstream project. Driver didn't support bitbang feature. Add bb_miiphy_bus function for driver and open feature for npcm8xx the log is as below: ------------------------------------------------- U-Boot 2024.10-g30b9cdaf2df5-dirty (Jan 09 2025 - 00:57:37 +0000) CPU-0: NPCM845 A1 @ Model: Nuvoton npcm845 Development Board (Device Tree) DRAM: 1 GiB RNG: NPCM RNG module bind OK OTP: NPCM OTP module bind OK AES: NPCM AES module bind OK SHA: NPCM SHA module bind OK I/TC: Reserved shared memory is enabled I/TC: Dynamic shared memory is enabled I/TC: Normal World virtualization support is disabled I/TC: Asynchronous notifications are disabled Core: 649 devices, 28 uclasses, devicetree: separate WDT: Not starting watchdog@901c MMC: sdhci@f0842000: 0 Loading Environment from SPIFlash... SF: Detected w25q512jvq with page size 256 Bytes, erase size 64 KiB, total 64 MiB OK In: serial@0 Out: serial@0 Err: serial@0 Net: eth0: eth@f0802000, eth1: eth@f0804000, eth3: eth@f0808000 Hit any key to stop autoboot: 0 U-Boot> U-Boot> U-Boot>setenv ipaddr 192.168.16.3 U-Boot>ping 192.168.16.12 eth@f0802000 Waiting for PHY auto negotiation to complete ......... TIMEOUT ! Could not initialize PHY eth@f0802000 eth@f0804000 Waiting for PHY auto negotiation to complete ......... TIMEOUT ! Could not initialize PHY eth@f0804000 Speed: 100, full duplex Using eth@f0808000 device host 192.168.16.12 is alive Link: https://lore.kernel.org/r/20250117104540.1580343-1-zhang971090220@gmail.com
| * | ARM: dts: nuvoton: Add bitbang delay through dts properties.Michael Chang2025-01-231-0/+1
| | | | | | | | | | | | | | | | | | | | | Add bitbang delay through dts properties. Signed-off-by: Jim Liu <JJLIU0@nuvoton.com> Signed-off-by: Michael Chang <zhang971090220@gmail.com>
* | | Merge patch series "Cumulative fixes and updates for MediaTek platform"Tom Rini2025-01-239-18/+314
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Weijie Gao <weijie.gao@mediatek.com> says: This patch series contains fixes and updates for MediaTek platform, including drivers, board and arch files. Link: https://lore.kernel.org/r/cover.1737104723.git.weijie.gao@mediatek.com
| * | | arm: dts: mediatek: update mt7981 mmc nodeWeijie Gao2025-01-232-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Fix mmc clock order of mt7981 to match the clock name 2. Limit the max clock of SD to 50MHz to meet SD Card Spec 2.0 3. Increase the CLK pin driving strength to 8mA Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
| * | | arm: dts: medaitek: add flash interface driving settings for mt7988Weijie Gao2025-01-231-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add driving settings for both SPI and SD/eMMC interfaces to support ensure flash devices is accessible for ram-booting. Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
| * | | arm: dts: mediatek: add support for all three GMACs for mt7988Weijie Gao2025-01-233-6/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch add all three GMACs nodes for mt7988. Each GMAC can be configured to connect to different ethernet switches/PHYs. Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
| * | | arm: dts: medaitek: fix internal switch link speed of mt7988Weijie Gao2025-01-232-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The CPU port of mt7988 internal switch uses 10Gb link speed. Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
| * | | arm: dts: mediatek: add pcie support for mt7988Weijie Gao2025-01-232-0/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds PCIe support for mt7988 Signed-off-by: Sam Shih <sam.shih@mediatek.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
| * | | pwm: mediatek: add pwm3 support for mt7981Weijie Gao2025-01-234-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds pwm channel 2 (pwm3) support for mt7981 Signed-off-by: Sam Shih <sam.shih@mediatek.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
| * | | arm: dts: mediatek: add quad mode capabilities for SPI flashesWeijie Gao2025-01-234-0/+16
| | |/ | |/| | | | | | | | | | | | | | | | | | | Explicitly add quad mode capabilities or the SPI controller may start transfer in single mode. Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
* | | sunxi: switch Allwinner A10s/A13 boards to OF_UPSTREAMAndre Przywara2025-01-2228-4928/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In contrast to some other Allwinner SoCs, there is no difference between the DTs for the Allwinner A10s/A13 SoCs (sun5i) between the U-Boot and the Linux kernel repository. Remove the old copies of the A10s/A13 related .dts and .dtsi files, and switch most of sun5i boards over to use OF_UPSTREAM. There are two boards for which we don't have DTs in the kernel tree. Keep those two .dts files in the legacy U-Boot DT directory, and let their defconfig opt out of OF_UPSTREAM. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Sumit Garg <sumit.garg@linaro.org>
* | | sunxi: switch Allwinner A10 boards to OF_UPSTREAMAndre Przywara2025-01-2225-5396/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In contrast to some other Allwinner SoCs, there is no difference between the DTs for the Allwinner A10 SoCs (sun4i) between the U-Boot and the Linux kernel repository. Remove the old copies of the A10 related .dts and .dtsi files, and switch most of sun4i boards over to use OF_UPSTREAM. There are two boards for which we don't have DTs in the kernel tree. Keep those two .dts files in the legacy U-Boot DT directory, and let their defconfig opt out of OF_UPSTREAM. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Sumit Garg <sumit.garg@linaro.org>
* | | suniv: switch Allwinner F1Cx00 boards to OF_UPSTREAMAndre Przywara2025-01-226-562/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In contrast to some other Allwinner SoCs, there is no difference between the DTs for the Allwinner F1C100/F1C200 SoCs (sunvi) between the U-Boot and the Linux kernel repository. Remove the old copies of the F1Cx00 related .dts and .dtsi files, and switch the whole suniv SoC over to use OF_UPSTREAM. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
* | | sunxi: H616: DRAM: rename Kconfig parameters to be more genericAndre Przywara2025-01-222-43/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The H616 DRAM controller requires some board specific parameters, which we declare in Kconfig, let each board specify in their defconfig, and then use in the DRAM init code. Other DRAM controllers now require a very similar, if not identical parameter set, with so far the same parameter names used. To help keep the Kconfig file at bay, rename the existing parameter names to drop the H616_ part in there, to make them more naturally reusable for other SoCs. No functional change, just a rename. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
* | | sunxi: clock: improve grouping of default clock register valuesAndre Przywara2025-01-221-13/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With each new SoC added to the clock_sun50i_h6.h header file, we add a list of default values for the bus clock registers. This list gets a bit hard to read, as the spacing between the lines looks confusing. Tighten the lines by removing empty lines, to make it more obvious which values belong together. Also remove those comments that were more or less duplicating the next code line, and didn't add any information. This makes it easier to find existing values and to add support for new SoCs. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
* | mach-snapdragon: pass fdt to qcom_parse_memorySam Day2025-01-221-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit fc37a73e6679 ("fdt: Swap the signature for board_fdt_blob_setup()") introduced a subtle change to the Snapdragon implementation, removing the assignment to gd->fdt_blob partway through the function. This breaks qcom_parse_memory() which was also called during board_fdt_blob_setup(). The underlying issue here is that qcom_parse_memory is using the of_ api to traverse a devicetree, which relies on the fdt_blob in global data. Rather than relying on this subtle behaviour, explicitly pass the FDT that should be consulted for a /memory node. Using the OF API is typically preferable because it's easier to read, but using the lower level fdt_ methods instead here doesn't add too much complexity, I think. Finally, a minor tweak was made to board_fdt_blob_setup to use the passed fdt blob pointer instead of gd->fdt_blob, which removes the last of the references to global data in this area. Fixes: fc37a73e6679 (fdt: Swap the signature for board_fdt_blob_setup()) Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org> Signed-off-by: Sam Day <me@samcday.com> Link: https://lore.kernel.org/r/20250122-qcom-parse-memory-updates-v2-1-98dfcac821d7@samcday.com Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
* | dts: qcs9100-ride-r3-u-boot: add override dtsiVaradarajan Narayanan2025-01-221-0/+20
| | | | | | | | | | | | | | | | | | Add initial support for the QCS9100 (derived from SA8775p) Ride platforms. Define memory layout statically. Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com> Link: https://lore.kernel.org/r/20250110050817.3819282-3-quic_varada@quicinc.com Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
* | Merge patch series "MediaTek MT7629 OF_UPSTREAM migration (v2)"Tom Rini2025-01-214-485/+118
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Weijie Gao <weijie.gao@mediatek.com> says: This patch series migrates MediaTek MT7629 to OF_UPSTREAM Changes in v2: * Remove mt7629-rfb.dtb from arch/arm/dts/Makefile * Add wdt-reboot node to make reset command work Link: https://lore.kernel.org/r/cover.1736851116.git.weijie.gao@mediatek.com
| * | board: mediatek: mt7629: Migrate to OF_UPSTREAMSam Shih2025-01-214-485/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move differences in DT files between upstream Linux DT and U-Boot DT to mt7629-rfb-u-boot.dtsi. Remove old copies of mt7629-related clock bindings, .dts, and .dtsi files. Update defconfig to switch the whole mt7629 SoC to use OF_UPSTREAM. Signed-off-by: Sam Shih <sam.shih@mediatek.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
* | | Merge patch series "Broadcom bcmbca dts updates"Tom Rini2025-01-2112-502/+24
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | david regan <dregan@broadcom.com> says: Updates for Broadcom bcmbca devices, make use of OF_UPSTREAM which uses Linux dts, update bcmbca dts to current nand node naming convention, enable basic nand functionality for bcmbca devices. Link: https://lore.kernel.org/r/20250114045425.148801-1-dregan@broadcom.com
| * | | arm: dts: Update nand node for bcmbca board dtsdavid regan2025-01-213-33/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update bcmbca dts to current nand node naming convention. Changes in v2: - Removed addition of nand-on-flash-bbt parameter Signed-off-by: david regan <dregan@broadcom.com> Reviewed-by: William Zhang <william.zhang@broadcom.com> Reviewed-by: Anand Gore <anand.gore@broadcom.com>
| * | | arm: dts: Use upstream dts for additional bcmbca devicesdavid regan2025-01-219-469/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make use of OF_UPSTREAM which uses Linux dts. Changes in v2: - Removed enabling of nand functionality Signed-off-by: david degan <dregan@broadcom.com> Reviewed-by: William Zhang <william.zhang@broadcom.com> Reviewed-by: Anand Gore <anand.gore@broadcom.com>
* | | | sbp1: Add support for IBM SBP1 boardPatrick Rudolph2025-01-212-0/+5909
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add defconfig & devicetree for IBM SBP1 board BMC based on AST2600 SoC. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
* | | | block: Remove "select BLK" from non-block driversTom Rini2025-01-204-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that block drivers are all selecting the BLK symbol, there's no need for other options to be select'ing BLK so that other required functionality can be enabled. Remove these places. Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Tom Rini <trini@konsulko.com>
* | | | drivers/mmc/Kconfig: Make DM_MMC a hidden symbolTom Rini2025-01-207-37/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At this point in time, DM is always enabled. So if MMC is enabled, it should select DM_MMC. No drivers need to depend on DM_MMC being enabled now, so remove that from dependency lists. This now means that a number of platforms which select'd DM_MMC need to select MMC instead. This also fixes a migration problem with espresso7420 in that MMC is built again with the platform. Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* | | | Merge tag 'u-boot-imx-master-20250120' of ↵Tom Rini2025-01-204-0/+24
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/24263 - Add i.MX95 EMDIO support - Guard binman nodes with CONFIG_OPTEE on imx8m - Enable CAAM in phycore-imx8mp SPL. - Fix Fix NULL dereference in imx_pinctrl_probe().
| * | | | imx8m: Guard binman nodes with CONFIG_OPTEEFabio Estevam2025-01-204-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guard binman nodes with CONFIG_OPTEE to fix the following error when building without optee support: BINMAN .binman_stamp Image 'image' has faked external blobs and is non-functional: tee.bin Image 'image' is missing optional external blobs but is still functional: tee-os /binman/section/fit/images/tee/tee-os (tee.bin): See the documentation for your board. You may need to build Open Portable Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin Some images are invalid make: *** [Makefile:1135: .binman_stamp] Error 103 While at it, only pass tee to the loadables lines when CONFIG_OPTEE is defined. Reported-by: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Tested-by: Yannic Moog <y.moog@phytec.de>
* | | | | arch: arm: mach-k3: Delete tifs node in DT fixupWIP/19Jan2025Udit Kumar2025-01-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delete tifs DT node as part of fixup. TISCI API reported msmc_size, does not include 64KB reserved size for tifs aka MSMC comms memory, see documentation[0]. As part of fixup, original code uses TISCI API reported msmc_size as size for SRAM DT node. tifs node is similar to l3-cache, which should hold address above msmc_size, and should be deleted before passing control to OS. [0] https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html?highlight=msmc#tisci-msg-query-msmc Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Udit Kumar <u-kumar1@ti.com>
* | | | | arch: arm: mach-k3: j784s4_init: Set CTRL_MMR for AUDIO_REFCLK1 clk_selJayesh Choudhary2025-01-201-0/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default value for the mux to select the parent clock, AUDIO_REFCLK1_CTRL_CLK_SEL is '11111' (31) but the mux input for 31 is marked as 'Reserved' so the ti-sci-clk call for get-parent fails. Mark it to a valid value, '11100' (28) for MAIN_PLL4_HSDIV2_CLKOUT to get rid of the linux failures during boot-time like: "[ 1.573193] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19" Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
* | | | Merge tag 'efi-2025-04-rc1' of ↵Tom Rini2025-01-184-144/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2025-04-rc1 Documentation: * Correct the defconfig name in the coolpi documentation UEFI: * Carve out the biggest part of the RISC-V and ARM linker scripts for EFI binary into a common include. * Correct the values of SizeOfCode and SizeOfInitializedData in generated EFI binaries for RISC-V and ARM. * Avoid gaps between sections in EFI binaries causing a failure in secure boot. * Makefile: let clean remove capsule_in.capsule*.efi-capsule * Refactor some of the code used for launching EFI binaries.
| * | | | efi_loader: use include in ARM EFI linker scriptHeinrich Schuchardt2025-01-172-74/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the same include as arm64 for the linker script. Adjust the 32-bit ARM PE-COFF header accordingly and harmonize it with the 64-bit ARM header. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
| * | | | efi_loader: correct SizeOfCode, SizeOfInitializedDataHeinrich Schuchardt2025-01-172-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fields SizeOfCode, SizeOfInitializedData, and SizeOfUninitializedData are define in the PE-COFF specification [1]. * SizeOfCode must match the size of all .text sections. * SizeOfInitializedData must match the size of all .data sections. * SizeOfUninitializedData must match the size of all .bss sections. We only have one .text and one .data section. SizeOfCode and SizeOfInitializedData have to be calculated as the difference between the end and the start of the respective section. As we don't have any .bss sections in the generated EFI binaries. SizeOfUninitializedData must remain 0. [1] https://learn.microsoft.com/en-us/windows/win32/debug/pe-format Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
| * | | | efi_loader: use INCLUDE in EFI linker scriptsHeinrich Schuchardt2025-01-171-67/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Except for the architecture specific lines ARM and RISC-V can use the same linker script. Move the common lines to an include. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
| * | | | efi_loader: Fix section alignment on EFI binariesIlias Apalodimas2025-01-171-1/+1
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When creating EFI binaries, the alignment of the text section isn't correctly factored in. As a result trying to load signed EFI binaries throws an error with: efi_image_region_add() efi_image_region_add: new region already part of another Image not authenticated Running the binary through sbverify has a similar warning sbverify ./lib/efi_loader/helloworld.efi warning: gap in section table: .text : 0x00001000 - 0x00001c00, .data : 0x00002000 - 0x00002200, gaps in the section table may result in different checksums warning: data remaining[7680 vs 12720]: gaps between PE/COFF sections? ..... If we include the alignment in the text section, the signed binary boots fine, and the relevant sbverify warning goes away sbverify ./lib/efi_loader/helloworld.efi warning: data remaining[8704 vs 12720]: gaps between PE/COFF sections? ..... We should look into the remaining warning at some point as well regarding the gaps between PE/COFF sections. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
* / | | arm64: dts: renesas: Deduplicate extalr_clk bootph-allMarek Vasut2025-01-1812-55/+23
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most R-Car Gen3 and Gen4 systems require extalr_clk very early in the boot process. Currently the extalr_clk { bootph-all } DT property to indicate this clock should be available early is set in each SoC U-Boot DT extras file. Deduplicate this assignment to new common r8a779x-rcar64-u-boot.dtsi file. Note that R-Car Gen3 R8A77990 E3 and R8A77995 D3 and RZ R8A774C0 do not require extalr_clk early, therefore these SoCs still include plain r8a779x-u-boot.dtsi in their U-Boot DT extras . Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
* | | imx: fdt: fix cooling-device property corruptionSébastien Szymanski2025-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function disable_thermal_cpu_nodes() corrupts the cooling-device property. For example, booting an i.MX93 devices with only one A55 core (IMX93x1) with the cooling-device property set to: $ dtc -I dtb foo.dtb | grep cooling-device cooling-device = <0x08 0xffffffff 0xffffffff 0x09 0xffffffff 0xffffffff>; Linux shows the following error at boot: [ 1.715189] OF: /thermal-zones/cpu-thermal/cooling-maps/map0: could not find phandle 1083699869 [ 1.723977] thermal_sys: Add a cooling_device property with at least one device [ 1.731285] thermal thermal_zone0: binding zone cpu-thermal with cdev thermal-devfreq-0 failed:-2 because the cooling-device property in the device tree passed to the kernel is $ dtc -I dtb /sys/firmware/fdt | grep cooling-device cooling-device = <0x4097f29d 0x00 0xb05aef9d>; The issue is because the wrong variable type is passed to the function fdt_setprop() called in the function disable_thermal_cpu_nodes(). With the variable type fixed, the error at boot is gone and the property is properly set: $ dtc -I dtb /sys/firmware/fdt | grep cooling-device cooling-device = <0x08 0xffffffff 0xffffffff>; Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
* | | arm: imx8m: add OP-TEE nodeYannic Moog2025-01-165-4/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tee node in SoC u-boot device trees. Use a kconfig entry to specify load and entry addresses for the op-tee image in the respective defconfig. Default IMX8M_OPTEE_LOAD_ADDR is supplied. To keep it simple, the same addresses are used for each SoC as are defined in upstream tf-a (BL32_BASE) [1]. [1] https://github.com/ARM-software/arm-trusted-firmware/tree/master/plat/imx/imx8m Signed-off-by: Yannic Moog <y.moog@phytec.de>
* | | imx: imx93-11x11-evk: drop duplicated nodesPeng Fan2025-01-161-118/+0
| | | | | | | | | | | | | | | | | | | | | The upstream dts already has the lpi2c2 subnodes, so drop the duplicated ones in u-boot dtsi. Signed-off-by: Peng Fan <peng.fan@nxp.com>
* | | imx: imx8mq_evk: Switch to BOOTSTDPeng Fan2025-01-161-0/+2
| | | | | | | | | | | | | | | | | | | | | Move env to imx8mq_evk.env Switch to support BOOTSTD with a bsp bootcmd as fallback. Signed-off-by: Peng Fan <peng.fan@nxp.com>
* | | imx: imx8mm_evk: Switch to BOOTSTDPeng Fan2025-01-161-0/+4
| | | | | | | | | | | | | | | | | | | | | Move env to imx8mm_evk.env Switch to support BOOTSTD with a bsp bootcmd as fallback. Signed-off-by: Peng Fan <peng.fan@nxp.com>