Hello,
I am currently working on the board bring-up of our NXP i.MX6SX EVB 3 board, integrated with a custom-built tuner board that includes Mercury (SAF400x/777x) and Radion components.
I attempted to boot the board using a Yocto-built full image (imx-core-image), but it failed — resulting in a blank screen with no apparent activity. However, the same hardware functions correctly when flashed with the provided firmware image (USB2SER_GAPI_IMX_R0.3.2) intended for Windows.
To further investigate, I connected the board via UART and successfully captured the following U-Boot output from the reference image:
Welcome to minicom 2.8
OPTIONS: I18n
Port /dev/ttyUSB0, 12:22:57
Press CTRL-A Z for help on special keys
U-Boot 2015.04-00382-g8466c7d-dirty (Aug 10 2018 - 11:15:53)
CPU: Freescale i.MX6SX rev1.3 at 792 MHz
CPU: Temperature 51 C
Reset cause: POR
Board: MX6SX BROADCAST SMART ANTENNA
I2C: ready
DRAM: 128 MiB
PMIC: PFUZE300 DEV_ID=0x40 REV_ID=0x7
MMC: FSL_SDHC: 0
In: serial
Out: serial
Err: serial
switch to partitions #0, OK
mmc0 is current device
Net: FEC0
Error: FEC0 address not set.
Normal Boot
Hit any key to stop autoboot: 0
reading USB2SER_GAPI_IMX.bin
46600 bytes read in 67 ms (678.7 KiB/s)
## Starting auxiliary core at 0x00900000 ...
[[[ USB2Serial Application On i.MX 6SoloX ARM Cortex M4 Platform ]]]40000000
[[[ UniqueId1=D1E2A3DD UniqueId2=B3851D4 SerialNo=188240340 ]]]
[[[ USB2SER_GAPI_IMX.bin Version 0.3.2 ]]]
Since I intend to run Linux on this board for our custom application, I attempted to boot with the latest U-Boot for i.MX6 SoloX. However, with the new U-Boot image, I observed no output on the UART console.
Upon comparing the working GAPI firmware with the new U-Boot binary, I noticed that the IVT (Image Vector Table) header had differences — particularly in the DCD (Device Configuration Data) section, which is responsible for initializing DDR memory.
As an experiment, I kept the DCD section from the GAPI firmware and replaced only the U-Boot section with the latest version. This allowed the board to boot, and I received the following output:
U-Boot 2024.04-lf_v2024.04+ge3219a5a734+p0 (Feb 18 2025 - 04:03:02 +0000)
CPU: i.MX6SX rev1.3 at 792MHz
Model: i.MX6 SoloX Sabre Auto Board
DRAM: 128 MiB
pca953x gpio@30: Error reading output register
pca953x gpio@32: Error reading output register
initcall failed at call 86eb8ff9 (err=-22)
### ERROR ### Please RESET the board ###
It appears that the board now attempts to boot but fails due to one or more of the following:
A mismatched or incorrect device tree for our custom hardware.
U-Boot attempting to initialize or access devices that do not exist on this board (e.g., specific I2C GPIO expanders).
To proceed further, we believe we need either:
The hardware schematics of the board, or
A reference device tree source (DTS) from the BSP vendor or hardware provider.
Additionally, we are seeking more documentation to help us understand the hardware layout — particularly how and where the Mercury (SAF400x/777x) and Radion components are connected. Specifically, we need to know whether these are interfaced with the Cortex-A9 core (APU) or the Cortex-M4 core (MCU), so we can configure the system and firmware accordingly.
Could you please help confirm whether the steps we’ve followed so far are appropriate? Also, we would greatly appreciate your guidance on properly configuring the device tree and obtaining the necessary reference material and documentation.
Thank you for your support.