summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-13powerpc: dts: t1024rdb: add serial nodesCamelia Groza
Add the serial node descriptions similar to Linux v6.4 for the t1024rdb board and its dependencies. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13board: freescale: t102xrdb: implement get_serial_clockCamelia Groza
The serial clock is provided by the get_serial_clock() callback on PPC under DM_SERIAL. Use the same method to compute the clock as for non-DM_SERIAL use cases. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13board: freescale: t102xrdb: enumerate PCI devicesCamelia Groza
Call pci_init() to force PCI enumeration at probe time. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13configs: T1042D4RDB: enable DM_SERIALCamelia Groza
As the serial devices are configured in the device tree, enable DM_SERIAL in the non-SPL T1042D4RDB defconfigs. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13powerpc: dts: t1042d4rdb: tag serial nodes with bootph-allCamelia Groza
Make sure the serial driver is initialized before relocation by tagging the serial nodes with "bootph-all". Add these u-boot specific properties to an *-u-boot.dtsi file. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13powerpc: dts: t1042d4rdb: add serial nodesCamelia Groza
Add the serial node descriptions similar to Linux v6.4 for the t1042d4rdb board and its dependencies. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13board: freescale: t104xrdb: implement get_serial_clockCamelia Groza
The serial clock is provided by the get_serial_clock() callback on PPC under DM_SERIAL. Use the same method to compute the clock as for non-DM_SERIAL use cases. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13board: freescale: t104xrdb: enumerate PCI devicesCamelia Groza
Call pci_init() to force PCI enumeration at probe time. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13configs: T4240RDB: enable DM_SERIALCamelia Groza
As the serial devices are configured in the device tree, enable DM_SERIAL in the non-SPL T4240RDB defconfig. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13powerpc: dts: t4240rdb: tag serial nodes with bootph-allCamelia Groza
Make sure the serial driver is initialized before relocation by tagging the serial nodes with "bootph-all". Add these u-boot specific properties to an *-u-boot.dtsi file. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13powerpc: dts: t4240rdb: add serial nodesCamelia Groza
Add the serial node descriptions similar to Linux v6.4 for the t4240rdb board and its dependencies. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13board: freescale: t4240rdb: implement get_serial_clockCamelia Groza
The serial clock is provided by the get_serial_clock() callback on PPC under DM_SERIAL. Use the same method to compute the clock as for non-DM_SERIAL use cases. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13board: freescale: t4240rdb: enumerate PCI devicesCamelia Groza
Call pci_init() to force PCI enumeration at probe time. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13configs: T2080RDB: enable DM_SERIALCamelia Groza
As the serial devices are configured in the device tree, enable DM_SERIAL in the non-SPL T2080RDB defconfigs. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13powerpc: dts: t2080rdb: tag serial nodes with bootph-allCamelia Groza
Make sure the serial driver is initialized before relocation by tagging the serial nodes with "bootph-all". Add these u-boot specific properties to an *-u-boot.dtsi file. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13powerpc: dts: t2080rdb: add serial nodesCamelia Groza
Add the serial node descriptions similar to Linux v6.4 for the t2080rdb board and its dependencies. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13board: freescale: t2080rdb: implement get_serial_clockCamelia Groza
The serial clock is provided by the get_serial_clock() callback on PPC under DM_SERIAL. Use the same method to compute the clock as for non-DM_SERIAL use cases. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13board: freescale: t2080rdb: enumerate PCI devicesCamelia Groza
Call pci_init() to force PCI enumeration at probe time. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-12Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini
- Add ethernet driver for StarFive JH7110 SoC - Add ACLINT mtimer and mswi devices support - Add Lichee PI 4A board
2023-07-12doc: t-head: lpi4a: document Lichee PI 4A boardYixun Lan
Reviewed-by: Wei Fu <wefu@redhat.com> Signed-off-by: Yixun Lan <dlan@gentoo.org>
2023-07-12configs: th1520_lpi4a_defconfig: Add initial configYixun Lan
Add basic config for Sipeed Lichee PI 4A board which make it capable of booting into serial console. Reviewed-by: Wei Fu <wefu@redhat.com> Signed-off-by: Yixun Lan <dlan@gentoo.org>
2023-07-12riscv: dts: t-head: Add basic device tree for Sipeed Lichee PI 4A boardYixun Lan
Only add basic support for CPU, PLIC UART and Timer. Reviewed-by: Wei Fu <wefu@redhat.com> Signed-off-by: Yixun Lan <dlan@gentoo.org>
2023-07-12riscv: t-head: licheepi4a: initial support addedYixun Lan
Add support for Sipeed's Lichee Pi 4A board which based on T-HEAD's TH1520 SoC, only minimal device tree and serial console are enabled, so it's capable of chain booting from T-HEAD's vendor u-boot. Reviewed-by: Wei Fu <wefu@redhat.com> Signed-off-by: Yixun Lan <dlan@gentoo.org>
2023-07-12riscv: Rename SiFive CLINT to RISC-V ALINTBin Meng
As the RISC-V ACLINT specification is defined to be backward compatible with the SiFive CLINT specification, we rename SiFive CLINT to RISC-V ALINT in the source tree to be future-proof. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Rick Chen <rick@andestech.com>
2023-07-12riscv: clint: Update the sifive clint ipi driver to support aclintBin Meng
This RISC-V ACLINT specification [1] defines a set of memory mapped devices which provide inter-processor interrupts (IPI) and timer functionalities for each HART on a multi-HART RISC-V platform. The RISC-V ACLINT specification is defined to be backward compatible with the SiFive CLINT specification, however the device tree binding is a new one. This change updates the sifive clint ipi driver to support ACLINT mswi device, by checking the per-driver data field of the ACLINT mtimer driver to determine whether a syscon based approach needs to be taken to get the base address of the ACLINT mswi device. [1] https://github.com/riscv/riscv-aclint/blob/main/riscv-aclint.adoc Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Rick Chen <rick@andestech.com>
2023-07-12riscv: timer: Update the sifive clint timer driver to support aclintBin Meng
This RISC-V ACLINT specification [1] defines a set of memory mapped devices which provide inter-processor interrupts (IPI) and timer functionalities for each HART on a multi-HART RISC-V platform. The RISC-V ACLINT specification is defined to be backward compatible with the SiFive CLINT specification, however the device tree binding is a new one. This change updates the sifive clint timer driver to support ACLINT mtimer device, using a per-driver data field to hold the mtimer offset to the base address encoded in the mtimer node. [1] https://github.com/riscv/riscv-aclint/blob/main/riscv-aclint.adoc Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Rick Chen <rick@andestech.com>
2023-07-12board: starfive: Dynamic configuration of DT for 1.2A and 1.3BYanhong Wang
The main difference between StarFive VisionFive 2 1.2A and 1.3B is gmac. You can read the PCB version of the current board by get_pcb_revision_from_eeprom(), and then dynamically configure the difference of gmac in spl_perform_fixups() according to different PCB versions, so that one DT and one defconfig can support both 1.2A and 1.3B versions, which is more user-friendly. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Rick Chen <rick@andestech.com>
2023-07-12ram: starfive: Read memory size information from EEPROMYanhong Wang
StarFive VisionFive 2 has two versions, 1.2A and 1.3B, each version of DDR capacity includes 2G/4G/8G, a DT can not support multiple capacities, so the capacity size information is recorded to EEPROM, when DDR initialization required capacity size information is read from EEPROM. If there is no information in EEPROM, it is initialized with the default size defined in DT. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-07-12configs: starfive: Enable ID EEPROM configurationYanhong Wang
Enabled ID_EEPROM and I2C configuration for StarFive VisionFive2 board. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-By: Leo Yu-Chi Linag <ycliang@andestech.com>
2023-07-12riscv: dts: starfive: Add support eeprom device tree nodeYanhong Wang
Add support "atmel,24c04" eeprom for StarFive VisionFive2 board. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-07-12eeprom: starfive: Enable ID EEPROM configurationYanhong Wang
Enabled ID_EEPROM configuration for StarFive VisionFive2 board. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-07-12configs: starfive: Enable ethernet configuration for StarFive VisionFive2Yanhong Wang
Enable DWC_ETH_QOS and PHY_MOTORCOMM configuration to support ethernet function for StarFive VisionFive 2 board,including versions 1.2A and 1.3B. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-07-12doc: board: starfive: Reword the make defconfig informationYanhong Wang
The defconfig file name for StarFive VisionFive2 has been changed, and the documentation description has also changed. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-07-12riscv: dts: jh7110: Combine the board device tree files of 1.2A and 1.3BYanhong Wang
The difference between 1.2A and 1.3B is dynamically configured according to the PCB version, and there is no difference on the board device tree, so the same DT file can be used. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-07-12riscv: dts: jh7110: Add ethernet device tree nodesYanhong Wang
Add ethernet device tree node to support StarFive ethernet driver for the JH7110 RISC-V SoC. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-07-12net: dwc_eth_qos: Add StarFive ethernet driver glue layerYanhong Wang
The StarFive ETHQOS hardware has its own clock and reset,so add a corresponding glue driver to configure them. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-07-12net: phy: Add driver for Motorcomm yt8531 gigabit ethernet phyYanhong Wang
Add a driver for the motorcomm yt8531 gigabit ethernet phy. We have verified the driver on StarFive VisionFive2 board. Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-07-11Merge tag 'efi-2023-07-rc7' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2023-07-rc7 Documentation: * Fix links to Linux kernel documentation UEFI: * Fix memory leak in efidebug dh subcommand * Fix underflow when calculating remaining variable store size * Increase default variable store size to 64 KiB * mkeficapsule: fix efi_firmware_management_capsule_header data type
2023-07-11Makefile: Drop -rc6Tom Rini
When tagging and releasing v2023.07 I forgot to drop the -rc6 tag. For regular use, I've made a v2023.07.01 tag, but for here we can just drop the -rc6 tag. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-07-10Merge branch 'next'Tom Rini
2023-07-10Prepare v2023.07v2023.07Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-07-09Merge tag 'fsl-qoriq-2023-7-6' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq into next Enable DM Serial for ls1043ardb and ls1046ardb/afrwy Fixed secure boot on LS-CH2 platforms
2023-07-09mkeficapsule: fix efi_firmware_management_capsule_header data typeMalte Schmidt
The data type of item_offset_list shall be UINT64 according to the UEFI [1] specifications. In include/efi_api.h the correct data type is used. The bug was probably never noticed because of little endianness. [1] https://uefi.org/specs/UEFI/2.10/index.html Signed-off-by: Malte Schmidt <malte.schmidt@weidmueller.com> Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
2023-07-09doc: harmonize Linux kernel documentation linksHeinrich Schuchardt
Linux internally uses https://www.kernel.org/doc/html/latest/ for documentation links. When referring to their documentation we should do the same. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-07-09cmd: efidebug: add missing efi_free_pool for dh subcommandMasahisa Kojima
This adds the missing efi_free_pool call for dh subcommand. Fixes: a80146205d0a ("cmd: efidebug: add dh command") Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-07-09efi_loader: Increase default variable store size to 64KiBAlper Nebi Yasak
Debian's arm64 UEFI Secure Boot shim makes the EFI variable store run out of space while mirroring its MOK database to variables. This can be observed in QEMU like so: $ tools/buildman/buildman -o build/qemu_arm64 --boards=qemu_arm64 -w $ cd build/qemu_arm64 $ curl -L -o debian.iso \ https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.0.0-arm64-netinst.iso $ qemu-system-aarch64 \ -nographic -bios u-boot.bin \ -machine virt -cpu cortex-a53 -m 1G -smp 2 \ -drive if=virtio,file=debian.iso,index=0,format=raw,readonly=on,media=cdrom [...] => # interrupt autoboot => env set -e -bs -nv -rt -guid 605dab50-e046-4300-abb6-3dd810dd8b23 SHIM_VERBOSE 1 => boot [...] mok.c:296:mirror_one_esl() SetVariable("MokListXRT43", ... varsz=0x4C) = Out of Resources mok.c:452:mirror_mok_db() esd:0x7DB92D20 adj:0x30 Failed to set MokListXRT: Out of Resources mok.c:767:mirror_one_mok_variable() mirror_mok_db("MokListXRT", datasz=17328) returned Out of Resources mok.c:812:mirror_one_mok_variable() returning Out of Resources Could not create MokListXRT: Out of Resources [...] Welcome to GRUB! This would normally be fine as shim would continue to run grubaa64.efi, but shim's error handling code for this case has a bug [1] that causes a synchronous abort on at least chromebook_kevin (but apparently not on QEMU arm64). Double the default variable store size so the variables fit. There is a note about this value matching PcdFlashNvStorageVariableSize when EFI_MM_COMM_TEE is enabled, so keep the old default in that case. [1] https://github.com/rhboot/shim/pull/577 Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-07-09efi_loader: Avoid underflow when calculating remaining var store sizeAlper Nebi Yasak
The efi_var_mem_free() function calculates the available size for a new EFI variable by subtracting the occupied buffer size and the overhead for a new variable from the maximum buffer size set in Kconfig. This is then returned as QueryVariableInfo()'s RemainingVariableStorageSize output. This can underflow as the calculation is done in and processed as unsigned integer types. Check for underflow before doing the subtraction and return zero if there's no space. Fixes: f1f990a8c958 ("efi_loader: memory buffer for variables") Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-07-09x86: Update docs link in bootparam headerPaul Barker
After Linux commit ff61f0791ce9, x86 documentation was moved to arch/x86 and the link in bootparam.h was broken. Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-07-08Merge branch '2023-07-07-assorted-build-improvements' into nextTom Rini
- Correct a few dependencies in Kconfig and better handle some generated files so that they are properly cleaned later.
2023-07-07sysreset: Change Kconfig GPIO dependencyMichal Simek
DM_GPIO depends on GPIO to be enabled but select will cause that DM_GPIO is selected without GPIO which ends up in compilation error: undefined reference to `dm_gpio_set_value' undefined reference to `dm_gpio_get_value' undefined reference to `dm_gpio_free' undefined reference to `gpio_request_by_name' Signed-off-by: Michal Simek <michal.simek@amd.com> [trini: Fix configs which had relied on these select's] Signed-off-by: Tom Rini <trini@konsulko.com>