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>
The dtb directory structure had been standardized by the TI arago
distribution. The TI legacy platform still using the default mmc
environment from the header file. Add the directory dtb/ to the DTB
search path.
Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
For legacy platforms the packaging of fitimage doesn't prefix the "conf-"
in the DTB config section. So, drop the conf- prefix from the fdtfile name
Fixes: 1eaf714ce2 "include: configs: Override get_fit_config to get FIT config for AM57x"
Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
Introduce the initial configs needed to support the am62px SoC family
[bb@ti.com: rebased on TI's 2023.10 uboot]
Signed-off-by: Bryan Brattlof <bb@ti.com>
Pull in the device tree source files for TI's am62p5 SoCs needed to boot
the board from v6.6-rc5. These are an early release with only the
peripherals to boot the board via UART boot
[bb@ti.com: used DTBs from TI's v6.1 kernel]
Signed-off-by: Bryan Brattlof <bb@ti.com>
Include the static DMA channel data for ti_sci
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
[bb@ti.com: rebased on TI's 2023.04 uboot]
Signed-off-by: Bryan Brattlof <bb@ti.com>
Introduce the basic files needed to support the am62px family of SoCs
Co-developed-by: Hari Hagalla <hnagalla@ti.com>
Signed-off-by: Hari Hagalla <hnagalla@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
Introduce the basic functions and definitions needed to properly
initialize Ti's am62p family of SoCs
[bb@ti.com: rebased on TI's 2023.04 uboot]
Signed-off-by: Bryan Brattlof <bb@ti.com>
Currently for the K3 generation of SoCs there are more SoCs that utilize
the split firmware approach than the combined DMSC firmware. Invert the
logic to avoid adding more and more SoCs to this list.
[bb@ti.com: rebased on TI's 2023.04 uboot]
Signed-off-by: Bryan Brattlof <bb@ti.com>
The am62px family of SoCs uses the same DDR controller as found on the
am62ax family. Enable this option when building for the am62px family
Signed-off-by: Bryan Brattlof <bb@ti.com>
Include the clock and lpsc tree files needed for the wkup spl to
initialize the proper PLLs and power domains to boot the SoC.
[bb@ti.com: rebased to TI's 2023.04 uboot]
Signed-off-by: Bryan Brattlof <bb@ti.com>
Include the part number for TI's am62px family of SoCs so we can
properly identify it during boot
[bb@ti.com: rebased to TI's 2023.04 uboot]
Signed-off-by: Bryan Brattlof <bb@ti.com>
PLL calibration needs to be enabled when operating in non fractional
mode. Add the sequence to do a fast calibration when using PLL
in this mode.
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
Tested-by: Neha Malcom Francis <n-francis@ti.com>
EEPROM detection logic in ti_i2c_eeprom_get() involves reading the total
size followed by reading 1-byte size with an offset 1. This commit fixes
the header matching issue in commit 9f393a2d7a ("board: ti: common:
board_detect: Fix EEPROM read quirk for 2-byte").
In the previous commit, the value with one offset is being read into
offset_test, but the pointer used to match was still ep. After reading
with an offset 1, the second byte of the header is compared with the 1-byte
data read from EEPROM. This is taken care by comparing proper first byte
value from the header.
Signed-off-by: Prasanth Babu Mantena <p-mantena@ti.com>
Fixes: 9f393a2d7a (board: ti: common: board_detect: Fix EEPROM read quirk for 2-byte)
BOOT_DEVICE_SPINAND and BOOT_DEVICE_UART have same index of 0x7, this
leads to attempting SPINAND boot during UART boot. Fix this by
allocating unique value to BOOT_DEVICE_SPINAND. While at that move it
out of unused list as SPINAND boot is very much supported on AM62x SoCs.
Fixes: 8c7827f522 ("arm: mack-k3: am62x: Add SPI NAND as a boot device")
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
AM64x SoCs have two R5F clusters in the main power domain.
Extend support for R5F remote proc driver on AM64x with compatible
strings.
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Similar to other K3 platforms, drop specifying source of env to avoid
picking up stale env. This enables proper FitImage boot on HS-SE
devices which used to fail due to stale env from older releases.
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
For systems with 512MB DDR, reduce the top 64MB for firmwares instead of
current 256MB. This provides more useable memory for U-Boot during image
load.
Fixes: 64c0d9e010 ("board: ti: am62x: Avoid overwriting reserve mem for AM62 SIP")
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
spi-tx-bus-width is set as 8 in SoM dtsi, but set to 1 in R5 common
proc board dts, which seems wrong. SPI NOR requires a 8D reset before
probe starts using 0x66+0x99 op, but that will fail if the flash tx
width is set as 1.
Set spi-tx-bus-width to 8 in R5 common proc board dtsi also.
Signed-off-by: Apurva Nandan <a-nandan@ti.com>
Reviewed-by: Vaishnav Achath <vaishnav.a@ti.com>