Age | Commit message (Collapse) | Author |
|
Update simple-framebuffer device-tree node by enumerating framebuffer
related information in existing simple-framebuffer node in Linux
device-tree file and enabling it.
While at it, ignore error return value for framebuffer related DT node
updates as a non-zero return value for ft_board_setup is treated as a fatal
error causing board reset.
In case there is no simple-framebuffer stub detected in Linux kernel
device-tree and video is still active, then update the device-tree to
reserve the framebuffer region for the active splash screen.
This helps preserve the splash screen till the display server takes over
after OS is booted.
In case the simplefb node update or the framebuffer reservation fails we
treat it as a non-fatal error and avoid returning error to parent
function as the non-zero return value of ft_board_setup is treated as
fatal error which leads to board reset
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
|
|
Create separate helper for just reserving framebuffer region without
creating or enabling simple-framebuffer node.
This is useful for scenarios where user want to preserve the bootloader
splash screen till OS boots up and display server gets started without
displaying anything else in between and thus not requiring
simple-framebuffer.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
|
|
Enable and update simple-framebuffer node using the video handoff
bloblist if video was enabled at SPL stage and corresponding video
bloblist was received at u-boot proper with necessary parameters.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
|
|
If SPL is passing video handoff structure to U-boot then it is safe to
assume that SPL has already enabled video and that's why it is passing
video handoff structure to U-boot so that U-boot can preserve the
framebuffer.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
|
|
Fill video handoff fields in video_post_probe as at this point we have
full framebuffer-related information.
Also fill all the fields available in video hand-off struct as those
were missing earlier and U-boot framework expects them to be filled for
some of the functionalities.
While filling framebuffer size in video hand-off structure use the
actual framebuffer region size as derived from gd->video_top and
gd->video_bottom instead of directly using the size populated in
video_uc_plat as it contains unaligned size.
Reported-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
|
|
The SDRAM_IDX in DDRSS_V2A_CTL_REG describes the number of address
bits minus 16 that are used to determine the mask used to detect
memory rollover and prevent aliasing and false coherency issues.
Set SDRAM_IDX using the device private data, ddr_ram_size for AM64x,
AM62x and AM62x SIP.
Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Acked-by: Bryan Brattlof <bb@ti.com>
|
|
Add new partition to support avb on vendor_dlkm partition.
Add for both Beagle Play and AM62X SK EVM.
Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
[mkorpershoek: added beagle play bits]
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
|
|
Factory Reset Protection (frp) is a required Android partition in order to
support factory reset via the SystemUI.
It's been added to am62x SK EVM partition list in
commit bc8e096e814 ("environment: ti: mmc_android: add frp partition")
Add it to the Beagle Play partitioning table as well.
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
|
|
commit d1857c85e2d ("environment: ti: mmc_android: update metadata partition")
switched the metadata partition to use f2fs file system.
This requires a size increase of the partition to avoid the following flash error:
Flashing metadata partition
Warning: skip copying metadata image avb footer (metadata partition size: 16777216, metadata image size: 63963136).
Sending 'metadata' (62464 KB) OKAY [ 2.477s]
Writing 'metadata' FAILED (remote: 'too large for partition')
fastboot: error: Command failed
Increase the metadata partition size for Beagle Play as well.
Fixes: d1857c85e2d ("environment: ti: mmc_android: update metadata partition")
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
|
|
Bump up malloc length to 3MiB for R5 SPL, as the size of tispl.bin is
increased now after introduction of splash and caching support and with
display-cluster enabled DM firmware, R5 SPL fails to load tispl.bin with
below issue :
"U-Boot SPL 2023.04-g7d05009917 (Feb 15 2024 - 18:08:11 +0000) SYSFW
ABI: 3.1 (firmware rev 0x0009 '9.2.1--v09.02.01 (Kool Koala)') SPL
initial stack usage: 17072 bytes Trying to boot from MMC2 alloc space
exhausted SPL: failed to boot from all boot devices"
Fixes: a7e8f56abf9 ("board: ti: am62p: Add splash screen support")
Reviewed-by: Kamlesh Gurudasani <kamlesh@ti.com>
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
|
|
Fixes below warning by including cpu_funcs.h:
"board/ti/am62px/evm.c: In function `spl_board_init`:
board/ti/am62px/evm.c:83:9: warning: implicit declaration of function
`enable_caches` [-Wimplicit-function-declaration]
83 | enable_caches();"
| ^~~~~~~~~~~~~
While at it, also sort the include headers by placing video.h at the
end.
Fixes: a7e8f56abf9 ("board: ti: am62p: Add splash screen support")
Reviewed-by: Kamlesh Gurudasani <kamlesh@ti.com>
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
|
|
Add new partition to support factory reset protection with android 14.
It's needed to be able to do factory reset.
Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
|
|
To fix vts_fs_test and be compliance with google requirements we need to
move on f2fs partition type.
fastboot format metadata fail with actual size so update it to 64MB.
Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
|
|
The default DM firmware path is non-optional as of now. Make it
optional so that users that choose to provide DM via TI_DM argument
instead of BINMAN_INDIRS can do so without build errors.
Cc: Chirag Shilwant <c-shilwant@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Tested-by: Chirag Shilwant <c-shilwant@ti.com>
|
|
Move bus-width property to *main.dtsi, above the OTAP/ITAP
delay values. While there is no error with where it is
currently at, it is easier to read the MMC node if the
bus-width property is located above the OTAP/ITAP delay
values consistently across MMC nodes.
Add missing bus-width DTS property for sdchi2 in k3-am62-main.
Signed-off-by: Judith Mendez <jm@ti.com>
|
|
Move ti,clkbuf-sel property above the OTAP/ITAP delay values.
While there is no error with where it is currently at, it is
easier to read the MMC node if ti,clkbuf-sel is located above
the OTAP/ITAP delay values consistently across MMC nodes.
Add missing ti,clkbuf-sel DTS property for sdhci0 in k3-am64-main.
Signed-off-by: Judith Mendez <jm@ti.com>
|
|
Remove DLL properties which are not applicable for soft PHYs
since these PHYs do not have a DLL to enable.
Signed-off-by: Judith Mendez <jm@ti.com>
|
|
Update MMC OTAP/ITAP values according to the datasheet
[0], refer to Table 7-79 for MMC0 and Table 7-97 for MMC1/MMC2.
[0] https://www.ti.com/lit/ds/symlink/am62p.pdf
Signed-off-by: Judith Mendez <jm@ti.com>
|
|
Update MMC0/MMC1 OTAP/ITAP delay values according to the
datasheet [0], refer to Table 7-79 for MMC0 and Table 7-97
for MMC1.
[0] https://www.ti.com/lit/ds/symlink/am62a7.pdf
Signed-off-by: Judith Mendez <jm@ti.com>
|
|
Update MMC0/MMC1 OTAP/ITAP values according to the datasheet
[0], refer to Table 7-68 for MMC0 and Table 7-77 for MMC1.
Move ITAPDLY values after OTAPDLY values to make MMC
nodes more uniform across devices.
[0] https://www.ti.com/lit/ds/symlink/am6442.pdf
Signed-off-by: Judith Mendez <jm@ti.com>
|
|
Add sdhci2 DT node in k3-am62a-main for mmc2. Add otap/itap
values according to the datasheet[0], Refer to Table 7-97.
[0] https://www.ti.com/lit/ds/symlink/am62a3.pdf
Signed-off-by: Judith Mendez <jm@ti.com>
|
|
commit d36ad81d25a99 ("board: ti: common: add rtc setup to common folder")
I had mistakenly copied over the gpio debounce configuration into the
external 32k rtc crystal setup. Unfortunately this causing issues with
the DSP on the AM62Ax SoC family.
Because we have no need to configure debounce on our SK boards, let's
just rip this out for now.
Signed-off-by: Bryan Brattlof <bb@ti.com>
|
|
Nothing much has changed between the versions of the emif output. Some
changes to the PHY_PAD_CAL_IO_CFG_0, PHY PAD RST DRIVE, and
PHY_CAL_CLK_SELECT_0 should add some minor stability improvements.
Nonetheless, update to the latest characterization developments.
Signed-off-by: Bryan Brattlof <bb@ti.com>
|
|
The fixup_memory_node() does no change in AM64, AM62A and AM62P when
ECC is not enabled. Instead, it causes an issue of fixing up the RAM
size as 2GB instead of 4GB and 8GB for AM62A and AM62P because the
fix up is done by the R5 SPL and R5 being a 32-bit processor, the
gd->bd->bi_dram[bank].start and gd->bd->bi_dram[bank].size values are
restricted to 32-bits. So, remove the fixup_memory_node() from
spl_perform_fixups() in AM64, AM62A and AM62P's evm files.
Fixes: 410888e38c7e ("board: ti: Pull redundant DDR functions to a common location and Fixup DDR size when ECC is enabled")
Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
|
|
On AM69 board, build image was going beyond wrt defined
offsets.
So increasing offset for eMMC and OSPI boot. Along with
update in corresponding device tree.
Cc: Neha Francis <n-francis@ti.com>
Cc: Vaishnav Achath <vaishnav.a@ti.com>
Cc: Apurva Nandan <a-nandan@ti.com>
Signed-off-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Tested-by: Beleswar Padhi <b-padhi@ti.com>
|
|
OSPI boot was broken due to wrong pairing of DMA
Fixes: 61ea32c0eb0c ("dma: ti: k3-udma: Use ring_idx to pair k3 nav rings")
Reported-by: Minas Hambardzumyan <minas@ti.com>
Cc: MD Danish Anwar <danishanwar@ti.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>
Cc: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Udit Kumar <u-kumar1@ti.com>
|
|
AVS driver was getting probed with base device tree, which
leads i2c of derivative board (AM68) in bad state.
Moving AVS probe after detection of right device tree.
Fixes: eaa184009775 ("arm: k3: j721s2: Enable AVS")
Reported-by: Minas Hambardzumyan <minas@ti.com>
Cc: Manorit Chawdhry <m-chawdhry@ti.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>
Cc: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Udit Kumar <u-kumar1@ti.com>
|
|
The output from the emif tool hasn't changed for a while now, however
there is still a difference from what we use.
Signed-off-by: Bryan Brattlof <bb@ti.com>
|
|
The output from the emif tool hasn't changes in a long while however
there are some differences. Update to these latest settings.
Signed-off-by: Bryan Brattlof <bb@ti.com>
|
|
After a little debugging on the am62px some of these values will need to
be changed. Update to these new values to improve stability at higher IO
voltages.
Signed-off-by: Bryan Brattlof <bb@ti.com>
|
|
After a little bit of debugging and characterization at different IO
voltages, some of these values will need to change. Update to these
latest settings to improve stability at higher IO voltages.
Signed-off-by: Bryan Brattlof <bb@ti.com>
|
|
I do not think the R5 SPL will initialize non static variables (I didn't
find and evidence of it) so we want to ensure this is a constant.
Signed-off-by: Bryan Brattlof <bb@ti.com>
|
|
The AM64x and some of the AM62xx family of devices use the same 16b
controller though only the AM64x is limited to 2GB addressable.
Annoyingly the address alias detection machinery defaults to the full
8GB for the AM64x. Reset this value to 2GB only if we're initializin DDR
on an am64x device
Signed-off-by: Bryan Brattlof <bb@ti.com>
|
|
When ICSSG driver is enabled (CONFIG_TI_ICSSG_PRUETH=y) set
fw_storage_interface and fw_dev_part env variables.
These variables need be set appropriately in order to load differnet
ICSSG firmwares needed for ICSSG driver. By default the storage
interface is mmc and the partition is 1:2. User can modify this based on
their needs.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
Enable ICSSG driver, DP83869 phy driver, REMOTEPROC and PRU_REMOTEPROC
in am64x_evm_a53_defconfig. All these configs are needed for ICSSG
driver.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
ICSSG1 provides dual Gigabit Ethernet support.
Add ICSSG1 ethernet node to am64x device tree.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
The ICSSG IP on AM64x SoCs have two Industrial Ethernet Peripherals (IEPs)
to manage/generate Industrial Ethernet functions such as time stamping.
Each IEP sub-module is sourced from an internal clock mux that can be
derived from either of the IP instance's ICSSG_IEP_GCLK or from another
internal ICSSG CORE_CLK mux. Add both the IEP nodes for both the ICSSG
instances. The IEP clock is currently configured to be derived
indirectly from the ICSSG_ICLK running at 250 MHz.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
Add support for AM64x by adding it's compatible in pruss driver.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
Add support for AM64x PRU cores by adding compatibles for AM64x.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
When ICSSG driver is enabled (CONFIG_TI_ICSSG_PRUETH=y) set
fw_storage_interface and fw_dev_part env variables.
These variables need be set appropriately in order to load differnet
ICSSG firmwares needed for ICSSG driver. By default the storage
interface is mmc and the partition is 1:2. User can modify this based on
their needs.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
When CONFIG_TI_ICSSG_PRUETH is enabled, add config name check for the
icssg2 overlay in board_fit_config_match() API.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
We want SPL to apply DTB overlays (e.g. ICSSG2 overlay) so enable
SPL_LOAD_FIT_APPLY_OVERLAY.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
Enable ICSSG driver in am65x_evm_a53_defconfig
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
Add ICSSG2 overlay and configuration to tispl and u-boot images.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
ICSSG2 provides dual Gigabit Ethernet support.
Add ICSSG2 ethernet node to an overlay k3-am654-icssg2.dts
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
The ICSSG IP on AM65x SoCs have two Industrial Ethernet Peripherals (IEPs)
to manage/generate Industrial Ethernet functions such as time stamping.
Each IEP sub-module is sourced from an internal clock mux that can be
sourced from either of the IP instance's ICSSG_IEP_GCLK or ICSSG_ICLK.
Add the IEP nodes for all the ICSSG instances.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
There are a few missing registers ranges in the udmap nodes
need to properly setup DMA for the am65x.
A fix has been added to the Linux kernel [0] to add these ranges and
merged. To keep DMA operational until the next DT sync from Linux, these
ranges were added to the *-u-boot.dtsi in the upstream u-boot [1].
Porting these DMA changes to ti-u-boot as these are needed for ICSSG
Ethernet driver to work.
And additional config register was added to the ringacc node in upstream
u-boot as part of DT sync from linux 6.7-rc1 [2]. Porting those changes
as well to ti-u-boot as those are also needed for ICSSG Ethernet driver to
work.
[0] https://lore.kernel.org/r/20231213135138.929517-2-vigneshr@ti.com
[1] https://source.denx.de/u-boot/u-boot/-/commit/5e00547e583f6d4349f3908d3491bf6ce0a8818c
[2] https://source.denx.de/u-boot/u-boot/-/commit/4dbdc84754ea2ad392ef7328da6d429cd8fd3c0a
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
The binding represents the MDIO controller as a child device tree
node of the MAC device tree node.
The U-Boot driver mostly ignores that child device tree node and just
hardcodes the resources it uses to support both the MAC and MDIO in a
single driver.
However, some resources like pinctrl muxing states are thus ignored.
This has been a problem with some device trees that will put some
pinctrl states on the MDIO device tree node.
Let's rework the driver a bit to create a dummy MDIO driver that we will
then get during our initialization to force the core to select the right
muxing.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
ICSSG firmware supports FDB commands. Add support to send FDB commands
from driver. Once rx_flow_id is obtained from dma, let firmware know that
we are using this rx_flow_id by sending a FDB command.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|
|
This is the PURSS Ethernet driver for TI AM654 Sr2.0 and laterSoCs with
the ICSSG PRU Sub-system running EMAC firmware. This driver caters to
either of the slices of the icssg subsystem.
One and exactly one of the slices is supported as the u-boot ethernet
supports probing one interface at a time.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
|