- Jan 31, 2023
-
-
Add support for HS400 in mode2timing array. Add a quirk for Versal NET platform to indicate that HS400 is supported through bit63 of capability register. Signed-off-by:
Ashok Reddy Soma <ashok.reddy.soma@amd.com>
-
HS400 is indicated in bit63 of capability register in few IP's. Add a quirk to check this and add HS400 to host capabilities. Signed-off-by:
Ashok Reddy Soma <ashok.reddy.soma@amd.com>
-
Check if the low level driver supports config_dll callback function and call it if it does. Call with dll disable before calling set_clock and with dll enable after it. Signed-off-by:
Ashok Reddy Soma <ashok.reddy.soma@amd.com>
-
Add support for eMMC 5.1 for Versal NET platform - Add new compatible string(xlnx,versal-net-5.1-emmc). - Add CONFIG_ARCH_VERSAL_NET condition wherever required. - Add DLL and Delay Chain mode support - Add input and output tap delays for eMMC. - Add Strobe select tap for HS400 mode. Signed-off-by:
Ashok Reddy Soma <ashok.reddy.soma@amd.com>
-
Add more capable "bkops" command which allows enabling and disabling both manual and automatic bkops. The existing 'mmc bkops-enable' subcommand is poorly named to cover all the possibilities, hence the new-ish subcommand. Note that both commands are wrappers around the same common code. Signed-off-by:
Marek Vasut <marex@denx.de> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Jaehoon Chung <jh80.chung@samsung.com>
-
- Jan 30, 2023
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
This reverts commit f5315dd6. [why] TPL is not mandatory for not all Rockchip SoCs, some SoCs like RK356x, and RK3588 still use mainline u-boot without TPL as their ddr init programs are accessed via binaries provided by Rockchip instead of ddr source code. Marking TPL build makes it not able to build u-boot.itb on RK356x targets so revert this so that it can build an SPL build that would support all across Rockchip platforms. Suggested-by:
Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by:
Jagan Teki <jagan@edgeble.ai> Tested-by: Anand Moon <linux.amoon@gmail.com> # CM3
-
- Jan 27, 2023
-
-
Tom Rini authored
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.
-
https://source.denx.de/u-boot/custodians/u-boot-efiTom Rini authored
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
-
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 <kettenis@openbsd.org> Reviewed-by:
Marek Vasut <marex@denx.de>
-
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 <kettenis@openbsd.org>
-
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 <kettenis@openbsd.org>
-
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 <kettenis@openbsd.org> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
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 <kettenis@openbsd.org>
-
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 <kettenis@openbsd.org> Reviewed-by:
Marek Vasut <marex@denx.de>
-
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 <kettenis@openbsd.org>
-
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 <kettenis@openbsd.org> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
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 <kettenis@openbsd.org>
-
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 <kettenis@openbsd.org> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Tom Rini authored
- TI j721s2 support, Nuvoton npcm8xx updates, bouncebuf fix, mkimage fix so you can adjust the magic image, pinctrl fixes, ifwitool bugfix
-
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 <massimo.pegorer@vimar.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
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 <afd@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
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 <sinthu.raja@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Add initial support for AM68 SK device tree that runs on R5. Signed-off-by:
Sinthu Raja <sinthu.raja@ti.com>
-
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 <sinthu.raja@ti.com>
-
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 <sinthu.raja@ti.com>
-
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 <sinthu.raja@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
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 <sinthu.raja@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
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 <sinthu.raja@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
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 <sinthu.raja@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Update setup_board_eeprom_env() to choose the right board name for am68-sk. Signed-off-by:
Sinthu Raja <sinthu.raja@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
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 <sinthu.raja@ti.com>
-
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 <sinthu.raja@ti.com>
-
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 <sinthu.raja@ti.com>
-
Add the related include files to the power MAINTAINERS entry. Signed-off-by:
John Keeping <john@metanate.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
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 <sjg@chromium.org> Fixes: 2d1b2ac1 ("tool: ifwitool: Fix buffer overflow") Acked-by:
Sean Anderson <seanga2@gmail.com>
-
Fix the copy and paste error. Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Don't define an empty version for pinconfig_post_bind(). Just guard the call and let the linker garbage collection do the rest. This way, we also don't have to do any guesswork. Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Marek Vasut <marex@denx.de>
-
If CONFIG_PINCTRL_FULL is enabled, never fall back to the simple implementation. pinctrl_select_state() is called for each device and it is expected to fail. A fallback to the simple imeplementation doesn't make much sense. To keep the return code consistent, we need to change the -EINVAL (which was ignored before) to -ENOSYS. Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Marek Vasut <marex@denx.de> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
The NPCM driver can use on npcm7xx/npcm8xx so add npcm8xx header for driver. Signed-off-by:
Jim Liu <JJLIU0@nuvoton.com>
-