summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-25spi: npcm-fiu: add regulator feature and remove set clockJim Liu
NPCM7xx/NPCM8xx default is boot from flash. removed set clock feature due to reliability and security. the clock will set by bootblock or tip. Signed-off-by: Jim Liu <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2023-04-25spi: f-ospi: Add missing spi_mem_default_supports_op() helperKunihiko Hayashi
The .supports_op() callback function returns true by default after performing driver-specific checks. Therefore the driver cannot apply the buswidth in devicetree. Call spi_mem_default_supports_op() helper to handle the buswidth in devicetree. Fixes: 358f803ae21c ("spi: Add Socionext F_OSPI SPI flash controller driver") Signed-off-by: Kunihiko Hayashi <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2023-04-25spi: spi-mem: perform odd len check only while writing dataDhruva Gole
in spi_mem_dtr_supports_op we have a check for allowing only even number of bytes to be r/w. Odd bytes writing can be a concern while writing data to a flash for example because 8 DTR mode doesn't support it. However, reading ODD Bytes even though may not be physically possible we can still allow for it because it will not have serious implications on any critical registers being overwritten since they are just reads. Cc: Vaishnav Achath <[email protected]> Cc: Pratyush Yadav <[email protected]> Cc: Vignesh Raghavendra <[email protected]> Tested-by: Nikhil M Jain <[email protected]> Signed-off-by: Dhruva Gole <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2023-04-25spi: spi-mem: s/dummy/data buswidth check in dtr_supports_op()Dhruva Gole
This should have been op->data.buswidth instead as we check for octal bus width for the data related ops Also add explanation for why there is checks for 8D even data bytes Cc: Pratyush Yadav <[email protected]> Reviewed-by: Pratyush Yadav <[email protected]> Tested-by: Nikhil M Jain <[email protected]> Signed-off-by: Dhruva Gole <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2023-04-25mtd: spi-nor: Add CHIP_ERASE optimizationMarek Vasut
Add support for CHIP_ERASE opcode 0xc7 . This is useful in case the entire SPI NOR is supposed to be erase at once, as is it considerably faster than 4k sector erase and even slightly faster than 64k block erase. The spi_nor_erase_chip() implementation is adapted from Linux 6.1.y as of commit 7d54cb2c26dad ("Linux 6.1.14") . The chip erase is only used in case the entire MTD device is being erased, and the chip does support this functionality. Timing figures from W25Q128JW: 16 MiB erase using 4kiB sector erase opcode 0x20 ... 107.5s 16 MiB erase using 64kiB block erase opcode 0xd8 ... 39.1s 16 MiB erase using chip erase opcode 0xc7 .......... 38.7s Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2023-04-25virtio: Use bounce buffers when VIRTIO_F_IOMMU_PLATFORM is setWill Deacon
Devices advertising the VIRTIO_F_IOMMU_PLATFORM feature require platform-specific handling to configure their DMA transactions. When handling virtio descriptors for such a device, use bounce buffers to ensure that the underlying buffers are always aligned to and padded to PAGE_SIZE in preparation for platform specific handling at page granularity. Signed-off-by: Will Deacon <[email protected]> [ Paul: pick from the Android tree. Rebase to the upstream ] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Bin Meng <[email protected]> Link: https://android.googlesource.com/platform/external/u-boot/+/1eff171e613ee67dca71dbe97be7282e2db17011 Reviewed-by: Simon Glass <[email protected]>
2023-04-25virtio: Allocate bounce buffers for devices with VIRTIO_F_IOMMU_PLATFORMWill Deacon
In preparation for bouncing virtio data for devices advertising the VIRTIO_F_IOMMU_PLATFORM feature, allocate an array of bounce buffer structures in the vring, one per descriptor. Signed-off-by: Will Deacon <[email protected]> [ Paul: pick from the Android tree. Rebase to the upstream ] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Bin Meng <[email protected]> Link: https://android.googlesource.com/platform/external/u-boot/+/3e052749e7c50c4c1a6014e645ae3b9be3710c07 Reviewed-by: Simon Glass <[email protected]>
2023-04-25virtio: Add helper functions to attach/detach vring descriptorsWill Deacon
Move the attach and detach logic for manipulating vring descriptors out into their own functions so that we can later extend these to bounce the data for devices with VIRTIO_F_IOMMU_PLATFORM set. Signed-off-by: Will Deacon <[email protected]> [ Paul: pick from the Android tree. Rebase to the upstream ] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Bin Meng <[email protected]> Link: https://android.googlesource.com/platform/external/u-boot/+/f73258a4bfe968c5f935db45f2ec5cc0104ee796 Reviewed-by: Simon Glass <[email protected]>
2023-04-25virtio: Allocate virtqueue in page-size unitsWill Deacon
In preparation for explicit bouncing of virtqueue pages for devices advertising the VIRTIO_F_IOMMU_PLATFORM feature, introduce a couple of wrappers around virtqueue allocation and freeing operations, ensuring that buffers are handled in terms of page-size units. Signed-off-by: Will Deacon <[email protected]> [ Paul: pick from the Android tree. Rebase to the upstream ] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Bin Meng <[email protected]> Link: https://android.googlesource.com/platform/external/u-boot/+/b4bb5227d4cf4fdfcd8b4e1ff2692d3a54d1482a Reviewed-by: Simon Glass <[email protected]>
2023-04-25virtio: pci: Tear down VQs in virtio_pci_reset()Will Deacon
The pages backing the virtqueues for virtio PCI devices are not freed on reset, despite the virtqueue structure being freed as part of the driver '->priv_auto' destruction at ->remove() time. Call virtio_pci_del_vqs() from virtio_pci_reset() to free the virtqueue pages before freeing the virtqueue structure itself. Signed-off-by: Will Deacon <[email protected]> [ Paul: pick from the Android tree. Rebase to the upstream ] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Bin Meng <[email protected]> Link: https://android.googlesource.com/platform/external/u-boot/+/5ed54ccd83cbffd0d8719ce650604b4e44b5b0d8 Reviewed-by: Simon Glass <[email protected]>
2023-04-25virtio: Expose VIRTIO_F_IOMMU_PLATFORM in device featuresWill Deacon
If we detect the VIRTIO_F_IOMMU_PLATFORM transport feature for a device, then expose it in the device features. Signed-off-by: Will Deacon <[email protected]> [ Paul: pick from the Android tree. Rebase to the upstream ] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Bin Meng <[email protected]> Link: https://android.googlesource.com/platform/external/u-boot/+/9693bd26bfcfe77d6a1295a561420e08c5daf019 Reviewed-by: Simon Glass <[email protected]>
2023-04-24Merge branch '2023-04-24-TI-platform-updates'Tom Rini
- Merge in assorted K3 updates, and re-sync all of the device trees for TI platforms with v6.3-rc6
2023-04-24common: Replace #ifdef and #if with if'sNikhil M Jain
Avoid using preprocessor compilation directives and instead use simple logical expressions for better readability since compiler will anyway optimize out the respective code block if condition is not satisfied. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]>
2023-04-24board: ti: am62x: evm: OSPI support for splash screenNikhil M Jain
Add ospi boot media support to load splash image from OSPI memory, add offset to read image from ospi and necessary flags defininig type of storage and storage device. Use CONFIG_IS_ENBALED to use the splash locations at SPL and u-boot proper. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]>
2023-04-24include: Enable video related global data variable and splash at SPLNikhil M Jain
To include video related global data variables and splash functions at SPL and u-boot proper, use CONFIG_IS_ENABLED. Replace CONFIG_CMD_BMP with CONFIG_BMP to enable splash_display function at u-boot proper and SPL. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-24common: Enable splash functions at SPLNikhil M Jain
To support splash screen at both u-boot proper and SPL use CONFIG_IS_ENABLED and CONFIG_VAL to check for video related Kconfigs at respective stages. Replace CONFIG_CMD_BMP with CONFIG_BMP to enable splash_display function at u-boot proper and SPL. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-24drivers: video: Enable necessary video functions at SPLNikhil M Jain
To support video driver at SPL use CONFIG_IS_ENABLED and CONFIG_VAL, which checks for stage specific configs and thus enables video support at respective stage. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2023-04-24common: Makefile: Rule to compile bmp.cNikhil M Jain
Add rule to compile bmp.c at SPL and u-boot proper when CONFIG_SPL_BMP and CONFIG_BMP are defined. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2023-04-24cmd: bmp: Split bmp commands and functionsNikhil M Jain
To enable splash screen at SPL, need to compile cmd/bmp.c which also includes bmp commands, since SPL doesn't use commands split bmp.c into common/bmp.c which includes all bmp functions and cmd/bmp.c which only contains bmp commands. Add function delclaration for bmp_info in video.h. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-24common: Kconfig: Add BMP configsNikhil M Jain
Add CONFIG_BMP and CONFIG_SPL_BMP which enable displaying bmp images at u-boot proper and SPL. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]>
2023-04-24common: Makefile: Add rule to compile splash and splash_source at SPLNikhil M Jain
To enable splash screen and loading bmp from boot media, add rules to compile splash.c and splash_source.c at SPL stage only when CONFIG_SPL_SPLASH_SCREEN and CONFIG_SPL_SPLASH_SOURCE are defined. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-24drivers: video: tidss: Makefile: Add condition to compile TIDSS at SPLNikhil M Jain
To enable TIDSS driver only at SPL stage add rule to compile the TIDSS video driver. CONFIG_$(SPL_)VIDEO_TIDSS will compile tidss_drv, at SPL only if CONFIG_SPL_VIDEO_TIDSS is defined and at u-boot proper if CONFIG_VIDEO_TIDSS is defined. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-24drivers: video: Makefile: Rule to compile necessary video driver filesNikhil M Jain
To enable video driver at SPL, need to compile video-uclass, vidconsole-uclass, backlight-uclass, panel-uclass, simple-panel, add rules to compile them at SPL and u-boot proper. To support splash_display at SPL, need to compile video-bmp, add rule to compile at SPL and u-boot proper. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2023-04-24drivers: Makefile: Add rule to compile video driverNikhil M Jain
Compile video driver at SPL using CONFIG_SPL_VIDEO. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]> # qemu-x86_64
2023-04-24drivers: video: tidss: Kconfig: Configs to enable TIDSS at SPLNikhil M Jain
To enable tidss display driver only at SPL stage, add necessary config, CONFIG_SPL_VIDEO_TIDSS. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]>
2023-04-24drivers: video: Kconfig: Add configs for enabling video at SPLNikhil M Jain
Add Kconfigs which enable the video driver and splash screen at SPL stage only and not at u-boot proper. The existing Kconfigs from u-boot proper were not used to make SPL splash screen independent to them. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2023-04-24arm: mach-k3: am642: move do_dt_magic() after sysfw loadingChristian Gmeiner
Makes it possible to use e.g mcu_spi0 for custom board detection. Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2023-04-24include: configs: j721e_evm: Fix name_fdt for J7200Neha Malcom Francis
Currently, name_fdt is not set for J7200, fix this so right DTB is picked during boot. Signed-off-by: Neha Malcom Francis <[email protected]>
2023-04-24arm: mach-k3: common: re-locate authentication for atf/opteeManorit Chawdhry
For setting up the master firewalls present in the K3 SoCs, the arm64 clusters need to be powered on. Re-locates the code for atf/optee authentication. Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24remoteproc: ti_k3_arm64: Change the startup of arm64 coreManorit Chawdhry
Configuring master firewalls require the power of the cluster to be enabled before configuring them, change the load of rproc to configure the gtc clocks and start the cluster along with configuring the boot vector. The start of rproc will only start the core. Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24arm: dts: k3-am625-r5-sk: add a53 cluster powerManorit Chawdhry
adds a53 cluster to control from the rproc driver Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24arm: dts: k3-am62a7-r5-sk: add a53 cluster power domain nodeManorit Chawdhry
adds a53 cluster to control from the rproc driver Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24arm: dts: k3-am642-r5: add a53 cluster power domain nodeManorit Chawdhry
adds a53 cluster to control from the rproc driver Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24arm: dts: k3-am642-r5-sk: add a53 cluster power domain nodeManorit Chawdhry
adds a53 cluster to control from the rproc driver Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24arm: dts: k3-j7200-r5: add a72 cluster power domain nodeManorit Chawdhry
adds a72 cluster to control from the rproc driver Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24arm: dts: k3-j721e-r5: add a72 cluster power domain nodeManorit Chawdhry
adds a72 cluster to control from the rproc driver Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24arm: dts: k3-j721e-r5-sk: add a72 cluster power domain nodeManorit Chawdhry
adds a72 cluster to control from the rproc driver Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24arm: dts: k3-j721s2-r5: add a72 cluster power domain nodeManorit Chawdhry
adds a72 cluster to control from the rproc driver Signed-off-by: Manorit Chawdhry <[email protected]>
2023-04-24arm: mach-k3: Remove empty sys_proto.h includeAndrew Davis
This header file is now empty, remove it. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24arm: mach-k3: Move J721s2 SPL init functions to mach-k3Andrew Davis
This matches AM64 and J721e and removes the need to forward declare k3_spl_init(), k3_mem_init(), and check_rom_loaded_sysfw() in sys_proto.h. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24arm: mach-k3: Move sdelay() and wait_on_value() declarationAndrew Davis
These probably should be in some system wide header given their use. Until then move them out of K3 sys_proto.h so we can finish cleaning that header out. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24arm: mach-k3: Remove unused fdt_disable_node()Andrew Davis
This function is not used currently; remove it. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24arm: mach-k3: Add weak do_board_detect() to common fileAndrew Davis
This matches how it was done for pre-K3 TI platforms and it allows us to move the forward declaration out of sys_proto.h. It also removes the need for K3_BOARD_DETECT as one is free to simply override the weak function in their board files as needed. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24arm: mach-k3: Move sysfw-loader.h out of mach includesAndrew Davis
This header is only used locally by K3 init files, no need to have it up with the global mach includes. Move into local includes. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24arm: mach-k3: Make release_resources_for_core_shutdown() commonAndrew Davis
This function is the same for each device when it needs to shutdown the R5 core. Move this to the common section and move the remaining device specific ID list to the device hardware include. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24configs: j721s2_evm.h: Remove refrences to J7200 EVMAndrew Davis
The J7200 EVM will not include this file, this J7200 checks look to be a copy/paste errora from j721e_evm.h, which J7200 *can* include. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24configs: j721x_evm: Remove unneeded check for SYS_K3_SPL_ATFAndrew Davis
The TARGET_x_R5_EVM check is already enough to limit these defines to only the correct builds. Remove the extra outer check. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24soc: soc_ti_k3: Use hardware.h to remove definition duplicationAndrew Davis
The K3 JTAG and SoC ID information is already stored in the K3 arch hardware file, include that and use its definitions here. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24arm: mach-k3: Move J721e SoC detection out of common sectionAndrew Davis
This belongs in the J721e specific file as it is the only place this is used. Any board level users should use the SOC driver. While here, move the J721e and J7200 SoC IDs out of sys_proto.h and into hardware.h. Use a macro borrowed from Rockchip and add the rest of the SoC IDs for completeness and later use. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-04-24arm: mach-k3: Move MSMC fixup to SoC levelAndrew Davis
The MSMC fixup is something we do based on SoC, not based on the board. So this fixup does not belong in the board files. Move this to the mach-k3 common file so that it does not have to be done in each board that uses these SoCs. We use ft_system_setup() here instead of ft_board_setup() since it is no longer board level. Enable OF_SYSTEM_SETUP in the configurations that use this to keep functionality the same. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>