summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-27arm64: versal-net: Enable remaking ELF from binMichal Simek
U-Boot is composing u-boot.bin from u-boot-nodtb.bin with appended dts/dt.dtb. It means U-Boot doesn't have DTB inside. When REMAKE_ELF is enabled make will also create u-boot.elf which is recreated from u-boot.bin. Below is build output for mini configuration how ELF is recreated. cat arch/arm/dts/versal-net-mini.dtb > dts/dt.dtb cat u-boot-nodtb.bin dts/dt.dtb > u-boot-dtb.bin cp dts/dt.dtb u-boot.dtb cp u-boot-dtb.bin u-boot.bin aarch64-linux-gnu-objcopy -I binary -B aarch64 -O elf64-littleaarch64 u-boot.bin u-boot-elf.o aarch64-linux-gnu-ld.bfd u-boot-elf.o -o u-boot.elf -EL -T u-boot-elf.lds --defsym="_start"=0xBBF00000 -Ttext=0xBBF00000 It is useful to have u-boot.elf present because Xilinx XSDB debugger can load ELF file and user doesn't need to specify loading address for u-boot.bin. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/ca550c5c4bf908e757a49a83fdfab0e7100de45e.1674121617.git.michal.simek@amd.com
2023-01-27microblaze: spl: disable falcon mode by defaultOvidiu Panait
Drop falcon mode configs from microblaze-generic_defconfig, so that a defconfig build will still boot into u-boot proper. Signed-off-by: Ovidiu Panait <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-01-27microblaze: spl: drop boot_linuxOvidiu Panait
Drop boot_linux variable as it is not assigned anywhere. Now that there is no variable controlling linux boot in spl_start_uboot(), make this function always return false when falcon mode is enabled. Signed-off-by: Ovidiu Panait <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-01-27microblaze: spl: wrap spl_start_uboot() in SPL_OS_BOOT ifdefsOvidiu Panait
Make spl_start_uboot() available only if CONFIG_SPL_OS_BOOT is enabled, since it is only used for falcon mode. Signed-off-by: Ovidiu Panait <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-01-24arm64: zynqmp: Add support for Kria K24 SOMMichal Simek
SOM itself from PS point of view is using the same configuration as K26 that's why reuse that files and only change compatible strings. The reason for creating own set of files is just in case when versions start to diverge because of HW change, supply chain issue, etc. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/61f877ec0b480c5bd368a1211fc73ff7465016bd.1674043915.git.michal.simek@amd.com
2023-01-24arm64: zynqmp: Fill model name for SOM CCsMichal Simek
When U-Boot do DTB reselection origin model for SOM is used and from log it is not visible if DTB was switched or not. That's why add model directly to CC (carrier card) to show new model if reselection was successful. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/49ba1007218496c48d287454e84a5b8c08abc692.1674043452.git.michal.simek@amd.com
2023-01-24arm64: versal: Remove xilinx_versal_mini_qspi.h configsMichal Simek
The commit eaf6ea6a1dc1 ("Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.h") moved custom init stack pointer address to Kconfig which ends up in situation that xilinx_versal_mini_qspi.h is not needed anymore. That's why remove the file and move defconfigs directly to xilinx_versal_mini.h configuration. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/2d7276ab8d4cb1d245b64287fb59c79325513f22.1674041200.git.michal.simek@amd.com
2023-01-24arm64: zynqmp: Remove xilinx_zynqmp_mini_emmc/qspi.h configsMichal Simek
The commit eaf6ea6a1dc1 ("Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.h") moved custom init stack pointer address to Kconfig which ends up in situation that xilinx_zynqmp_mini_emmc/qspi.h are not needed anymore. That's why remove files and move defconfigs directly to xilinx_zynqmp_mini.h configuration. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/61ae40cf63aabd08adb386c870d3392b0b606fc9.1674040373.git.michal.simek@amd.com
2023-01-24soc: zynqmp: Fix IDcode for xck24Michal Simek
ID code was added by commit ddf8deabc39d ("arm64: zynqmp: Add support for SVD devices") based on documentation but after receiving part new ID code came up. That's why fix IDcode to match xck24 module. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/7b39aeeec211458ba4132a10beb7ad295eedb87f.1674030324.git.michal.simek@amd.com
2023-01-18xilinx: common: Add support for partial string match in ↵Michal Simek
board_fit_config_name_match() Board name in FIT image can use U-Boot regular expressions SLRE to instruct U-Boot to handle all revisions for certain board. For example when name (description property) is saying "zynqmp-zcu104-revA" only description with this name is selected. When zynqmp-zcu104.* is described then all board revisions will be handled by this fragment. Xilinx normally have some board revisions which are SW compatible to each other. That's why make sense to define board name with revisions first follow by generic description with '.*' at the end like this: config_1 { description = "zynqmp-zcu104-rev[AB]"; fdt = "zynqmp-zcu104-revA"; }; config_2 { description = "zynqmp-zcu104.*"; fdt = "zynqmp-zcu104-revC"; }; Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/d67683a3c5d0435a5070e622f7a9a38e19c64cf5.1672994329.git.michal.simek@amd.com
2023-01-16xilinx: versal-net: Add support for timer and start itAshok Reddy Soma
Add support for starting timer by setting up time stamp generator registers. This is done only for EL3 i.e. mini U-Boot case. For other cases, it will be done TF-A. Add COUNTER_FREQUENCY and IOU_SWITCH_DIVISOR0 to Kconfig so that they can be tuned as required. Signed-off-by: Ashok Reddy Soma <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/fcd8b0dc4b45a11f5e753afff42f84738ac813da.1673336645.git.michal.simek@amd.com
2023-01-16clk: versal: Return error in case if clock setup failedJay Buddhabhatti
Currently probe is getting success even if clock setup is failed because of that u-boot is trying to access invalid clocks. So return error if clock setup failed. Signed-off-by: Jay Buddhabhatti <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/fa78e71211e5f68f8dc1353b357f96e6283f65a8.1673335422.git.michal.simek@amd.com
2023-01-11board: presidio-asic: Remove CONFIG_TARGET_VENUSMichal Simek
Symbol is not defined anywhere that's why remove it. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/e34404488b2b46cbb2a10c1663e809ff34287a66.1671463617.git.michal.simek@amd.com
2023-01-11makefile: add multi_dtb_fit depNeal Frager
With certain gcc compilers, the u-boot.itb is built immediately after dtb generation. If CONFIG_MULTI_DTB_FIT is used, it is possible that the fit-dtb.blob is not finished in time. This patch adds a necessary dependency to guarantee that the fit-dtb.blob is built before attempting to build the u-boot.itb. Signed-off-by: Neal Frager <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-01-11arm64: zynqmp: remove Avnet UltraZed-EV Starter KitLuca Ceresoli
Nobody seems interested and able to keep this board supported, and xilinx_zynqmp_virt_defconfig is supposed to be enough for any zynqmp board. See the discussion at: https://lore.kernel.org/u-boot/CAPnjgZ3hHbyiFf=_Lp-Wz_XOWBkV-3vK4Q3xp=7bcERw-spNpA@mail.gmail.com/T/#m76d726f1ab3f7074c8105c9a2af2110ac7d18708 Signed-off-by: Luca Ceresoli <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-01-10xilinx: versal: enable gigadeviceVictor Lim
enabling gigadevice in the related files Signed-off-by: Victor Lim <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-01-10arm64: zynqmp: enable gigadeviceVictor Lim
enabling gigadevice in the related files Signed-off-by: Victor Lim <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-01-10configs: zynq: enable gigadeviceVictor Lim
enabling gigadevice in the related files Signed-off-by: Victor Lim <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-01-10mtd: spi-nor-ids: add gigadevice part #Victor Lim
adding gigadevice part numbers Signed-off-by: Victor Lim <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-01-10arm64: zynqmp: Remove unused snps,refclk_fladj propertyMichal Simek
The commit c55ac51a550c ("usb: dwc3: Program GFLADJ") hopefully fixed issues around fladj logic. This DT property was used in Xilinx stack only that's why remove because it is not needed anymore. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/9bdbd1156b19e28cdebeca29149268b0579a8b6a.1670855257.git.michal.simek@amd.com
2023-01-10arm64: zynqmp: Enable TI phy reset via GPIOHarini Katakam
Add DT property to support reset of TI PHY connected to GEM. This is present in RevA DT but needs to be extended RevB/1.0/1.1 versions which are built on top. Fixes: 2b1db7b18c97 ("arm64: zynqmp: Wire GEM reset gpio") Signed-off-by: Harini Katakam <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/7b093616ddea269043cbbb1e3806644d5a4b23be.1670854455.git.michal.simek@amd.com
2023-01-10arm64: zynqmp: Describe TI phy as ethernet phy ID on ZCU102 RevB & upHarini Katakam
TI phy requires a reset before PHY address detection to make sure correct strapping via MIO is detected. Facilitate the same using ethernet-phy-id compatible string. GPIO reset entry will be added in a separate commit. This support is present in RevA but needs to be extended to RevB/1.0/1.1 versions which are built on top. Fixes: 13622c7a9dfa ("arm64: zynqmp: Describe TI phy as ethernet-phy-id") Signed-off-by: Harini Katakam <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/6d500a83a787316353d4b26c75d1b51d29e3730e.1670854455.git.michal.simek@amd.com
2023-01-10arm64: zynqmp: Remove unused USB DT propertiesMichal Simek
xlnx,usb-polarity, xlnx,usb-reset-mode and snps,mask_phy_reset are not documented in dt binding and also there is no code associated with them that's why remove them. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/369139fafa1745252ef687e31aebf6bcc2080a32.1670853972.git.michal.simek@amd.com
2023-01-10net: zynq_gem: Add support for new compatible str with xlnx prefixMichal Simek
cdns prefix was deprecated and replaced by xlnx one. Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/7d1312d741349451b36558baa3e9132247303992.1670599167.git.michal.simek@amd.com
2023-01-10arm64: zynqmp: Remove id from usb node nameMichal Simek
There is no reason to have number in usb node name. This is also sync up patch with upstream kernel. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/7b13db34031af88a5738d2ec2e05d2498ea8c869.1670590595.git.michal.simek@amd.com
2023-01-10arm64: zynqmp: Align gpio-key node names with dtschemaMichal Simek
The node names should be generic and DT schema expects certain pattern (e.g. with key/button/switch). It is based on kernel commit (228e8a88b1915a2b467c83d8d0976605f1272fae). Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/ae23999097553acb21dfca9288a913bb8b24587a.1670590595.git.michal.simek@amd.com
2023-01-10arm64: zynqmp: Fix AMS device tree nodeMichal Simek
Aligned node description with the Linux kernel. Node has been added by kernel commit (271c1fa01c2307cf74f4656390d6299991119c3e). Signed-off-by: Robert Hancock <[email protected]> Signed-off-by: Michal Simek <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/74188b64cf615100345d058e026cb0d2de0e089b.1670590595.git.michal.simek@amd.com
2023-01-10arm64: zynqmp: Added GEM reset definitionsMichal Simek
The Cadence GEM/MACB driver now utilizes the platform-level reset on the ZynqMP platform. Add reset definitions to the ZynqMP platform device tree to allow this to be used. Linux upstream commit (e461bd6f43f4e568f7436a8b6bc21c4ce6914c36). Signed-off-by: Robert Hancock <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/14e3637735dbc626659e96d142f04a63398362f8.1670590595.git.michal.simek@amd.com
2023-01-10arm64: zynqmp: Sync #dma-cells property locationMichal Simek
Sync property location with Linux kernel done by Linux commit (1ff2d58e60c8093e9be935b1f191341c0cda957a). Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/e09ad90ea610a81528ef5ecbc931bc9791b1c653.1670590595.git.michal.simek@amd.com
2023-01-09ns16650: Correct CONFIG_SYS_NS16550_MEM32 platformsTom Rini
There are currently no platform that are both CONFIG_SYS_NS16550_MEM32 and not (per how the logic was prior to being broken in 0478dac62a9a ("kbuild: Remove uncmd_spl logic")) enabled in CONFIG_DM_SERIAL. We drop this line out now so that platforms which do use CONFIG_SYS_NS16550_MEM32 and depending on stage may or may not have DM_SERIAL set. Fixes: 0478dac62a9a ("kbuild: Remove uncmd_spl logic") Reported-by: Quentin Schulz <[email protected]> Signed-off-by: Tom Rini <[email protected]> Tested-by: Quentin Schulz <[email protected]> #on Ringneck PX30, Puma RK3399
2023-01-09Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2023-01-09Prepare v2023.01v2023.01Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2023-01-09board: rockchip: Fix binman_init failure on EVB-RK3568Jagan Teki
For some newer SoCs like RK3568, the Rockchip has not released any DDR drivers yet so idbloader needs to create manually using DDR binaries offered by rkbin. This indeed no requirement to enable TPL in the U-Boot source code. If we mark TPL disabled and mark BINMAN enabled by default then there would be an issue of binman_init failure during board relocation. This is true as binman failed to find the top-level node like u-boot-tpl here. Here is the boot issue observed in Radxa-CM3 RK3566 board, U-Boot 2023.01-rc4-00057-gac2505d463-dirty (Jan 04 2023 - 23:44:18 +0530) Model: Radxa Compute Module 3(CM3) IO Board DRAM: 2 GiB binman_init failed:-2 initcall sequence 000000007ffd2008 failed at call 0000000000a18cac (err=-2) ### ERROR ### Please RESET the board ### This might be fixed via binman node in rockchip-u-boot.dtsi however disable BINMAN_FDT for evb-rk3568 defconfig for now as we are at the end of the release cycle. Fixes: 05713d570762 ("rockchip: generate u-boot-rockchip.bin with binman for ARM64 boards") Cc: Quentin Schulz <[email protected]> Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-01-08Merge tag 'u-boot-nand-20230108' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-nand-flash into next Pull request for u-boot-nand-20230108 - rawnand: omap_gpmc: driver model support
2023-01-08distro_bootcmd: Fix copy-paste errorMarek Vasut
The "SCRIPT FAILED" string is copied from scan_dev_for_scripts script, update it so it prints "EXTLINUX FAILED" instead in scan_dev_for_extlinux script. Signed-off-by: Marek Vasut <[email protected]>
2023-01-08mtd: rawnand: omap_elm: u-boot driver model supportRoger Quadros
Support u-boot driver model. We still retain support legacy way of doing things if ELM_BASE is defined in <asm/arch/hardware.h> We could completely get rid of that if all platforms defining ELM_BASE get rid of that definition and enable CONFIG_SYS_NAND_SELF_INIT and are verified to work. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Tom Rini <[email protected]> Link: https://lore.kernel.org/all/[email protected] Link: https://lore.kernel.org/all/CABGWkvrvKiVA_yaDnHJcHEKwc+pEuLdz=i6HQEY0oJQvohCUsw@mail.gmail.com
2023-01-08dt-bindings: mtd: Add ti, elm DT binding documentationRoger Quadros
Adds DT binding documentation for the TI Error Location Module. This is picked up from the Linux Kernel. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Link: https://lore.kernel.org/all/[email protected]
2023-01-08mtd: rawnand: omap_gpmc: Enable SYS_NAND_PAGE_COUNT for OMAP_GPMCRoger Quadros
The symbol is required for NAND support in SPL when using OMAP_GPMC driver. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Link: https://lore.kernel.org/all/[email protected]
2023-01-08mtd: rawnand: omap_gpmc: Add SPL NAND supportRoger Quadros
Enables SPL NAND support for ARCH_K3 by enabling SPL_NAND_INIT and SPL_SYS_NAND_SELF_INIT. Legacy OMAP2plus platforms still rely on SPL_NAND_AM33XX_BCH instead. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Link: https://lore.kernel.org/all/[email protected]
2023-01-08mtd: rawnand: omap_gpmc: support u-boot driver modelRoger Quadros
Adds driver model support. We need to be able to self initialize the NAND controller/chip at probe and so enable CONFIG_SYS_NAND_SELF_INIT. Doing so requires nand_register() API which is provided by nand.c and needs to be enabled during SPL build via CONFIG_SPL_NAND_INIT. But nand.c also provides nand_init() so we need to get rid of nand_init() in omap_gpmc driver if CONFIG_SPL_NAND_INIT is set. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Link: https://lore.kernel.org/all/[email protected]
2023-01-08dt-bindings: mtd: Add ti, gpmc-nand DT binding documentationRoger Quadros
Add DT binding documentation for the TI GPMC NAND controller. This is picked up from the Linux Kernel. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Link: https://lore.kernel.org/all/[email protected]
2023-01-08mtd: rawnand: nand_base: Allow base driver to be used in SPL without nand_bbtRoger Quadros
nand_bbt.c is not being built with the nand_base driver during SPL build. This results in build failures if we try to access any nand_bbt related functions. Don't use any nand_bbt functions for SPL build. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Link: https://lore.kernel.org/all/[email protected]
2023-01-08mtd: rawnand: omap_gpmc: Fix BCH6/16 HW based correctionRoger Quadros
The BCH detection hardware can generate ECC bytes for multiple sectors in one go. Use that feature. correct() only corrects one sector at a time so we need to call it repeatedly for each sector. Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Link: https://lore.kernel.org/all/[email protected]
2023-01-07pylibfdt: Allow version normalization to failTom Rini
In some cases, we might not have the sic portion of setuputils available. Make our import and use of this be done in try/except blocks as this is done to suppress a run-time warning that is otherwise non-fatal. Reported-by: Pali Rohár <[email protected]> Fixes: 141659187667 ("pylibfdt: Fix disable version normalization") Signed-off-by: Tom Rini <[email protected]>
2023-01-07common/memsize.c: Check for overflow in get_effective_memsize() only for mpc85xxPali Rohár
This reverts commit 777aaaa706bc ("common/memsize.c: Fix get_effective_memsize() to check for overflow") for non-mpc85xx platforms. The changes to this generic function, which is intended to help with 32bit platforms with large amounts of memory has unintended side effects (which in turn lead to boot failures) on other platforms which were previously functional. For now do overflow check only for powerpc mpc85xx platform. It is needed to prevent crashing of P1/P2 boards with 4GB DDR module in 32-bit mode. Fixes: 777aaaa706bc ("common/memsize.c: Fix get_effective_memsize() to check for overflow") Signed-off-by: Pali Rohár <[email protected]>
2023-01-07Merge tag 'efi-2023-01-rc5-4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2023-01-rc5-4 UEFI: * correct the vexpress loaddr which collides with memory used by EFI * consider the EFI memory map for LMB memory reservation * avoid RWX section warnings for .data section of *_efi.so files
2023-01-06efi_loader: make .data section of *_efi.so files RWHeinrich Schuchardt
When building with binutils 2.39 warnings *_efi.so has a LOAD segment with RWX permissions occur. Use SHF_WRITE | SHF_ALLOC as section flags for the .data section. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-01-06lmb: consider EFI memory mapHeinrich Schuchardt
Add reservations for all EFI memory areas that are not EFI_CONVENTIONAL_MEMORY. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-01-06efi_loader: carve out efi_get_memory_map_alloc()Heinrich Schuchardt
Carve out code from efidebug command used to read the memory map. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-01-06vexpress: adjust loadaddrHeinrich Schuchardt
On the vexpress_ca9x4 $loadaddr points to a memory area used by the EFI sub-system. Use the same value as $kernel_addr_r which is safe. Signed-off-by: Heinrich Schuchardt <[email protected]>