summaryrefslogtreecommitdiff
path: root/board/xilinx
AgeCommit message (Collapse)AuthorFilesLines
2023-06-12Merge tag 'xilinx-for-v2023.10-rc1' of ↵Tom Rini6-17/+255
https://source.denx.de/u-boot/custodians/u-boot-microblaze into next Xilinx changes for v2023.10-rc1 global: - Use proper U-Boot project name Fix sparse warnings in zynqmp-clk, zynqmp handoff, board cmd: - Cover incorrect 0 length entries Versal NET: - Add bootmode logic - Support SPP production version - Add loadpdi command ZynqMP: - Clear pmufw node command ID handling - Change power domain behavior around zynqmp_pmufw_node() - Fix zynqmp cmd return values and pmufw command - Fix R5 tcm init and modes mmc: - Sync Versal NET emmc DT binding pcie: - Add support for ZynqMP PCIe root port video: - Add support for ZynqMP DP tools: - Fix debug message in relocate-rela
2023-06-12arm64: zynqmp: Fix tcminit mode paramVenkatesh Yadav Abbarapu1-0/+5
While invoking "zynqmp tcminit mode" command (which is invalid command) on U-Boot, it just works. Check the mode param, if it is valid then only initialize the TCM. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20230608032152.980-2-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-06-12arm64: zynqmp: Fix return code from do_zynqmp_pmufw()Michal Simek1-1/+6
zynqmp_pmufw_node() can also return values like -ENODEV which means that NODE has been already configured that's why don't propagate this error code. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/e52d24d8d3efb276778d387dc716e4e065e0626f.1685618701.git.michal.simek@amd.com
2023-06-12arm64: zynqmp: Fix command error values properlyMichal Simek1-4/+4
Process errors from command via cmd_process_error() as is done on Versal. When internal function returns different number then CMD_RET_SUCCESS(0), CMD_RET_FAILURE(1) or CMD_RET_USAGE(-1) shell react on these errors by throwing an error like "exit not allowed from main input shell." that's why use cmd_process_error() to make sure that error code is all the time correct. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/d511935ba10daf95c70996fae6e6ffc374efffa0.1685618464.git.michal.simek@amd.com
2023-06-12arm64: zynqmp: Check 0 node IDMichal Simek1-1/+5
ID is decimal not hexadecimal that's why passing hex number all the time end's up as 0 that's why check it. Node ID 0 is not valid anyway. Also properly say it in help. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/68c5cd5eade216f3c5aa6eb703ee9f69f14acad1.1685615549.git.michal.simek@amd.com
2023-06-12board: xilinx: Add missing prototypesAlgapally Santosh Sagar1-0/+7
Add missing prototypes to fix the below sparse warnings 1. warning: no previous prototype for 'soc_name_decode' [-Wmissing-prototypes] 2. warning: no previous prototype for 'soc_detection' [-Wmissing-prototypes] 3. warning: no previous prototype for 'board_name_decode' [-Wmissing-prototypes] 4. warning: no previous prototype for 'board_detection' [-Wmissing-prototypes] Signed-off-by: Algapally Santosh Sagar <santoshsagar.algapally@amd.com> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Link: https://lore.kernel.org/r/20230523055626.14742-1-ashok.reddy.soma@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-06-12xilinx: versal-net: Add new versalnet loadpdi commandAlgapally Santosh Sagar3-0/+90
Versal NET loadpdi command is used for loading secure & non-secure pdi images. Signed-off-by: Algapally Santosh Sagar <santoshsagar.algapally@amd.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/f43709af894b669833770acb39ff5856fecf6d66.1684761656.git.michal.simek@amd.com
2023-06-12arm64: versal-net: Add support for SPP production versionMichal Simek1-11/+24
Production version restarting platform version field from 0 that's why add new calculation to be able to use different DT for these platforms. Requested DT names for production silicons for IPP/SPP and EMU platform are versal-net-ipp-rev2.0.dts and versal-net-emu-rev2.0.dts. If platform version increase numbers revision can be even higher. As of today platform version is 2 that's why expected is rev2.2. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/691e166b3cf2643d7edf482bda5500163eecb35a.1684311689.git.michal.simek@amd.com
2023-06-12arm64: versal-net: Detect and display bootmodeAshok Reddy Soma1-0/+114
Read boodmode register using versal_net_get_bootmode() in board_late_init and prepare corresponding distro boot command sequence based on it. versal_net_get_bootmode() will be changed to use smc calls later, but for now directly reads the register. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Link: https://lore.kernel.org/r/20230516144753.30869-1-ashok.reddy.soma@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-06-08efi_loader: add the number of image entries in efi_capsule_update_infoMasahisa Kojima1-1/+1
The number of image array entries global variable is required to support EFI capsule update. This information is exposed as a num_image_type_guids variable, but this information should be included in the efi_capsule_update_info structure. This commit adds the num_images member in the efi_capsule_update_info structure. All board files supporting EFI capsule update are updated. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-03-09arm64: zynqmp: Add missing ZYNQMP_FIRMWARE dependenciesAlgapally Santosh Sagar1-0/+1
There are missing Kconfig dependencies in the code which is using firmware interface. The commit 71efd45a5fc7 ("arm64: zynqmp: Change firmware dependency") add option to also disable ZYNQMP_FIRMWARE. But not all Kconfig dependencies were properly described and also sdhci and gem drivers didn't protect the code properly. So, add the missing ZYNQMP_FIRMWARE dependencies. Signed-off-by: Algapally Santosh Sagar <santoshsagar.algapally@amd.com> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Link: https://lore.kernel.org/r/20230201095553.11219-1-ashok.reddy.soma@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-02-10Correct SPL use of SYS_MEM_RSVD_FOR_MMUSimon Glass1-1/+1
This converts 1 usage of this option to the non-SPL form, since there is no SPL_SYS_MEM_RSVD_FOR_MMU defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL use of REGEXSimon Glass1-1/+1
This converts 1 usage of this option to the non-SPL form, since there is no SPL_REGEX defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL uses of MICROBLAZESimon Glass1-2/+2
This converts 2 usages of this option to the non-SPL form, since there is no SPL_MICROBLAZE defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL uses of ENV_VARS_UBOOT_RUNTIME_CONFIGSimon Glass4-4/+4
This converts 4 usages of this option to the non-SPL form, since there is no SPL_ENV_VARS_UBOOT_RUNTIME_CONFIG defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL uses of EFI_HAVE_CAPSULE_SUPPORTSimon Glass1-1/+1
This converts 13 usages of this option to the non-SPL form, since there is no SPL_EFI_HAVE_CAPSULE_SUPPORT defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL uses of DTB_RESELECTSimon Glass1-2/+2
This converts 2 usages of this option to the non-SPL form, since there is no SPL_DTB_RESELECT defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL use of CMD_FRUSimon Glass1-1/+1
This converts 1 usage of this option to the non-SPL form, since there is no SPL_CMD_FRU defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL use of ARCH_ZYNQSimon Glass1-1/+1
This converts 1 usage of this option to the non-SPL form, since there is no SPL_ARCH_ZYNQ defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-01-27fru: ops: Display FRU fields properly for 0xc1 fieldsAlgapally Santosh Sagar1-15/+28
FRU data is not displayed properly in case of 0xc1 fields. The 0xC1 can be used in two cases. 1. Char record type 8-bit ASCII + Latin 1 with length of 1. (For example board revision 'A') 2. C1h (type/length byte encoded to indicate no more info fields). which can follow by 00h to fill all remaining unused space Hence removed the check end-of-the field c1 to allow c1 fields. "ASCII+LATIN1" is defined as the printable characters from the first set of 256 characters of Unicode 6.2 (U+0000h through U+00FFh, inclusive) expressed as an eight-bit value. (Unicode follows ISO/IEC 8859-1 in the layout of printable characters up to U+00FFh). So, print only printable chars and limit range from 0x20 ' ' to 0x7e '-' which will be also indication if 0xc1 behaves as record with one char or end of record. Signed-off-by: Algapally Santosh Sagar <santoshsagar.algapally@amd.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/4198d73de600627872c80a5b07e5068502c589d7.1674648379.git.michal.simek@amd.com
2023-01-27xilinx: board: Update logic in xilinx_read_eeprom_legacyMichal Simek1-10/+14
When eeprom has random content printing random chars can stuck U-Boot. That's why update legacy eeprom format decoding algorithm to copy only maximum amount of chars allocated for fields. And also print them directly from desc structure. Previous algorithm was printing strings first directly from eeprom content and then copy them to desc structure. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/42065fcbb1a10581f9f4f091d64b43c01fe595c6.1674573561.git.michal.simek@amd.com
2023-01-27xilinx: board: Fix xilinx_eeprom_legacy_cleanup()Michal Simek1-2/+6
When ethernet mac address contains 0x20 or 0xff MAC address is changed and bytes are converted to zeros. That's why fix decoding algorithm to ignore fields where MAC address is stored and all non printable chars (including space) are zeroed. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/2802cf1086b14c181356810006fe886f950a36f3.1674573561.git.michal.simek@amd.com
2023-01-27xilinx: board: Use ETH_ALEN macro for mac address sizeMichal Simek1-1/+1
Use predefined macro for eth_mac legacy format. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/382d4bff370894164fad3c30ac0400b25142b544.1674573561.git.michal.simek@amd.com
2023-01-27xilinx: versal: Add missing headerAlgapally Santosh Sagar1-0/+1
Add missing prototype to fix the sparse warning, warning: no previous prototype for 'do_go_exec' [-Wmissing-prototypes]. Signed-off-by: Algapally Santosh Sagar <santoshsagar.algapally@amd.com> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Link: https://lore.kernel.org/r/20230120053617.32463-4-ashok.reddy.soma@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-01-27xilinx: common: Include header file to fix warningAlgapally Santosh Sagar1-0/+1
Prototype is missing for board_get_usable_ram_top, which is pointed by below sparse warning. Include init.h header file to fix this. warning: no previous prototype for 'board_get_usable_ram_top' [-Wmissing-prototypes]. Signed-off-by: Algapally Santosh Sagar <santoshsagar.algapally@amd.com> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Link: https://lore.kernel.org/r/20230120053617.32463-2-ashok.reddy.soma@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-01-24arm64: zynqmp: Add support for Kria K24 SOMMichal Simek2-0/+1062
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 <michal.simek@amd.com> Link: https://lore.kernel.org/r/61f877ec0b480c5bd368a1211fc73ff7465016bd.1674043915.git.michal.simek@amd.com
2023-01-18xilinx: common: Add support for partial string match in ↵Michal Simek1-2/+20
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 <michal.simek@amd.com> 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 Soma1-0/+41
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 <ashok.reddy.soma@amd.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/fcd8b0dc4b45a11f5e753afff42f84738ac813da.1673336645.git.michal.simek@amd.com
2023-01-11arm64: zynqmp: remove Avnet UltraZed-EV Starter KitLuca Ceresoli2-661/+0
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 <luca.ceresoli@bootlin.com> Link: https://lore.kernel.org/r/20230111082554.1930782-1-luca.ceresoli@bootlin.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-06global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_*Tom Rini2-7/+7
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS_SDRAM namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-12-05xilinx: zynqmp: Fix SPL_FS_LOAD_PAYLOAD_NAME usageMichal Simek1-21/+24
SPL_FS_LOAD_PAYLOAD_NAME depends on SPL to be enabled. If SPL is not enabled code still expects SPL_FS_LOAD_PAYLOAD_NAME to be present. That's why setup proper dependency in the code. And by doing so also change the logic around dfu_alt_info string composition to be simpler. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/3989c390a4acae13a1b05c040e14fb3d68bced02.1669986373.git.michal.simek@amd.com
2022-12-05arm64: zynqmp: Do not include psu_init to U-Boot by defaultMichal Simek1-5/+1
The commit ed35de617013 ("Convert CONFIG_ZYNQMP_PSU_INIT_ENABLED to Kconfig") converted CONFIG_ZYNQMP_PSU_INIT_ENABLED symbol and enabled it by default which is not correct configuration. Intention of this config was to have it enabled by default for SPL and provide an option to users to also do low level initialization directly from U-Boot. That's why it is necessary to define second symbol with SPL marking in it and properly use symbols depends on usage in Makefile. Also disable ZYNQMP_PSU_INIT_ENABLED from boards which enables it by default. CONFIG_SPL_ZYNQMP_PSU_INIT_ENABLED is enabled by default when SPL is enabled. Reported-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/d5fcbd66b05bf0d7ef594e66464ee23b48c5e4cc.1669969083.git.michal.simek@amd.com
2022-12-05board/xilinx/zynqmp/MAINTAINERS: change e-mail address for Luca CeresoliLuca Ceresoli1-1/+1
My Bootlin address is the preferred one now. Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Link: https://lore.kernel.org/r/20221203214939.56608-1-luca@lucaceresoli.net Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05xilinx: Remove unused ZYNQ_MAC_IN_EEPROM/ZYNQ_GEM_I2C_MAC_OFFSET entriesMichal Simek1-17/+0
The commit ba74bcf3e07b ("xilinx: common: Remove zynq_board_read_rom_ethaddr()") removed zynq_board_read_rom_ethaddr() because xlnx,eeprom link via DT chosen node is no longer used. But forget to remove Kconfig entries which are used by this code only. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/f97451ed33409838efea4071553b6da795cfc578.1669192026.git.michal.simek@amd.com
2022-12-05xilinx: Add option to select SC id instead of DUT id for SC supportMichal Simek3-1/+15
Reading MAC address from on board EEPROM requires different type for System Controller (SC). Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/90bb7cc5463568a690b979f18c8d42556986b46d.1669204122.git.michal.simek@amd.com
2022-11-22arm64: zynqmp: Create vck190 spl link for revBMichal Simek1-0/+1
vck190 system controller low level setup is the same for revB that's why also create symlink to revA. Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-11-22xilinx: common: Remove zynq_board_read_rom_ethaddr()Venkatesh Yadav Abbarapu1-28/+0
Removing the zynq_board_read_rom_ethaddr() function as xlnx,eeprom is not used anymore. As all board dts to use nvmem alias instead of xlnx,eeprom. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20221017094818.17996-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-10-10xilinx: zynqmp: Load pmufw configuration before checking accessMichal Simek1-4/+8
Before this patch you could see in the log: U-Boot SPL 2022.10-rc5 (Sep 29 2022 - 15:29:27 +0200) PMUFW: v1.1 Loading new PMUFW cfg obj (32 bytes) PMUFW: No permission to change config object Loading new PMUFW cfg obj (2032 bytes) where it is visible that permission is check before sending PMUFW configuration (big size). When this patch is applied it is visible that order is correct. U-Boot SPL 2022.10-rc5 (Sep 29 2022 - 15:47:08 +0200) Loading new PMUFW cfg obj (2032 bytes) PMUFW: v1.1 Loading new PMUFW cfg obj (32 bytes) Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/a0bf4f46d670023da4f848790eece6fff22090c2.1664962765.git.michal.simek@amd.com
2022-10-10xilinx: common: fix board_late_init_xilinx()Heinrich Schuchardt1-3/+0
Compiling with GCC-12 leads to an error: +board/xilinx/common/board.c:479:37: error: the comparison will always evaluate as 'true' for the address of 'mac_addr' will never be NULL [-Werror=address] + 479 | if (!desc->mac_addr[i]) + | ^ Remove the redundant check. Fixes: a03b594738f8 ("xilinx: board: Add support for additional card detection") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Link: https://lore.kernel.org/r/20221008091317.52838-1-heinrich.schuchardt@canonical.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-10-10xilinx: zynqmp: change the type of multiboot variableVenkatesh Yadav Abbarapu1-1/+1
In function ‘set_dfu_alt_info’ a comparison of a u8 value against 0 is done. Since it is always false, change the signature of this function to use an `int` instead, which match the type used in caller: `multi_boot()`. Fix the following warning triggered with W=1: board/xilinx/zynqmp/zynqmp.c:651:23: warning: comparison is always false due to limited range of data type [-Wtype-limits] 651 | if (multiboot < 0) Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20221004055254.26246-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-10-10xilinx: common: Add print_cpuinfo() declarationVenkatesh Yadav Abbarapu1-0/+1
cpu-info.c defines print_cpuinfo(), but neglected to include its declaration, causing the following sparse and compile time warnings: board/xilinx/common/cpu-info.c:10:5: warning: no previous prototype for 'print_cpuinfo' [-Wmissing-prototypes] Include init.h, which includes the missing declaration. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20221004055053.26047-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-10-05xilinx: common: Fix static checker warningsVenkatesh Yadav Abbarapu1-3/+3
Avoid signed extension for uuid and byte. Eliminate the below smatch warnings: board/xilinx/common/board.c:128 xilinx_eeprom_legacy_cleanup() warn: impossible condition '(byte == 255) => ((-128)-127 == 255)' board/xilinx/common/board.c:466 board_late_init_xilinx() warn: argument 3 to %02x specifier has type 'char' board/xilinx/common/board.c:466 board_late_init_xilinx() warn: argument 4 to %02x specifier has type 'char' Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20220926065242.4355-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-10-05xilinx: zynq: Enable early eeprom decodingMichal Simek1-0/+3
Xilinx Zynq evaluation boards have factory program content in eeprom. Enable reading and decoding eeprom content to get information about board name, revision and especially getting ethernet mac address. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/db334bd3c0a377074a43b7ae479fade98efb545f.1664265344.git.michal.simek@amd.com
2022-09-26Merge tag 'xilinx-for-v2023.01-rc1-v2' of ↵Tom Rini5-3/+199
https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze into next Xilinx changes for v2023.01-rc1 (round 2) xilinx: - Add support for new Versal NET SOC zynqmp: - Use mdio bus for ethernet phy description - Wire ethernet phy reset via i2c-gpio versal: - Config cleanup
2022-09-26arm64: versal-net: Add support for Versal NET platformMichal Simek5-3/+199
Versal NET platform is based on Versal chip which is reusing a lot of IPs. For more information about new IPs please take a look at DT which describe currently supported devices. The patch is adding architecture and board support with soc detection algorithm. Generic setting should be very similar to Versal but it will likely diverge in longer run. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/320206853dc370ce290a4e7b6d0bb26b05206021.1663589964.git.michal.simek@amd.com
2022-09-23board_f: Fix types for board_get_usable_ram_top()Pali Rohár1-1/+1
Commit 37dc958947ed ("global_data.h: Change ram_top type to phys_addr_t") changed type of ram_top member from ulong to phys_addr_t but did not changed types in board_get_usable_ram_top() function which returns value for ram_top. So change ulong to phys_addr_t type also in board_get_usable_ram_top() signature and implementations. Fixes: 37dc958947ed ("global_data.h: Change ram_top type to phys_addr_t") Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-09-13xilinx: common: Add support for SOC detectionMichal Simek1-0/+25
Code supports board detection based on information available in EEPROM in legacy or FRU format. But this is not enough for emulation and simulation systems which are lacking these identification EEPROMs. But SOC itself has normally registers for SOC identification. Based on them it is possible to compose detected name. That's why prepare infrastructure in common location for SOC platform detection which is called before board platform detection. SOC platform detection shouldn't detect real silicon and should fallback to current existing mechanism to identify boards based on EEPROMs. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/329a8da338927b082e26a958bf69bb18af072420.1662460837.git.michal.simek@amd.com
2022-09-13arm64: xilinx: Move board_get_usable_ram_top() to common locationMichal Simek4-73/+29
The commit ce39ee28ec31 ("zynqmp: Do not place u-boot to reserved memory location") adds functionality for ZynqMP to read reserved memory node and do not place U-Boot to reserved location. This functionality is generic across all Xilinx SOCs that's why move it to common location to be used by all Xilinx SOCs. On zynq platform this is also fixing issue where U-Boot was placed to locating which was reserved already which ends up with error message "ERROR: reserving fdt memory region failed (addr=30000000 size=10000000 flags=4)" which is shown when bdinfo is called. Tested on vck190, zcu102, zc706 and kc705 to cover all platforms. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/b0817807912f7c7af6a8e1cf9ee04e5ab5de5f6a.1661430188.git.michal.simek@amd.com
2022-09-13xilinx: Define only mmc devnum not partitionMichal Simek2-3/+3
The commit 53b406369e9d ("DFU: Check the number of arguments and argument string strictly") added strict control over string that 0:1 partition definition is not valid anymore that's why use only device number without partition ID. Device is specified by 2nd parameter and partition by 3rd. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/840eca944f4f2abeeb63b5d724f9ba5fe9a9213b.1660055571.git.michal.simek@amd.com
2022-09-13xilinx: zynq: Use CONFIG_SPL_FS_LOAD_PAYLOAD_NAME for dfu_alt_infoMichal Simek1-2/+3
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME stores the name of firmware file to be loaded by SPL. Name can be selected via Kconfig that's why use the macro. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/601fbc2dfd16b4708fc6b5f86954e10add43334e.1660055571.git.michal.simek@amd.com