summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-24pci: Add DW PCIe controller support for iMX8MP SoCSumit Garg
pcie_imx doesn't seem to share any useful code for iMX8 SoC and it is tied to quite old port of pcie_designware driver from Linux which suffices only iMX6 specific needs. But currently we have the common DWC specific bits which alligns pretty well with DW PCIe controller on iMX8MP SoC. So lets reuse those common bits instead as a new driver for iMX8 SoCs. It should be fairly easy to add support for other iMX8 variants to this driver. iMX8MP SoC also comes up with standalone PCIe PHY support, so hence we can reuse the generic PHY infrastructure to power on PCIe PHY. Tested-by: Tim Harvey <[email protected]> #imx8mp-venice* Tested-by: Adam Ford <[email protected]> #imx8mp-beacon-kit Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
2024-03-24phy: phy-imx8m-pcie: Add support for i.MX8M{M/P} PCIe PHYSumit Garg
Add initial support for i.MX8M{M/P} PCIe PHY. On i.MX8M{M/P} SoCs PCIe PHY initialization moved to this standalone PHY driver. Inspired from counterpart Linux kernel v6.8-rc3 driver: drivers/phy/freescale/phy-fsl-imx8m-pcie.c. Use last Linux kernel driver reference commit 7559e7572c03 ("phy: Explicitly include correct DT includes"). Tested-by: Tim Harvey <[email protected]> #imx8mp-venice* Tested-by: Adam Ford <[email protected]> #imx8mp-beacon-kit Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
2024-03-24imx8mp: power-domain: Expose high performance PLL clockSumit Garg
Expose the high performance PLL as clock framework clock, so the PCIe PHY can use it when there is no external refclock provided. Inspired from counterpart Linux kernel v6.8-rc3 driver: drivers/pmdomain/imx/imx8mp-blk-ctrl.c. Use last Linux kernel driver reference commit 7476ddfd36ac ("pmdomain: imx8mp-blk-ctrl: Convert to platform remove callback returning void"). Tested-by: Tim Harvey <[email protected]> #imx8mp-venice* Tested-by: Adam Ford <[email protected]> #imx8mp-beacon-kit Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
2024-03-24imx8mp: power-domain: Add PCIe supportSumit Garg
Add support for GPCv2 power domains and clock handling for PCIe and PCIe PHY. Tested-by: Tim Harvey <[email protected]> #imx8mp-venice* Tested-by: Adam Ford <[email protected]> #imx8mp-beacon-kit Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
2024-03-24reset: imx: Add support for i.MX8MP reset controllerSumit Garg
Add support for i.MX8MP reset controller, it has same reset IP inside as the other iMX7 and iMX8M variants but with different module layout. Inspired from counterpart Linux kernel v6.8-rc3 driver: drivers/reset/reset-imx7.c. Use last Linux kernel driver reference commit bad8a8afe19f ("reset: Explicitly include correct DT includes"). Tested-by: Tim Harvey <[email protected]> #imx8mp-venice* Tested-by: Adam Ford <[email protected]> #imx8mp-beacon-kit Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
2024-03-24reset: imx: Refactor driver to simplify function namesSumit Garg
imx7_reset_{deassert/assert}_imx* are a bit more confusing when compared with imx*_reset_{deassert/assert}. So refactor driver to use function names easier to understand. This shouldn't affect the functionality though. Suggested-by: Marek Vasut <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
2024-03-24clk: imx8mp: Add support for PCIe clocksSumit Garg
Add support for PCIe clocks required to enable PCIe support on iMX8MP SoC. Tested-by: Tim Harvey <[email protected]> #imx8mp-venice* Tested-by: Adam Ford <[email protected]> #imx8mp-beacon-kit Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
2024-03-22remoteproc: uclass: Add methods to load firmware to rproc and boot rprocMD Danish Anwar
Add APIs to set a firmware_name to a rproc and boot the rproc with the same firmware. Clients can call rproc_set_firmware() API to set firmware_name for a rproc whereas rproc_boot() will load the firmware set by rproc_set_firmware() to a buffer by calling request_firmware_into_buf(). rproc_boot() will then load the firmware file to the remote processor and start the remote processor. Signed-off-by: MD Danish Anwar <[email protected]> Acked-by: Ravi Gunasekaran <[email protected]> Reviewed-by: Roger Quadros <[email protected]>
2024-03-22remoteproc: k3-dsp: Extend support for C71x DSPs on J721S2 SoCsHari Nagalla
The K3 J721S2 SoCs have two C71x DSP subsystems in MAIN voltage domain, and there are no C66x DSP subsystems on these SoCs. The C71x DSP subsystem is a slighly updated version of the C71x DSP subsystem on J721e. The C71x DSPs are 64 bit machine with fixed and floating point DSP operations. Extend support to the C71x DSPs with J721S2 compatible strings. Signed-off-by: Hari Nagalla <[email protected]> Signed-off-by: Manorit Chawdhry <[email protected]> Signed-off-by: Apurva Nandan <[email protected]>
2024-03-22remoteproc: k3-r5: Extend support for R5F clusters on J721S2 SoCsHari Nagalla
The K3 J721S2 SoCs have three dual-core R5F subsystems, one in MCU voltage domain and the other two in MAIN voltage domain. These R5F clusters are similar to the R5F clusters in J7200 SoCs. Compatible Info is updated to support J721S2 SoCs. Signed-off-by: Hari Nagalla <[email protected]> Signed-off-by: Manorit Chawdhry <[email protected]> Signed-off-by: Apurva Nandan <[email protected]>
2024-03-22board: toradex: verdin-am62_r5: Increase SPL_STACK_R_MALLOC_SIMPLE_LENHiago De Franco
Increase the SPL_STACK_R_MALLOC_SIMPLE_LEN to 0x200000 to accommodate the size of tispl.bin fit image. With the recent upgrade of ti-linux-firmware from version v9.1.0 to v9.2.5, the size of tispl.bin fit image has increased to 1.4MB, causing allocation errors in the R5 SPL: ``` alloc space exhausted Could not get FIT buffer of 1325056 bytes check CONFIG_SPL_SYS_MALLOC_SIZE ``` Signed-off-by: Hiago De Franco <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2024-03-22.mailmap entry for Masahisa KojimaHeinrich Schuchardt
The Linaro mail address is not valid anymore. Cc: [email protected] Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Masahisa Kojima <[email protected]>
2024-03-22arm: dts: k3-am625-verdin-r5: Change CPU frequency to 800MHzJoao Paulo Goncalves
The lowest speed grade of Toradex AM62 SoMs is K speed, resulting in a max value of 800MHz for the CPU operating frequency. A solution with runtime selection of the CPU frequency is already planned to avoid these kinds of problems in the future. Fixes: 8fb8a6d49977 ("arm: dts: k3-am625-verdin-r5:Change CPU frequency to 1000MHz") Signed-off-by: Joao Paulo Goncalves <[email protected]>
2024-03-22clk: clk-imx8qm: Add LPUART IPG entriesFabio Estevam
Since commit cc7df0b9e8bc ("serial: lpuart: Enable IPG clock") the apalis-imx8qm board no longer boots. The reason is that the imx8qm clock driver does not handle the LPUART IPG clocks inside get_rate(), set_rate() and enable() functions. Fix the boot regression by adding the LPUART IPG entries. Fixes: cc7df0b9e8bc ("serial: lpuart: Enable IPG clock") Reported-by: Marcel Ziswiler <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2024-03-22clk: clk-imx8qxp: Add LPUART IPG entriesFabio Estevam
Since commit cc7df0b9e8bc ("serial: lpuart: Enable IPG clock") the colibri-imx8qxp board no longer boots. The reason is that the imx8qxp clock driver does not handle the LPUART IPG clocks inside get_rate(), set_rate() and enable() functions. Fix the boot regression by adding the LPUART IPG entries. Fixes: cc7df0b9e8bc ("serial: lpuart: Enable IPG clock") Reported-by: Marcel Ziswiler <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]> Tested-by: Hiago De Franco <[email protected]> # Toradex Colibri iMX8X Acked-by: Sean Anderson <[email protected]>
2024-03-22arm64: zynqmp: Do not describe u-boot.itb if SPL is disabledMichal Simek
There is no reason to describe u-boot.itb on system without SPL. Pretty much this is cover all systems which are using only boot.bin which contains all images inside. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/561f9d0ee96ebb6cd674042f269f280ab68fbbac.1708705118.git.michal.simek@amd.com
2024-03-22arm64: zynqmp: Do not setup default SPL options without SPLMichal Simek
mach Kconfig file select some options independently of if SPL is actually enabled. It ends up in situation that SPL is disabled but symbols are still present in .config. That's why add SPL dependency for them but also group them with other SPL options in ARCH_ZYNQMP fragment with using imply option. This should ensure the same behavior as default y. Also fixed SPL_ZYNQMP_PSU_INIT_ENABLED for the same. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/8dc4b799d36f963a3e1ebb5b24793632dc360b61.1710258674.git.michal.simek@amd.com
2024-03-22xilinx: versal-net: Add support for saving env based on bootmodeVenkatesh Yadav Abbarapu
Enable saving variables to MMC(FAT) and SPI based on primary bootmode. If bootmode is JTAG, dont save env anywhere(NOWHERE). Enable ENV_FAT_DEVICE_AND_PART="0:auto" for versal-net platform as well. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2024-03-22iommu: qcom-smmu: fix debuggingCaleb Connolly
The priv struct was wrong in dump_boot_mappings(). Causing errors when compiling with -DDEBUG. Fix this. Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Caleb Connolly <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-03-22usb: gadget: UMS: support multiple sector sizesCaleb Connolly
UFS storage often uses a 4096-byte sector size, add support for dynamic sector sizes based loosely on the Linux implementation. Support for dynamic sector sizes changes the types used in some divisions, resulting in the compiler attempting to use libgcc helpers (__aeabi_ldivmod). Replace these divisions with calls to lldiv() to handle this correctly. Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Caleb Connolly <[email protected]> Link: https://lore.kernel.org/r/[email protected] [mkorpershoek: squashed the lldiv() fix from caleb] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-03-22usb: gadget: CDC ACM: call usb_gadget_initializeCaleb Connolly
To actually use the gadget the peripheral driver must be probed and we must call g_dnl_clear_detach(). Otherwise acm_stdio_start() will always fail to find a UDC on DT platforms. Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Caleb Connolly <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-03-21Merge tag 'efi-2024-04-rc5-2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2024-04-rc5-2 Documentation: * patman: Properly document the patchwork_url setting * doc: man-page for if * colibri-imx8x, apalis-imx8: update board documentation UEFI: * correct handling of EFI binary return code * don't show usage help if EFI binary fails. * correct error handling for bootefi selftest command
2024-03-21Merge tag 'efi-next-20240321' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi into next Pull request efi-next-20240321 Documentation: * Avoid short reference link names in device-tree documentation. UEFI/Video: * Support code page 437 code points 1 - 31 used by GRUB
2024-03-21usb: dwc3-generic: implement Qualcomm wrapperCaleb Connolly
The Qualcomm specific dwc3 wrapper isn't hugely complicated, implemented the missing initialisation for host and gadget mode. Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Caleb Connolly <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-03-21patman: Properly document the patchwork_url settingDouglas Anderson
The "Series-patchwork-url:" tag description says that it overrides the settings file but doesn't specify the name of the setting. Elsewhere in the documentation about the "useful" settings we see a setting that sounds promising called "patchwork_server" that's actually not a valid setting. It should be "patchwork_url". Fix these problems so the doc is right and more useful. Signed-off-by: Douglas Anderson <[email protected]>
2024-03-21doc: typo SynopisHeinrich Schuchardt
%s/Synopis/Synopsis/g Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-03-21doc: man-page for ifHeinrich Schuchardt
Provide a man-page for the if command. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-03-21cmd: bootefi: error handling bootefi selftestHeinrich Schuchardt
If bootefi selftest is executed and a problem with the device-tree installation occurs, efi_install_fdt() writes sensible error messages. It never returns EFI_INVALID_PARAMETER. It neither makes sense to check for EFI_INVALID_PARAMETER nor to show the usage help for the bootefi command in this case. Fixes: 296faf4f7ef1 ("cmd: bootefi: re-organize do_bootefi()") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-03-21cmd: bootefi: Don't show usage help if EFI binary fails.Heinrich Schuchardt
If an EFI binary returns an error code EFI_INVALID_PARAMETER, we show the usage help for the bootefi command: Shell> exit 0x8000000000000002 ## Application failed, r = 2 bootefi - Boots an EFI payload from memory Usage: bootefi <image address>[:<image size>] [<fdt address>] - boot EFI payload bootefi bootmgr [fdt address] - load and boot EFI payload based on BootOrder/BootXXXX variables. If specified, the device tree located at <fdt address> gets exposed as EFI configuration table. This makes no sense. Fixes: 296faf4f7ef1 ("cmd: bootefi: re-organize do_bootefi()") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-03-21efi_loader: correct handling of EFI binary return codeHeinrich Schuchardt
We should not try to remove protocol interfaces from a NULL handle. efi_run_image() should always return the return code of the executed EFI binary. Fixes: 6422820ac3e5 ("efi_loader: split unrelated code from efi_bootmgr.c") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-03-21doc: board: apalis-imx8: Update and improve documentationHiago De Franco
Update and improve the building documentation of Apalis iMX8. The following changes were made: - imx-atf repository changed to nxp-imx GitHub. - imx-atf branch updated to 'lf_v2.6'. - imx-seco updated to version 5.8.7. - nxp-imx mfgtools link updated to GitHub releases. - General writing improvements. Signed-off-by: Hiago De Franco <[email protected]>
2024-03-21doc: board: colibri-imx8x: Update and improve documentationHiago De Franco
Update and improve the building documentation of Colibri iMX8X. The following changes were made: - imx-atf repository changed to nxp-imx GitHub. - imx-atf branch updated to 'lf_v2.6'. - imx-seco updated to version 5.8.7. - nxp-imx mfgtools link updated to GitHub releases. - General writing improvements. Signed-off-by: Hiago De Franco <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2024-03-21doc: typo SynopisHeinrich Schuchardt
%s/Synopis/Synopsis/g Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-03-21efi_selftest: Update StrToFat() unit test after CP473 map extensionJanne Grunau
Test that Unicode code points which map to CP437 code points 1-31 are converted to '_'. This ensures no FAT file names do not contain chars which are control characters in other code pages (CP 1250 for example). Signed-off-by: Janne Grunau <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-03-21efi_selftest: Add geometric shapes character selftestJanne Grunau
Draw symbols from Unicode's "Geometric shapes" page which translate to code page 437 code points 1-31. These are used by UEFI applications to draw user interfaces using EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL. The output has to be checked manually on the screen for correctness. Signed-off-by: Janne Grunau <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-03-21efi_selftest: Add box drawing character selftestAndre Przywara
UEFI applications rely on Unicode output capability, and might use that for drawing pseudo-graphical interfaces using Unicode defined box drawing characters. Add a simple test to display the most basic box characters, which would need to be checked manually on the screen for correctness. Signed-off-by: Andre Przywara <[email protected]> Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Janne Grunau <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-03-21efi_selftest: Add international characters testAndre Przywara
UEFI relies entirely on unicode output, which actual fonts displayed on the screen might not be ready for. Add a test displaying some international characters, to reveal missing glyphs, especially in our builtin fonts. This would be needed to be manually checked on the screen for correctness. Signed-off-by: Andre Przywara <[email protected]> Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Janne Grunau <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-03-21lib/charset: Map Unicode code points to CP437 code points 1-31Janne Grunau
Code page 437 uses code points 1-31 for glyphs instead of control characters. Map the appropriate Unicode code points to this code points. Fixes rendering of grub2's menu as EFI application using the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL on a console with bitmap fonts. Signed-off-by: Janne Grunau <[email protected]>
2024-03-21video: console: Parse UTF-8 character sequencesJanne Grunau
efi_console / UEFI applications (grub2, sd-boot, ...) pass UTF-8 character sequences to vidconsole which results in wrong glyphs for code points outside of ASCII. The truetype console expects Unicode code points and bitmap font based consoles expect code page 437 code points. To support both convert UTF-8 to UTF-32 and pass Unicode code points in vidconsole_ops.putc_xy(). These can be used directly in console_truetype and after conversion to code page 437 in console_{normal,rotate}. This fixes rendering of international, symbol and box drawing characters used by UEFI applications. Signed-off-by: Janne Grunau <[email protected]>
2024-03-21doc: devicetree: Lets avoid short reference link namesSumit Garg
Short reference link names like "dtspec", "dtrepo", "dttweaks" etc. interrupt the flow of the document text. Lets avoid them and instead expand in place for better readability. Suggested-by: Paul Barker <[email protected]> Signed-off-by: Sumit Garg <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-03-20test: dm: add button_cmd testCaleb Connolly
Add a test for the button_cmd feature. This validates that commands can be mapped to two buttons, that the correct command runs based on which button is pressed, that only 1 command is run, and that no command runs if button_cmd_0_name is wrong or unset. Additionally, fix a potential uninitialised variable use caught by these tests, the btn variable in get_button_cmd() is assumed to be null if button_get_by_label() fails, but it's actually used uninitialised in that case. CONFIG_BUTTON is now enabled automatically and was removed when running save_defconfig. Fixes: e761035b6423 ("boot: add support for button commands") Signed-off-by: Caleb Connolly <[email protected]>
2024-03-20Makefile: Add missing OF_UPSTREAM Makefile for 32bit ARMMarek Vasut
Copy dts/upstream/src/arm64/Makefile into dts/upstream/src/arm/Makefile and create a commit. This makes 32bit ARM buildable with OF_UPSTREAM . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Adam Ford <[email protected]> #am3517-evm Tested-by: Tony Dinh <[email protected]>
2024-03-20gpio: mcp230xx: Add support for models with SPI interface.Piotr Wojtaszczyk
Signed-off-by: Piotr Wojtaszczyk <[email protected]>
2024-03-20arm: dts: ast2600-x4tf: Add new dts for ASUS X4TFKelly Hung
This is the new bmc dts for ASUS X4TF server. Signed-off-by: Kelly Hung <[email protected]>
2024-03-20spl: Improve error message for SPL memory allocationLeo Yu-Chi Liang
There could be two memory allocation scheme in SPL phase. Explicitly print the corresponding error message. Signed-off-by: Leo Yu-Chi Liang <[email protected]>
2024-03-20Merge branch '2024-03-19-assorted-updates' into nextTom Rini
- TI J7200 updates, GIC-600 support, 2 more tests, fix parsing ccsidr_el1 register in some cases, prepare for allowing remoteproc to use fs_loader and make the binary_size_check rule not require 'bc'.
2024-03-19test/py: reset: Add a test for reset commandLove Kumar
Add a test for reset commands which performs resetting of CPU, It does COLD reset by default and WARM reset with -w option. Signed-off-by: Love Kumar <[email protected]>
2024-03-19test/py: saveenv: Add a test for saveenv commandLove Kumar
Add test case for saveenv command in non-JTAG bootmode which saves the u-boot environment variables in persistent storage. Signed-off-by: Love Kumar <[email protected]>
2024-03-19Makefile: use shell to calculate map_sizeLeon M. Busch-George
The error message "bc: command not found" is easily missed since the build continues. bc is not a part of coreutils or base-devel. POSIX sh can also do the calculation. Signed-off-by: Leon M. Busch-George <[email protected]> Reviewed-by: Dragan Simic <[email protected]>
2024-03-19arm: Check FEAT_CCIDX when parsing ccsidr_el1 registerLukasz Wiecaszek
Current Cache Size ID Register (ccsidr_el1) has two "flavors" depending on whether FEAT_CCIDX is implemented or not. When FEAT_CCIDX is implemented Associativity parameter is coded on bits [23:3] and NumSets parameter on bits [55:32]. When FEAT_CCIDX is not implemented then Associativity parameter is coded on bits [12:3] and NumSets parameter on bits [27:13]. Current U-Boot code does not check whether FEAT_CCIDX is implemented and always parses ccsidr_el1 as if FEAT_CCIDX was not implemented. This is of course wrong on systems where FEAT_CCIDX is implemented. This patch fixes that problems and tests whether FEAT_CCIDX is implemented or not and accordingly parses the ccsidr_el1 register. Signed-off-by: Lukasz Wiecaszek <[email protected]>