summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-30apalis-imx8: drop obsolete environment variablesMarcel Ziswiler
Drop obsolete environment variables fdt_addr, finduuid, boot_file, mmcargs, mmcdev, mmcpart and panel. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Andrejs Cainikovs <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis-imx8: remove obsolete net usb startMarcel Ziswiler
Remove obsolete net USB start. While at it also add a comment about enabling distro-boot. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis-imx8: remove obsolete sdhc related config definesMarcel Ziswiler
Remove obsolete SDHC related config defines. Nowadays, all SDHC related hardware configuration comes from the device tree. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30ddr: imx: Handle both 3733 and 3732 MTps ratesMarek Vasut
The DDR calibration tool for i.MX8M currently produces 3732 MTps rate in lpddr4_timing.c , while the PHY code expects 3733 MTps rate. Support both variants to avoid surprises where the system fails to boot. Signed-off-by: Marek Vasut <[email protected]>
2023-01-30apalis-imx8: add emmc/mmc card pinctrl's for different speedsAndrejs Cainikovs
Add pinctrl's for high speed eMMC and MMC cards. Signed-off-by: Andrejs Cainikovs <[email protected]> Signed-off-by: Philippe Schenker <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30board: apalis-imx8: initialize snvsAndrejs Cainikovs
Initialize Secure Non-Volatile Storage, aka SNVS. Signed-off-by: Andrejs Cainikovs <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30board: apalis-imx8: remove board_phy_config duplicateAndrejs Cainikovs
Remove a duplicate of weak board_phy_config() implementation in drivers/net/phy/phy.c. Signed-off-by: Andrejs Cainikovs <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30board: apalis-imx8: get rid of sc_err_t typePhilippe Schenker
sc_pm_setup_uart() returns int, not sc_err_t. Signed-off-by: Philippe Schenker <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis-imx8: introduce setup setting setupargsMarcel Ziswiler
Introduce setup setting setupargs and move earlycon there. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis-imx8: enable environment bootcount limitMarcel Ziswiler
Enable optional environment bootcount limit functionality. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis/colibri-imx8/8x: remove global variable scriptOleksandr Suvorov
The distroboot script system scans boot_scripts variable and try to find and use to boot each script name mentioned there. Setting global variable "script" breaks this general mechanism of searching and running a distro boot script. Remove global variables "script" to fix working the general distro boot script mechanism. Signed-off-by: Oleksandr Suvorov <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis/colibri-imx8/8x: add overlay support for i.mx 8/8x-based somsOleksandr Suvorov
There is no "apply" command enabled for "fdt". Enable "apply" command to allow overlays to be applied. Signed-off-by: Oleksandr Suvorov <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis-imx8: set bootdelayMarcel Ziswiler
Set the boot delay to one second. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis-imx8: provide proper config_sys_promptIgor Opaniuk
This provides correct system prompt for U-Boot console. Signed-off-by: Igor Opaniuk <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis-imx8: display build infoMarcel Ziswiler
Display build info with information about the version of SCFW, SECO and TF-A (ATF). Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis-imx8: turn off lcd backlight before os handoverMarcel Ziswiler
U-Boot typically tears down the display controller before handing control over to Linux. On LCD displays disabling pixel clock leads to a fading out effect with vertical/horizontal lines. Make sure to disable back light GPIO Apalis BKL1 before booting Linux. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30apalis-imx8: implement pcb version and soc variant handlingMarcel Ziswiler
Implement PCB version and SoC variant handling which automatically loads the correct device tree for the Linux kernel. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Andrejs Cainikovs <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30arm: dts: imx8mn-u-boot: fix DDR3 only supportDario Binacchi
In case the CONFIG_IMX8M_LPDDR4 and CONFIG_IMX8M_DDR4 options are both disabled (i. e. BSH boards), binmain fails because DDR4 bin files are missing. Fixes: 93c4c0e4dd1e75 ("arm: dts: imx8mn-u-boot: Create common imx8mn-u-boot.dtsi") Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-30ARM: meson: Add support for Odroid-N2LNeil Armstrong
ODROID-N2L is a variant SBC in small form factor and some peripherals are removed from ODROID-N2PLUS based on S922X SoC. - On-board ethernet is removed - On-board RTC is removed - USB 3.0 hub is removed, so one USB 2.0 and one USB 3.0 host ports are available - Huge heatsink is replaced with 40x40mm heatsink, 5V active heatsink is recommended or a tall passive sink is optional - 3.5mm earjack is removed - IR remote receiver is removed - MIPI DSI port is added It doesn't use the odroid-n2 board support since ADC revision collides with Odroid-N2+ and since it doesn't have on-board ethernet no need to load the MAC address from eFuses. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2023-01-30ARM: dts: Import Odroid-N2L supportNeil Armstrong
Import Odroid-N2L support posted at [1] and merged for Linux v6.3-rc1. [1] https://lore.kernel.org/all/20230122-topic-odroid-n2l-upstream-initial-v2-0-8d3fea6d403d@linaro.org/ Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2023-01-27Merge branch '2023-01-27-apple-soc-updates'Tom Rini
First, to quote the author: This series adds support for the PCIe controller found on Apple M1 and M2 machines and enables support for PCIe XHCI controllers. This makes the type-A USB ports on the M1 Mac mini work. Since the use of Apples DART IOMMU is mandatory (these PCIe DARTs don't support bypass mode), this adds DMA mapping operations to the IOMMU uclass and implements them for the Apple DART. It modifies the XHCI driver code to go map DMA buffers through the IOMMU if there is one. Since the M1 Mac mini now has two types of XHCI controllers with different number of ports (2 for the DWC3 controllers, 8 for the Fresco Logic PCIe controller) this uncovered an issue in with the way the hub descriptor is implemented in the XHCI driver. Second, Mark also fixes some Apple-specific instances of CONFIG_IS_ENABLED that should be IS_ENABLED.
2023-01-27Merge tag 'efi-2023-04-rc1-3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2023-04-rc1-3 Documentation: * Improve the sl-mx8mm documenation * Clean up README, move some section to HTML * Man-pages for the mtime and sleep command * Description of reducible builds * Document dynamic event handlers UEFI: * Support scrolling in eficonfig command Other: * fix mtest on 64 bit systems
2023-01-27usb: xhci: Fix root hub descriptorMark Kettenis
When a system has multiple XHCI controllers, some of the properties described in the descriptor of the root hub (such as the number of ports) might differ between controllers. Fix this by switching from a single global hub descriptor to a hub descriptor per controller. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-01-27arm: apple: Enable PCIe USB controllerMark Kettenis
Some Apple Silicon machines have a PCIe XHCI controller in additon to the DWC3 controllers integrated on the SoC. On the Mac mini the Type-A ports are handled by this PCIe controller. Enabling it allows the use of these ports in U-Boot. Signed-off-by: Mark Kettenis <[email protected]>
2023-01-27pci: Add Apple PCIe controller driverMark Kettenis
This driver supports the PCIe controller on the Apple M1 and M2 SoCs. The code is adapted from the Linux driver. Signed-off-by: Mark Kettenis <[email protected]>
2023-01-27test: Add test for mapping IOMMUs for PCI devicesMark Kettenis
Test that we correctly probe an IOMMU that is mapped by an "iommu-map" device tree property of a PCIe controller node. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-27iommu: Implement mapping IOMMUs for PCI devicesMark Kettenis
Systems such as Apple's M1 and M2 SoCs may have separate IOMMUs for each PCIe root port. In this case the right IOMMU for a PCI device behind a particular root port is described by an "iommu-map" property in the device tree. Parse this property and use it to find the right IOMMU device for PCI devices. Signed-off-by: Mark Kettenis <[email protected]>
2023-01-27usb: xhci: Implement DMA mappingMark Kettenis
An XHCI controller that sits behind an IOMMU needs to map and unmap its memory buffers to do DMA. Implement this by inroducing new xhci_dma_map() and xhci_dma_unmap() helper functions. The xhci_dma_map() function replaces the existing xhci_virt_to_bus() function in the sense that it returns the bus address in the case of simple address translation in the absence of an IOMMU. The xhci_bus_to_virt() function is eliminated by storing the CPU address of the allocated scratchpad memory in struct xhci_ctrl. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-01-27iommu: apple: Implement DMA mapping operations for Apple DARTMark Kettenis
Implement translation table support for all the variations of Apple's DART IOMMU that can be found on Apple's M1 and M2 SoCs. Signed-off-by: Mark Kettenis <[email protected]>
2023-01-27test: Add test for IOMMU uclass map/unmap opsMark Kettenis
Test that the map and unmap operations work for devices that have DMA translated by an IOMMU and devices that don't have DMA translated by an IOMMU. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-27iommu: Add DMA mapping operationsMark Kettenis
In order to support IOMMUs in non-bypass mode we need device ops to map and unmap DMA memory. The map operation enters a mapping for a region specified by CPU address and size into the translation table of the IOMMU and returns a DMA address suitable for programming the device to do DMA. The unmap operation removes this mapping from the translation table of the IOMMU. Signed-off-by: Mark Kettenis <[email protected]>
2023-01-27serial: s5p: Use IS_ENABLED where appropriateMark Kettenis
There are no SPL/TPL variants of CONFIG_CLK_EXYNOS and CONFIG_ARCH_APPLE, so switch from CONFIG_IS_ENABLED to IS_ENABLED. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-27Merge branch '2023-01-27-assorted-updates'Tom Rini
- TI j721s2 support, Nuvoton npcm8xx updates, bouncebuf fix, mkimage fix so you can adjust the magic image, pinctrl fixes, ifwitool bugfix
2023-01-27mkimage: fit: Support signed configurations in 'auto' FITsMassimo Pegorer
Extend support for signing in auto-generated (-f auto) FIT. Previously, it was possible to get signed 'images' subnodes in the FIT using options -g and -o together with -f auto. This patch allows signing 'configurations' subnodes instead of 'images' ones (which are hashed), using option -f auto-conf instead of -f auto. Adding also -K <dtb> and -r options, will add public key to <dtb> file with required = "conf" property. Summary: -f auto => FIT with crc32 images -f auto -g ... -o ... => FIT with signed images -f auto-conf -g ... -o ... => FIT with sha1 images and signed confs Example: FIT with kernel, two device tree files, and signed configurations; public key (needed to verify signatures) is added to u-boot.dtb with required = "conf" property. mkimage -f auto-conf -A arm -O linux -T kernel -C none -a 43e00000 \ -e 0 -d vmlinuz -b /path/to/first.dtb -b /path/to/second.dtb \ -k /folder/with/key-files -g keyname -o sha256,rsa4096 \ -K u-boot.dtb -r kernel.itb Example: Add public key with required = "conf" property to u-boot.dtb without needing to sign anything. This will also create a useless FIT named unused.itb. mkimage -f auto-conf -d /dev/null -k /folder/with/key-files \ -g keyname -o sha256,rsa4096 -K u-boot.dtb -r unused.itb Signed-off-by: Massimo Pegorer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-27common: bouncebuf: Use dma-mapping for cache opsAndrew Davis
This matches how this would be done in Linux and these functions do the alignment for us which makes the code look cleaner. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-27include: configs: Update env for selecting right dtbSinthu Raja
Now that single defconfig shall be used for booting J721S2 EVM and AM68 SK, the default device tree will not work for selecting dtb for kernel. Update the findfdt env to select right dtb based on board_name env variable. Signed-off-by: Sinthu Raja <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-01-27arm: dts: k3-am68-sk: Add r5 specific dt supportSinthu Raja
Add initial support for AM68 SK device tree that runs on R5. Signed-off-by: Sinthu Raja <[email protected]>
2023-01-27arm: dts: Add support for A72 specific AM68 Starter Kit Base BoardSinthu Raja
The SK architecture comprises of baseboard and a SOM board. The AM68 Starter Kit's baseboard contains most of the actual connectors, power supply etc. The System on Module (SoM) is plugged on to the base board. Therefore, add support for peripherals brought out in the base board. Schematics: https://www.ti.com/lit/zip/SPRR463 Signed-off-by: Sinthu Raja <[email protected]>
2023-01-27arm: dts: Add initial support for AM68 Starter Kit System on ModuleSinthu Raja
AM68 Starter Kit (SK) is a low cost, small form factor board designed for TI’s AM68 SoC. TI’s AM68 SoC comprises of dual core A72, high performance vision accelerators, hardware accelerators, latest C71x DSP, high bandwidth real-time IPs for capture and display. The SoC is power optimized to provide best in class performance for industrial applications. AM68 SK supports the following interfaces: * 16 GB LPDDR4 RAM * x1 Gigabit Ethernet interface * x1 USB 3.1 Type-C port * x2 USB 3.1 Type-A ports * x1 PCIe M.2 M Key * 512 Mbit OSPI flash * x2 CSI2 Camera interface (RPi and TI Camera connector) * 40-pin Raspberry Pi GPIO header SK's System on Module (SoM) contains the SoC, PMIC, DDR and OSPI flash. Therefore, add support for the components present on the SoM. Schematics: https://www.ti.com/lit/zip/SPRR463 TRM: http://www.ti.com/lit/pdf/spruj28 Signed-off-by: Sinthu Raja <[email protected]>
2023-01-27board: ti: j721s2: Add board_init and support for selecting DT based on EEPROMSinthu Raja
Add the board_init_f API for SPL and run the platform-required SoC initialization. Add the functionality for board name-based DTB selection from FIT within SPL. This will make it easier to utilise one defconfig for both the EVM and the SK. Signed-off-by: Sinthu Raja <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-01-27arch: mach-k3: Update board specific API name to K3 generic API nameSinthu Raja
Although the board_init_f API initialises the SoC, the API name is incorrectly specified and misleads the functionality. This file should only include k3-specific functionality. Change the API's name to something more K3-specific and separate the function to make it more modular. Signed-off-by: Sinthu Raja <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-01-27board: ti: j721s2: Add support for detecting multiple device treesSinthu Raja
Update the board_fit_config_name_match() to choose the right dtb based on the board name read from EEPROM. Also restrict multpile EEPROM reads by verifying if EEPROM is already read Signed-off-by: Sinthu Raja <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-01-27board: ti: j721s2: Enable support for reading EEPROM at next alternate addressSinthu Raja
J721S2 EVM has EEPROM populated at 0x50. AM68 SK has EEPROM populated at next address 0x51 in order to be compatible with RPi. So start looking for TI specific EEPROM at 0x50, if not found look for EEPROM at 0x51. Signed-off-by: Sinthu Raja <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-01-27board: ti: j721s2: Add support to update board_name for am68-skSinthu Raja
Update setup_board_eeprom_env() to choose the right board name for am68-sk. Signed-off-by: Sinthu Raja <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-01-27configs: j721s2_evm: Enable configs to store env in MMC FAT partitionSinthu Raja
J721S2 EVM used to store env on eMMC, since EVM and SK uses same defconfig and there is no eMMC on SK, we need to keep env in an interface which available on both EVM and SK. So, save env in FAT partition of MMC SD Card. Enable defconfigs relevant for storing env on FAT partition of MMC. Signed-off-by: Sinthu Raja <[email protected]>
2023-01-27configs: j721s2_evm_a72: Enable support for building multiple dtbs into FITSinthu Raja
Enable configs for building multiple dtbs into a single fit image and load the right dtb for next stage. Add k3-am68-sk-base-board dtb along with evm dtb inside DTB FIT image. This helps to use same defconfig for both EVM and SK Signed-off-by: Sinthu Raja <[email protected]>
2023-01-27configs: j721s2_evm_r5: Enable support for building multiple dtbs into FITSinthu Raja
Enable configs for building multiple dtbs into a single fit image and load the right dtb for next stage. This will help to use same defconfig for both EVM and SK. Signed-off-by: Sinthu Raja <[email protected]>
2023-01-27MAINTAINERS: add include/power/ to POWERJohn Keeping
Add the related include files to the power MAINTAINERS entry. Signed-off-by: John Keeping <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-27ifwitool: Fix member accessSimon Glass
On a second and third look, a recent patch seems to be writing to the wrong place - updating offsets from the address of the pointer instead of what the pointer points to. Fix it. Signed-off-by: Simon Glass <[email protected]> Fixes: 2d1b2ac13fe ("tool: ifwitool: Fix buffer overflow") Acked-by: Sean Anderson <[email protected]>
2023-01-27pinctrl: fix docstringMichael Walle
Fix the copy and paste error. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Simon Glass <[email protected]>