summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2023-06-01verdin-am62: add memory size autodetectionEmanuele Ghidoli
Add memory size auto-detection, maximum size for Verdin AM62 is 2GB. Upstream-Status: Pending Initial U-Boot to be used for bring-up and validation of the V1.0 design, we'll decide on the step forward to mainline this once the bring-up and validation will be done. Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-05-15verdin-am62: set dfu_alt_info_ramMax Krummenacher
Provide a dfu_alt_info_ram variable value that allows to download the binary blobs over DFU that are needed to boot TEZI. Upstream-Status: Pending Initial U-Boot to be used for bring-up and validation of the V1.0 design, we'll decide on the step forward to mainline this once the bring-up and validation will be done. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2023-05-05Merge tag '08.06.00.007' into toradex_ti-u-boot-2021.01_bringup-ELB-5176Marcel Ziswiler
Merge TI U-Boot RC Release 08.06.00.007
2023-02-22include: configs: am62x: add earlyboot for m4f remotecoreHari Nagalla
Add support for m4f early boot on am62x_evm. Signed-off-by: Hari Nagalla <hnagalla@ti.com>
2023-02-22misc: uclass: Fix compile errorFrancesco Dolcini
Add #include <dm/ofnode.h> to fix the following compiler error +In file included from drivers/pinctrl/nxp/pinctrl-scu.c:11: +include/misc.h:87:25: error: unknown type name 'ofnode' + 87 | int misc_init_by_ofnode(ofnode node); + | ^~~~~~ Upstream-Status: Inappropriate [other] The fixed commit is present only on the downstream TI branch, therefore there is nothing to send to upstream denx repository. We might think about sending this patch to TI in the future. Fixes: 9d9fd0a3b18f ("misc: uclass: Introduce misc_init_by_ofnode") Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2023-02-21board: toradex: add verdin am62 supportMarcel Ziswiler
This adds initial support for the Toradex Verdin AM62 Quad 1GB WB IT V1.0A module. They are strapped to boot from their on-module eMMC. U-Boot supports booting from the on-module eMMC, or, via separate verdin-am62_r5_usbdfu_defconfig from USB DFU based recovery mode. Upstream-Status: Pending Initial U-Boot to be used for bring-up and validation of the V1.0 design, we'll decide on the step forward to mainline this once the bring-up and validation will be done. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21board: toradex: drop colibri pxa270 supportMarcel Ziswiler
The Colibri PXA270 has been end-of-life since quite a while and would require more and more maintenance (e.g. DM conversions). Upstream-Status: Backport [fc102c87c11dfd52039326534ff831d3edd8340d] Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21toradex: apalis-imx8x: drop support for apalis imx8xDenys Drozdov
Drop Apalis iMX8X platform as it never left sample state and is no longer supported. Upstream-Status: Backport [47bcc0d056aa243a31d2a1edb44bdcd155f5335b] Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-14include: configs: Update env for selecting right dtb fileDasnavis Sabiya
To select the dtb file, default_device_tree variable cannot be relied upon as same defconfig file is used for J784S4 EVM and AM69 SK boards. Update the findfdt env variable to select appropriate dtb based on the board_name env variable. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com>
2023-02-08configs: am62xx_evm: Hook up GPMC NAND DFU entriesNitin Yadav
AM62x LP SK has GPMC NAND on board, add DFU entries for the same. Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08environment: ti: k3_dfu: Add DFU alt_info for GPMC NANDNitin Yadav
Define dfu_alt_info settings for GPMC NAND to enable flashing to NAND flash via USB. Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08configs: am62x_evm.h: Setup UBIFS environment for Linux bootVignesh Raghavendra
Add UBIFS related environment variable to enable kernel boot from UBIFS on GPMC NAND Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org>
2023-02-08configs: am62x_evm: Provide NAND configurationNitin Yadav
Add support for AM62Q NAND card: X8 NAND EXPANSION BOARD card (PROC143E1) for AM62x LP SK board. These changes provide NAND Device configuration for AM62x LP-SK board. We are currently using raw NAND partition for tispl.bin (A53 SPL) and u-boot.img (A53 u-boot). Signed-off-by: Nitin Yadav <n-yadav@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org>
2023-02-08drivers: mtd: rawnand: Add u-boot driver model support for ELMNitin Yadav
To support u-boot driver model. Retain support legacy way of doing things if ELM_BASE is defined in <asm/arch/hardware.h> We could completely get rid of that if all platforms defining ELM_BASE get rid of that definition. enable CONFIG_SYS_NAND_SELF_INIT commit 7363cf0581a3 ("mtd: rawnand: omap_elm: u-boot driver model support") upstream Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08configs: am62xx_evm: Drop EXTRA_ENV_DFUARGS for R5 SPLNitin Yadav
Drop EXTRA_ENV_DFUARGS from R5 SPL build to save SRAM space. There is no need for DFU args at R5 SPL stage. Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-01-30configs: am62xx_evm: Hook up OSPI NAND DFU entriesVignesh Raghavendra
AM62x LP SK and AM62A SK have OSPI NAND on board, add DFU entries for the same. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-01-30environment: ti: k3_dfu: Add DFU alt_info for OSPI NANDVignesh Raghavendra
Define dfu_alt_info settings for OSPI NAND to enable flashing to OSPI NAND flash via USB Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-01-25configs: am62ax_evm: Enable NAND kernel boot through UBIFSVignesh Raghavendra
User can specify/override the NAND partition and UBIFS volume for booting via ${nbootpart} and ${nbootvolume} variables respectively. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-01-25configs: am62x_lpsk: Update partitioning scheme and namesApurva Nandan
Use more conventional naming scheme for NAND partitions and enable listing of partitions in prompt. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25configs: am62x_evm: Enable OSPI NAND kernel boot through UBIFSApurva Nandan
User can specify/override the NAND partition and UBIFS volume for booting via ${nbootpart} and ${nbootvolume} variables respectively. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25spl: mtd: Remove MTD device after loading imagesApurva Nandan
Releasing the flash into proper state, after the loading completes, is important for the next stage bootloader/kernel to be able to use the MTD device. This would enable to reset the device for fresh use by next boot stage. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25mtd: spinand: winbond: Add support for write volatile configuration register opApurva Nandan
Volatile configuration register are a different set of configuration registers, i.e. they differ from the status registers. A different SPI instruction is required to write to these registers. Any changes to the Volatile Configuration Register get transferred directly to the Internal Configuration Register and instantly reflect on the device operation. In Winbond W35N01JW, these volatile configuration register must be configured in order to switch to Octal DTR SPI mode. Add support for writing to volatile configuration registers using a new WRITE_VCR_OP template. Datasheet: https://www.winbond.com/export/sites/winbond/datasheet/W35N01JW_Datasheet_Brief.pdf Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25mtd: spinand: Allow enabling Octal DTR mode in the coreApurva Nandan
Enable Octal DTR SPI mode, i.e. 8D-8D-8D mode, if the SPI NAND flash device supports it. Mixed OSPI (1S-1S-8S & 1S-8S-8S), mixed DTR modes (1S-1D-8D), etc. aren't supported yet. The method to switch to Octal DTR SPI mode may vary across manufacturers. For example, for Winbond, it is enabled by writing values to the volatile configuration register. So, let the manufacturer's code have their own implementation for switching to Octal DTR SPI mode. Check for the SPI NAND device's support for Octal DTR mode using spinand flags, and if the data_ops and ctrl_ops are 8D-8D-8D, call change_mode() manufacturer op. If the SPI controller doesn't supports these modes, the selected data_ops and ctrl_ops will prevent switching to the Octal DTR mode. And finally update the spinand protocol and ctrl_ops on success. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25mtd: spinand: Add pointer to probed flash's spinand_infoApurva Nandan
The data_ops_variants and ctrl_ops_variants defined in manufacturer's code are required again when changing flash modes, because they hold the op templates for the new protocol. It would be useful to have a pointer to the device description entry i.e. probed flash's spinand_info table in the spinand_device struct itself. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25mtd: spinand: Add change_protocol() in manufacturer_opsApurva Nandan
Introduce change_protocol() manufacturer_op to let the vendor provide the implementation of switching of SPI IO modes. The method to switch to different SPI IO mode may vary across manufacturers. For example, for Winbond, Octal DTR is enabled by writing values to the volatile configuration register. So, let the manufacturer's code have their own implementation for switching to any given SPI IO mode. Manufacturer's code need to take care, if the requested protocol change is allowed/needed and how to apply it. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25mtd: spinand: Add support for manufacturer-based ctrl_ops variationsApurva Nandan
Add ctrl_ops_variants, which can be used by the manufacturers' codes to define their SPI control operation variants. Add a macro to easily define ctrl_ops_varinats. This can be used to list out all the supported ctrl ops with their respective protocols by the vendors. Add spinand_select_ctrl_ops_variant() helper function to search for a supported ctrl_ops variant with the required SPI protocol in a given list of variants. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25mtd: spinand: Define ctrl_ops for non-page read/write op templatesApurva Nandan
'ctrl_ops' are op templates for non-page read/write operations, which are: reset, get_feature, set_feature, write_enable, block_erase, page_read and program_execute ops. The 'ctrl_ops' struct contains in it op templates for each of this op, as well as enum spinand_protocol denoting protocol of all these ops. We require these new op templates because of deviation in standard SPINAND ops by manufacturers and also due to changes when there is a change in SPI protocol/mode. This prevents the core from live-patching and vendor-specific adjustments in ops. Define 'ctrl_ops', add macros to initialize it and add it in spinand_device. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25mtd: spinand: Rename 'op_templates' to 'data_ops'Apurva Nandan
Manufacturers have been deviating from the standard SPI operations for NAND flashes. There have been variations in non-page read/write instructions too. Additionally, operations, including non-page r/w ops, vary when flash is in different SPI mode, eg. Octal DTR. To avoid live-patching in hot-paths or vendor-specific adjustment, it is better to have a set of operation templates and variants for non-page read/write operations as well. These would get initialized at the probe time or when flash changes modes. These would be called 'ctrl_ops'. To make code better understandable, create two types of op templates which are: data_ops and ctrl_ops. Reason for having two different type of templates is the difference in their use cases i.e. it is possible to have ops of different protocol for read/write/update simulatneously in the data_ops, but all the ops in the ctrl_ops follow same protocol. Rename op_templates to data_ops, and the ctrl_ops would be introduced in later commits. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25mtd: spinand: Add enum spinand_protocol to indicate current SPI IO modeApurva Nandan
Unlike Dual and Quad SPI modes flashes, Octal DTR SPI NAND flashes require all instructions to be made in 8D-8D-8D protocol when the flash is in Octal DTR mode. Hence, storing the current SPI IO mode becomes necessary for operating the flash and switching between modes. Store the current SPI IO mode in the spinand struct using a spinand_protocol enum. This would act as a flag, denoting that the core should use the given SPI protocol all types of flash operations. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25mtd: spinand: Define macros for Octal DTR opsApurva Nandan
Define new op templates for reset, write enable, set_feature, get_feature, block_erase, read/write page operations for Octal DTR SPI mode. These templates will be used in data_ops and ctrl_ops for performing all flash operations. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-25spi: spi-mem: Add DTR templates for cmd, address, dummy and data phaseApurva Nandan
Setting dtr field of spi_mem_op is used when creating templates for DTR ops in spinand.h. Also, 2 bytes cmd phases are required when operating in Octal DTR SPI mode. Create new templates for dtr mode cmd, address, dummy and data phase in spi_mem_op, to set the dtr field to 1 and also allow passing the nbytes for the cmd phase. Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2023-01-17include: 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 <sinthu.raja@ti.com>
2023-01-11include: configs: am62ax_evm.h: Add DFU argumentsBryan Brattlof
Add DFU arguments to environment settings Signed-off-by: Bryan Brattlof <bb@ti.com> Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2023-01-11configs: am62ax_evm_a53_defconfig: Enable eMMC related configsVignesh Raghavendra
Enable eMMC related configs to support booting from eMMC Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-01-11include: am62x_evm: Fix u-boot find_fdt function to identify skevmNishanth Menon
Don't depend on default_device_tree variable as the only scheme to detect the board name. Signed-off-by: Nishanth Menon <nm@ti.com>
2023-01-05include: configs: am62ax_evm.h: Add remote proc boot supportHari Nagalla
Enable remote proc boot support for MCU R5F core and main domain C7x DSP cores from u-boot. Signed-off-by: Hari Nagalla <hnagalla@ti.com>
2022-12-16include: configs: am62ax_evm: Enable FIT_ARGS for am62ax devicesJudith Mendez
Enable FIT_ARGS, which will export default value for variables needed to load fitImage at u-boot prompt. Signed-off-by: Judith Mendez <jm@ti.com>
2022-12-16include: configs: am62ax_evm: fix linux boot image loadingJudith Mendez
Increase SYS_BOOTM_LEN to 64MB for fixing error when booting linux kernel image. Signed-off-by: Judith Mendez <jm@ti.com>
2022-12-01configs: introduce configs for the am62aBryan Brattlof
Introduce the minimum configs, only SD-MMC and UART boot related settings, to serve as a good starting point for the am62a as we add more functionality. Signed-off-by: Bryan Brattlof <bb@ti.com>
2022-12-01arm: mach-k3: am62a: introduce auto-generated SoC dataBryan Brattlof
Introduce the auto-generated clock tree and power domain data needed to attach the am62a into the power-domain and clock frameworks of uboot Signed-off-by: Bryan Brattlof <bb@ti.com>
2022-12-01arm: dts: introduce am62a7 dtbs from linux kernelBryan Brattlof
Introduce the basic am62a7 SoC dtbs from the linux kernel along with the new am62a specific pinmux definition that we will use to generate the dtbs for the u-boot-spl and u-boot binaries Co-developed-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Bryan Brattlof <bb@ti.com>
2022-12-01include: configs: am62x: add init_${boot} into distrocmdBryan Brattlof
When removing the bootcmd from the defconfigs the 'run init_${boot}' was left out leaving us without a rootfs to boot into. Add 'init_${boot}' back into the distro_bootcmd Fixes: 5079ccd243fb3 ("configs: am62x_evm_a53: remove bootcmd from defconfig") Signed-off-by: Andrew Davis <afd@ti.com> Signed-off-by: Bryan Brattlof <bb@ti.com>
2022-11-29configs: am62x_evm: Add dtbo supportGuillaume La Roque
- Add support of device tree overlay for Android to support CSI camera, LVDS screen, HDMI Audio output. - Support for multiple dtbo indices. This assumes that the `dtbo_index` env variable is a space-separated list of indices. Example: => env set dtbo_index "0 2" Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
2022-11-29configs: am62: include android command when android boot image enabledGuillaume La Roque
Include Android stuff only if android boot image support was enabled to not have always all bootcmd define in u-boot env and specially in r5 spl u-boot. Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
2022-11-24configs: am62x_evm_a53: remove bootcmd from defconfigGuillaume La Roque
After commit to enable HS mode android boot was broken. So remove bootcmd from defconfig to use distrocmd from config file Fixes: 767a83a972ce ("configs: am62x: Enable config option for am62x HS EVM") Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
2022-11-24include: configs: am62x_evm: add a persist partitionSafae Ouajih
Add a persist partition in android partition table. This partition is needed for keymaster/gatekeeper support with OPTEE-OS. Signed-off-by: Safae Ouajih <souajih@baylibre.com> Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
2022-11-21mtd: spi-nor-core: Add fixups for Cypress s25hl-t/s25hs-tDhruva Gole
Commit 1c3dd193b5ba76da9d5b2b422d04605321a91c94 upstream. The nor->ready() and spansion_sr_ready() introduced earlier in this series are used for multi-die package parts. The nor->quad_enable() sets the volatile QE bit on each die. The nor->erase() is hooked if the device is not configured to uniform sectors, assuming it has 32 x 4KB sectors overlaid on bottom address. Other configurations, top and split, are not supported at this point. Will submit additional patches to support it as needed. The post_bfpt/sfdp() fixes the params wrongly advertised in SFDP. Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com> Signed-off-by: Dhruva Gole <d-gole@ti.com>
2022-11-21mtd: spi-nor-core: Add Cypress manufacturer ID in set_4byteDhruva Gole
Commit 72151ad10f8dcc3c86084259b227a7d70cc79473 upstream. Cypress chips support SPINOR_OP_EN4B(B7h) to enable 4-byte addressing mode. Cypress chips support B8h to disable 4-byte addressing mode instead of SPINOR_OP_EX4B(E9h). This patch defines new opcode and updates set_4byte() to support enable/disable 4-byte addressing mode for Cypress chips. Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com> Signed-off-by: Dhruva Gole <d-gole@ti.com>
2022-11-21mtd: spi-nor-core: Read status by Read Any RegisterDhruva Gole
Commit d2d79895da1b80275fe0ffd84d697519c73c924d upstream. The spansion_sr_ready() reads status register 1 by Read Any Register commnad. This function is called from Flash specific hook with die address and dummy cycles to support multi-die package parts from Spansion/Cypress. Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com> Reviewed-by: Pratyush Yadav <p.yadav@ti.com> Signed-off-by: Dhruva Gole <d-gole@ti.com>
2022-11-21mtd: spi-nor-core: Add the ->ready() hookDhruva Gole
Commit 24b1e2c690fb953a3a981a282e37de5a0f1a98b1 upstream. For dual/quad die package devices from Spansion/Cypress, the device's status needs to be checked by reading status registers in all dies, by using Read Any Register command. To support this, a Flash specific hook that can overwrite the legacy status check is needed. Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com> Reviewed-by: Pratyush Yadav <p.yadav@ti.com> Signed-off-by: Dhruva Gole <d-gole@ti.com>