| Age | Commit message (Collapse) | Author |
|
In order to build this code, outside of QEMU systems which instead have
provided tables that we use, we must select ACPIGEN as well.
Signed-off-by: Tom Rini <[email protected]>
|
|
A large number of drivers "depends on" SPI_MEM but this is library type
functionality and so must be select'd instead in order to ensure that
drivers will build. Correct this usage and hide the symbol normally.
Signed-off-by: Tom Rini <[email protected]>
|
|
In order to build CROS_EC_SANDBOX we must also have the hashing API
enabled, add that as a dependency.
Signed-off-by: Tom Rini <[email protected]>
|
|
The legacy CMD_PCA953X command can only be built when the matching
legacy driver is enabled, add that dependency to Kconfig.
Signed-off-by: Tom Rini <[email protected]>
|
|
In order to build SANDBOX_CLK_CCF we need for CLK_CCF to be enabled, add
that as a select similar to other drivers.
Signed-off-by: Tom Rini <[email protected]>
|
|
We cannot build CMD_PMC without ACPI_PMC, so add that as a dependency.
Signed-off-by: Tom Rini <[email protected]>
|
|
The CEDIT functionality, due to the cmos functions, depends directly on
DM_RTC being enabled in order to provide that API. Express this in
Kconfig as well.
Signed-off-by: Tom Rini <[email protected]>
|
|
As this command calls lmb_alloc_mem directly it must depend on LMB being
enabled.
Signed-off-by: Tom Rini <[email protected]>
|
|
The calls around lmb functions for these commands are not specific to
SYS_BOOT_RAMDISK_HIGH but rather part of the general loading portion of
the command itself currently. Move this dependency to the right spot.
Signed-off-by: Tom Rini <[email protected]>
|
|
In order to build the spi flash environment driver, but with
CONFIG_ENV_REDUNDANT disabled we must make use of IF_ENABLED_INT to
check for a value in CONFIG_ENV_OFFSET_REDUND otherwise we will fail to
build.
Signed-off-by: Tom Rini <[email protected]>
|
|
In order to have ENV_IS_IN_NAND be valid we must have MTD_RAW_NAND
enabled as a minimum, express this dependency in Kconfig.
Signed-off-by: Tom Rini <[email protected]>
|
|
Update the dependencies for RTC drivers which did not express a
requirement on DM_RTC, or in some cases on DM_RTC being disabled. In a
few cases, when DM_RTC is disabled we also require DM_I2C to also be
disabled or for POWER_LEGACY to be enabled.
Signed-off-by: Tom Rini <[email protected]>
|
|
At this point there are no users of this driver which do not enable
DM_RTC, so remove the legacy code and express the depdendency in
Kconfig. We can further remove code related to RTC chips / options that
are neither available in Kconfig nor set by any platforms.
Signed-off-by: Tom Rini <[email protected]>
|
|
The DS1338 RTC chip is supported in DM mode by the DS1307 driver, and at
this point all users have been using this functionality. It was a
function of Kconfig configuration that implied otherwise. Remove the
unused legacy symbols.
Signed-off-by: Tom Rini <[email protected]>
|
|
Every U_BOOT_DRIVER entry must be unique and this driver was re-using
the name of the bootcount_spi_flash driver. Change to
bootcount_i2c_eeprom.
Reviewed-by: Michael Trimarchi <[email protected]>
Signed-off-by: Tom Rini <[email protected]>
|
|
Today we typically enable CMD_SATA in order to have the SATA
functionality itself enabled, despite there being a clean split between
the two symbols. This in turn leads to potential configuration problems.
Split things so that SATA continues to be separate and not CMD_SATA
instead depends, functionally, on AHCI being enabled.
To do all of this:
- Have X86 select AHCI directly rather than "default y" it later.
- Make CMD_SATA be a default y option, given the split of platforms that
enabled SATA and did, or did not, enable CMD_SATA.
- Change "imply CMD_SATA" to "imply SATA"
- Correct TARGET_VEXPRESS64_JUNO because you cannot select SATA_SIL
without PCI (and in turn, SATA is needed for SATA_SIL).
- Update a number of defconfigs to have no functional change.
Signed-off-by: Tom Rini <[email protected]>
|
|
It is not functionally possible to use the code enabled by
PARTITION_TYPE_GUID without having EFI_PARTITION be enabled as well. Not
all users of the former had ensured that the latter was enabled however,
so audit all current users and then as appropriate select or imply
EFI_PARTITION as needed.
Signed-off-by: Tom Rini <[email protected]>
|
|
As exposed by "make randconfig", we have an issue with the dependencies
for BOOTM_OPTEE. This symbol needs to select BOOTM_LINUX and in turn
depend on the library symbols that have to be enabled for BOOTM_LINUX to
be valid (LIB_BOOTI, LIB_BOOTM and LIB_BOOTZ).
Reviewed-by: Marek Vasut <[email protected]>
Signed-off-by: Tom Rini <[email protected]>
|
|
As exposed by "make randconfig", we have an issues around a number of
symbols that we select without making sure to also select their
prerequisite symbols. Add these missing symbols.
Signed-off-by: Tom Rini <[email protected]>
|
|
It turns out that there is lots of code in the wild, including in the
U-Boot tree itself, which used to rely on
test -n $somevar
to yield false when $somevar is not defined or empty. See for example
all the occurrences of 'test -n $fdtfile'. That was really only a
quirk of the implementation that refused calls with argc < 3, and not
because it was interpreted as
test -n "$somevar"
which is how this should be spelled.
While not exactly conforming to POSIX, we can accomodate such scripts
by special-casing a single argument "-n" to be interpreted as if it
comes from code as above with empty $somevar.
Since we only just added the ability to test a string for emptiness
using the single-argument form, it is very unlikely that there is code
doing
test "$str"
which would now fail if $str happens to be exactly "-n"; such a test
should really always be spelled
test -n "$str"
Fixes: 8b0619579b2 ("cmd: test: fix handling of single-argument form of test")
Reported-by: Franz Schnyder <[email protected]>
Signed-off-by: Rasmus Villemoes <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
|
|
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29745
- Migrate imx95-toradex-smarc to use upstream devicetree.
- Force fsl crypto driver to select ARCH_MISC_INIT to avoid crashes when
using CAAM.
- Support upstream Linux reset-gpios property for the i.MX PCI driver.
- Avoid duplication of DDR tables on i.MX8MP DHCOM SoM.
- Several cleanups on tqma6 platform.
- Convert i.MX8MP boards to DM_PMIC.
- Add phyCORE-i.MX91 support.
- Drop unnecessary BOARD_EARLY_INIT_F usage.
|
|
The data only relocation mode should be selected on per-SoC or per-core
basis, make these options non-user-configurable. The SoC or cores which
require this have to select this option using "default" keyword.
Fixes: d9eee3d17882 ("arm: relocate: Introduce data-only relocation mode")
Signed-off-by: Marek Vasut <[email protected]>
|
|
There are no longer any users of the legacy non-DM pl01x serial driver.
This lets us remove both CONFIG_PL011_SERIAL as well as
CONFIG_PL011_SERIAL_RLCR references. We still have SPL users of the
non-DM portions of the code.
Signed-off-by: Tom Rini <[email protected]>
|
|
When both environment copies have valid CRCs but the flag bytes do not
match any recognized pair, env_flash_init() falls through without
setting gd->env_addr or gd->env_valid. This is a problem because:
1. env_init() then sets gd->env_addr = &default_environment (in RAM).
2. In env_flash_load(), the pointer comparison
gd->env_addr != &flash_addr->data evaluates true (RAM != flash),
triggering the pointer swap that selects the secondary copy.
3. The repair logic writes OBSOLETE (0x00) to the non-active flag but
cannot promote the other flag from 0x00 to ACTIVE (0x01) because
NOR flash requires a sector erase to set bits. Both copies end up
with flag=0x00.
4. On every subsequent boot, flag1 == flag2 triggers the ENV_REDUND
path, printing a spurious "recovered successfully" warning until
an explicit saveenv erases and rewrites the sectors.
The recognized flag values are ACTIVE (0x01), OBSOLETE (0x00), and
erased (0xFF). Of the 256 possible flag values, the existing chain of
if/else-if handles only three: 253 of 256 values fall through without
setting gd->env_addr. Combined with 0x00 (already stuck on NOR),
254 of 256 values eventually reach the persistent-warning state.
Other env backends (SPI flash, NAND, MMC) handle this through
env_check_redund() in env/common.c, which uses a numeric comparison
of the flags as a serial counter and always reaches a decision. The
CFI flash backend is the only one that uses its own flag-matching
logic.
Add a catch-all else clause that defaults to the primary copy with
ENV_REDUND status, matching the existing behavior for the flag1==flag2
case. This ensures gd->env_addr is always set, preventing the
unintended pointer swap. The condition is recoverable via saveenv.
Signed-off-by: Neil Berkman <[email protected]>
Reproducer: https://gist.github.com/neilberkman/4155612a7942d3f510f204eb85e61943
The SPI flash backend (env/sf.c) has a related but distinct issue:
it retained legacy boolean save semantics but its load path now uses
the common serial-number logic in env_check_redund(), creating an
inconsistency under interrupted updates. That has wider implications
for fw_env.c and would need separate discussion.
|
|
All information is contained in the global MAINTAINERS or
TQ board MAINTAINERS.
Signed-off-by: Max Merchel <[email protected]>
|
|
Add MAINTAINERS file containing board-specific information and
the name of the board maintainer.
Signed-off-by: Max Merchel <[email protected]>
|
|
- change TQ GROUP to TQ-Systems
- add TQ mailing list
- remove custodian tree
- add board directory
- add board configs
- add board device trees
- add board documentation directory
- add shared environment directory
Signed-off-by: Markus Niebel <[email protected]>
Signed-off-by: Max Merchel <[email protected]>
|
|
Introduce timing patch which converts 2 GiB DRAM timings to 4 GiB 1-rank
timings. This is a new configuration which carries IS43LQ32K01B DRAM part.
The 512 MiB SoM strapping that was never used is repurposed for this part.
Signed-off-by: Marek Vasut <[email protected]>
|
|
The 2 GiB and 4 GiB 2-rank DRAM timings on i.MX8MP DHCOM are very
similar. Instead of carrying around two copies of almost identical
timing tables, implement a patch of the 2 GiB table to convert it
into 4 GiB 2-rank table and pass the result to DRAM initialization
code. This saves us 13640 Bytes in SPL, and frees up space for more
DRAM initialization tables.
Signed-off-by: Marek Vasut <[email protected]>
|
|
The DRAM size tables are shared by SPL and U-Boot proper, deduplicate
those tables into lpddr4_timing.h . No functional change.
Signed-off-by: Marek Vasut <[email protected]>
|
|
The inline ECC configuration is identical for 2 GiB DRAM variants
and 4 GiB DRAM variants of the SoM, no matter the rank count. Fold
the ECC configuration directly into spl.c to simplify the upcoming
deduplication. No functional change.
Signed-off-by: Marek Vasut <[email protected]>
|
|
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC
handling.
Changes include:
- Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig.
- Drop legacy SPL I2C and PMIC options.
- Remove manual I2C1 pad setup and legacy power_pca9450_init() usage.
- Use DM-based pmic_get() with the DT node "pmic@25".
- Update PMIC register programming to use struct udevice API.
Signed-off-by: Peng Fan <[email protected]>
|
|
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC
handling.
Changes include:
- Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig.
- Drop legacy SPL I2C and PMIC options.
- Remove manual I2C1 pad setup and legacy power_pca9450_init() usage.
- Use DM-based pmic_get() with the DT node "pmic@25".
- Update PMIC register programming to use struct udevice API.
Signed-off-by: Peng Fan <[email protected]>
Reviewed-by: Yannic Moog <[email protected]>
Tested-by: Yannic Moog <[email protected]>
Reviewed-by: Teresa Remmet <[email protected]>
|
|
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC
handling.
Changes include:
- Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig.
- Drop legacy SPL I2C and PMIC options.
- Remove manual I2C1 pad setup and legacy power_pca9450_init() usage.
- Use DM-based pmic_get() with the DT node "pmic@25".
- Update PMIC register programming to use struct udevice API.
Signed-off-by: Peng Fan <[email protected]>
Tested-by: Ernest Van Hoecke <[email protected]>
|
|
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC
handling.
Changes include:
- Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig.
- Drop legacy SPL I2C and PMIC options.
- Remove manual I2C1 pad setup and legacy power_pca9450_init() usage.
- Use DM-based pmic_get() with the DT node "pmic@25".
- Update PMIC register programming to use struct udevice API.
Signed-off-by: Peng Fan <[email protected]>
Reviewed-by: Yannic Moog <[email protected]>
Tested-by: Yannic Moog <[email protected]>
Reviewed-by: Teresa Remmet <[email protected]>
|
|
On the SMARC iMX95 the WiFI UART and JTAG signals are shared. The
WIFI_UART_EN signal is used to select between these two modes.
Currently, there is no hog present in the device tree but the
configuration needs to be added, as once the device tree comes from
mainline Linux, a hog will drive WIFI_UART_EN high to select by
default the UART function during boot.
Enable CONFIG_GPIO_HOG to apply gpio-hog definitions in the device tree.
Signed-off-by: Franz Schnyder <[email protected]>
|
|
Allow CONFIG_OF_UPSTREAM to receive automatic device tree updates for
the Toradex SMARC iMX95.
Remove the now obsolete device tree files:
- imx95-toradex-smarc-dev.dts
- imx95-toradex-smarc.dtsi
Signed-off-by: Franz Schnyder <[email protected]>
|
|
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
Signed-off-by: Tom Rini <[email protected]>
|
|
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
Signed-off-by: Tom Rini <[email protected]>
|
|
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
Signed-off-by: Tom Rini <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
|
|
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
Signed-off-by: Tom Rini <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
|
|
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
Signed-off-by: Tom Rini <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
|
|
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
Signed-off-by: Tom Rini <[email protected]>
|
|
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
Signed-off-by: Tom Rini <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
|
|
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
Signed-off-by: Tom Rini <[email protected]>
Reviewed-by: Frieder Schrempf <[email protected]>
|
|
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
Signed-off-by: Tom Rini <[email protected]>
|
|
In the case of SPI_XFER_BEGIN | SPI_XFER_END, the function creates a
buffer of double the size of the transaction, so that it can write the
data in into the second half. It sets the rx_offset to len, and in the
while loop we are setting an internal "din" to buffer + rx_offset.
However, at the end of each loop, the driver copies "buffer + 2 *
cmd_len" back to the data_in pointer.
This commit changes the source of the data to buffer + rx_offset.
Signed-off-by: Tomas Alvarez Vanoli <[email protected]>
|
|
The CAAM JR driver is initialized from arch_misc_init(). If
ARCH_MISC_INIT is not enabled, the driver is never initialized,
which can lead to crashes or hangs (e.g. during hash operations).
Select ARCH_MISC_INIT when enabling FSL_CAAM to ensure proper
initialization.
Signed-off-by: Heiko Schocher <[email protected]>
Suggested-by: Fabio Estevam <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
|
|
New SoM revision use series termination for eMMC signals while older do
not. To prevent signal overshot on older revisions, DSR must be set and
limited. The eMMC type is used to differentiate between revisions.
Keep a table with all types, that are known to require DSR.
Signed-off-by: Paul Gerber <[email protected]>
Signed-off-by: Max Merchel <[email protected]>
|
|
Add function from common mmc header and
select TQ_COMMON_SDMMC Kconfig option for MBa6
Signed-off-by: Max Merchel <[email protected]>
|