Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
Merge TI U-Boot RC Release 08.06.00.007
|
|
Add support for m4f early boot on am62x_evm.
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
AM62x LP SK has GPMC NAND on board, add DFU entries
for the same.
Signed-off-by: Nitin Yadav <n-yadav@ti.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Use more conventional naming scheme for NAND partitions
and enable listing of partitions in prompt.
Signed-off-by: Apurva Nandan <a-nandan@ti.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
'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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Add DFU arguments to environment settings
Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
|
|
Enable eMMC related configs to support booting from eMMC
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
|
|
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>
|
|
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>
|
|
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>
|
|
Increase SYS_BOOTM_LEN to 64MB for fixing error when booting
linux kernel image.
Signed-off-by: Judith Mendez <jm@ti.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
- 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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|