Add support for signing, detection and loading of FSSTUB images for
for HSSE and HSFS AM62P devices. Based on the binman code for AM625
with updates to the filenames and load address.
Signed-off-by: Dhruva Gole <d-gole@ti.com>
Acked-by: Vishal Mahaveer <vishalm@ti.com>
AM335x uses a special driver "am335x_spl_bch.c" as SPL
NAND loader. This driver expects 1 sector at a time ECC
and doesn't work well with multi-sector ECC that was implemented
in commit 04fcd25873.
Switch back to 1 sector at a time read/ECC.
Fixes: 04fcd25873 ("mtd: rawnand: omap_gpmc: Fix BCH6/16 HW based correction")
Signed-off-by: Roger Quadros <rogerq@kernel.org>
mtdids and mtdparts defined in nand.env are not suitable
for am64x-evm. Define its own here.
We deliberately don't define spi.nor partitions here as
it causes mtdparts and dfu to fail till user has done
"sf probe" command. This is because NOR flash is not
auto probed by u-boot.
Signed-off-by: Roger Quadros <rogerq@kernel.org>
This is required for overlays to work at SPL.
Loading of symbol table depends on DT Overlay support in SPL
so make it compile-time dependent. Without this SPL fails to
boot some platforms where this feature is not enabled
(e.g. dra71-evm.)
Without including the <linux/kconfig.h> file, the symbol
CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY will not be visible and
we will never include the symbol table.
So include <linux/kconfig.h>
Due to some reason it needs to be included after
[#include "fdt_host.h"] otherwise it causes a build error.
Signed-off-by: Roger Quadros <rogerq@kernel.org>
Enables configuration required for NAND in SPL and u-boot.
Enable MTD Driver model and MTD + UBI command line utilities.
Add mtdids/mtdparts for NAND as it is required for u-boot's
MTD subsystem commands to recognize NAND partitions.
Add u-boot partition location.
Signed-off-by: Roger Quadros <rogerq@kernel.org>
We want SPL to apply DTB overlays (e.g. NAND card overlay) so
enable SPL_LOAD_FIT_APPLY_OVERLAY.
Increase SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZ and
SPL_STACK_R_MALLOC_SIMPLE_LEN. Without this SPL hangs.
Signed-off-by: Roger Quadros <rogerq@kernel.org>
Since we are using overlay for A53 SPL and A53 u-boot the
SPL must select the NAND overlay from the FIT image if
HSE card is present.
Signed-off-by: Roger Quadros <rogerq@kernel.org>
Add NAND support for A53 SPL and u-boot.
For A53 SPL & u-boot we use NAND overlay to add NAND support.
Signed-off-by: Roger Quadros <rogerq@kernel.org>
move main_i2c0, main-i2c0-pins-default, and tca9554
definitions to where they belong i.e. k3-am642-evm.dts
k3-am642-r5-evm.dts is not cleaned up like in upstream
to include k3-am642-evm.dts so we have to add the
main-i2c0-pins-default and tca9554 nodes to it
as well.
Signed-off-by: Roger Quadros <rogerq@kernel.org>
DSP core is going into abnormal state when load callback is called
after starting of DSP core.
Reload of firmware needs core to be stopped first, followed by
load.
So avoid loading of firmware, when core is started.
Signed-off-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Apurva Nandan <a-nandan@ti.com>
The following shall be the eMMC layout for AM64x platform:
boot0 partition
0x0+----------------------------------+
| tiboot3.bin (1 MB) |
0x800+----------------------------------+
| tispl.bin (2 MB) |
0x1800+-----------------------------------+
| u-boot.img (4 MB) |
0x3800+-----------------------------------+
| environment (128 KB) |
0x3900+-----------------------------------+
Move u-boot environment from 0x3400 to ox3800 since at 0x3400
it overlaps with u-boot.img.
Signed-off-by: Judith Mendez <jm@ti.com>
EMMC boot is broken for AM64x platform. This is due to the size of
tiboot3.bin growing beyond the 500KB of memory allocated in eMMC.
There was effort to move the offsets and give more space to tiboot3.bin,
but the offsets in defconfig were not updated. Update offsets in
defconfig to load each binary from the correct adress in eMMC according
to the following eMMC layout:
boot0/1 partition
0x0+----------------------------------+
| tiboot3.bin (1 MB) |
0x800+----------------------------------+
| tispl.bin (2 MB) |
0x1800+-----------------------------------+
| u-boot.img (4 MB) |
0x3800+-----------------------------------+
| environment (128 KB) |
0x3900+-----------------------------------+
Signed-off-by: Judith Mendez <jm@ti.com>
am62b_p1_skevm eeprom has been introduced with
commit 09b2c79a8d ("board: ti: am62x: Add support to detect AM62B-P1 board")
Since this support, board_name is updated and we can no longer boot android
since we don't set the proper dtb_index.
Add am62b_p1_skevm and load the same dtb as for am62x_skevm.
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Acked-by: Vishal Mahaveer <vishalm@ti.com>
The u-boot environment variable emmc_android_boot total size increased
to more than 1KB. U-boot hangs when the emmc_android_boot variable is
reused in the u-boot prompt as the maximum size of the u-boot commandÂ
line buffer is 1KB. Increase the CB_SIZE to 2KB for AM57x SoC family
Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
Add in the input and output delay values for the available speed modes
for the MMC controller for eMMC for the am62p5 allowing it to operate
that the highest speed modes available.
The patch is labeled as a HACK because the HS200 and HS400 values have
not been finalized as of yet even though they have been tested.
Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
Beagle x15 phy_ctrl_const_regs structure is the common structure
for all AM57x platforms. Add board specific structure for
phy_ctrl_const_regs.
Update the emif_get_reg_dump() function to select phy_ctrl_const_regs
structure based on board name.
Signed-off-by: James Doublesin <doublesin@ti.com>
Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
AM62B-P1 is PMIC variant of AM62B board. Add support to detect this
board based on EEPROM string. This will help in implementing handling
board specific DT fixups later on.
Schematics: https://www.ti.com/tool/SK-AM62B-P1
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
The AM62Px SoC uses a central Device Management and Security Controller
(DMSC) processor that manages all the low-level device controls
including the system-wide SoC reset. The system-wide reset is managed
through the system reset driver.
Add a sysreset controller node as a child of the dmsc node to enable
the "reset" command from U-Boot prompt for the K3 AM62p5 SK EVM.
This is based on commit a97ee92e4a ("arm: dts: k3-am642-evm: Add sysreset controller node")
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
The am62px utilizes the same 32k crystal for a more accurate RTC clock
source. Enable the configuration to set this up for Linux.
Signed-off-by: Bryan Brattlof <bb@ti.com>
The am62xxx extended family uses the same 32k crystal for all of its
starter kits. Move this to the common board directory to avoid repeating
this everywhere.
Signed-off-by: Bryan Brattlof <bb@ti.com>
The am62x utilizes the same 32k crystal for a more accurate RTC clock
source. Enable the configuration to set this up for Linux.
Signed-off-by: Bryan Brattlof <bb@ti.com>
The am62ax utilizes the same 32k crystal for a more accurate RTC clock
source. Enable the configuration to set this up for Linux.
Signed-off-by: Bryan Brattlof <bb@ti.com>
All of the starter kit boards for the am62xxx extended family utilize
the same 32k crystal oscillator for a more accurate clock for the RTC
instance. Add the setup the clock mux and debounce configuration to the
common board directory so the entire am62xxx extended family can utilize
it.
Signed-off-by: Bryan Brattlof <bb@ti.com>
Add support for signing, detection and loading of FSSTUB images for
for HSSE, HSFS and GP AM62a devices. Based on the binman code for AM625
with updates to the filenames and load address.
Signed-off-by: Vibhore Vardhan <vibhore@ti.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Tested-by: Vishal Mahaveer <vishalm@ti.com>
Add new R5 defconfig for USB MSC boot support based on usbdfu_defconfig
USB Host boot is supported only from USB0 port. By default USB0
is configured in peripheral mode to support DFU. Inorder to support
USB Host boot, "dr_mode" property needs to be changed from "peripheral"
to "host" in the device tree.
Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
ti,syscon-phy-pll-refclk property in the USB expects the wkup_conf to
be syscon compatible to setup the regmap. So update wkup_conf compatible
until the dependency of such nodes on wkup_conf are resolved.
Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
There are a few updates from TI's Linux mostly centered around
out-of-box remote core demo enablement and we added the bootph-all
property to sdchi0 to enable eMMC as a boot method.
Signed-off-by: Bryan Brattlof <bb@ti.com>
Thanks to the CONFIG_DEFAULT_DEVICE_TREE option in the defconfig the
correct device tree blobs are being built for each uboot stage. However
rather than relying on this add a am62p5 target to the arm/dts/Makefile
Signed-off-by: Bryan Brattlof <bb@ti.com>
Update to the latest RM (Resource Management) auto-generated YAMLs.
This fixes failures seen while requesting DMASS IRQs from the firmware,
which prevented use of many peripherals that rely on DMA like Audio
(McASP), Camera (CSI-RX) etc.
Fixes: 817bff8f64 ("board: ti: introduce basic board files for the am62px family")
Signed-off-by: Jai Luthra <j-luthra@ti.com>