Hi everyone!
I have 2 same car head units. It very similar to SabreAuto and has iMX6Q CPU (SC667624AVT10AD, vid:pid 0x15a2:0x0054, but only 2 cores work). One is normal, the second one is bricked after unsuccessful flash by MFGTool. I don't know what exactly happens, but after that board connected always in recovery mode. After power there is no boot, no any symbol in UART, USB shows "ID 15a2:0054 Freescale Semiconductor, Inc. i.MX 6Dual/6Quad SystemOnChip in RecoveryMode", in Windows looks as "SE BLANK ARIK". Board has DIP-switches for boot from different sources, but they configuration ignored after power on.
I can load u-boot manually and start native OS from onboard eMMC, I can load u-boot manually and boot from MicroSD or SPI-NOR (both soldering by Me on propper places), but no one load u-boot after power on. The working head unit boots normally from any source configured by the switches.
I have no idea what is wrong. Please help Me. Sorry for My bad English. Big thanks!
Big thanx for help!
I can't do something usefull to repair head unit. It's going to scrap.
Please close this case.
Best regards!
One more thing. After that strange changes My u-boot's can't see onboard EMMC.
U-Boot > mmc dev 1
MMC: no card present
mmc1(part 0) is current device
U-Boot > mmcinfo
MMC: no card present
Device: FSL_SDHC
Manufacturer ID: 0
OEM: 0
Name: Tran Speed: 0
Rd Block Len: 0
MMC version 0.0
High Capacity: No
Capacity: 0 Bytes
Bus Width: 0-bit
U-Boot >
But I can start Android from EMMC in CLI via MicroSD and can read, write, erase EMMC.
Hi @John_Smith_nxp,
Big thanks for the answer!
I did not have any document for this head unit. But I found combination of DIP switches to boot from SPI-NOR and MicroSD.
Boot form eMMC is by default from factory. Also i found 2 switches witch have only 10kOhm resistors to the ground, like BOOT_MODE0 and BOOT_MODE1 from SPF-27925_F2.PDF file.
I can't inspect whole traces from switches to CPU, because PCB has 8 layers. I don't know how to read this fuses BT_FUSE_SEL and SDP_DISABLE.
This board can boot only from USB and have errors when I try to write it by UUU: "SDP: write -f u-boot.imx --> LibUSB error".
This is what I read from bricked board (I boot it from USB and start Android 4.4 from MicroSD. Board IS NOT Nitrogen6x from Boundary).
root@nitrogen6x:/ # cat /sys/fsl_otp/HW_OCOTP_LOCK
0x20220003
root@nitrogen6x:/sys/fsl_otp # cat HW_OCOTP_CFG0
0xee6af004
root@nitrogen6x:/sys/fsl_otp # cat HW_OCOTP_CFG1
0xe2389d4
root@nitrogen6x:/sys/fsl_otp # cat HW_OCOTP_CFG2
0x20220001
root@nitrogen6x:/sys/fsl_otp # cat HW_OCOTP_CFG3
0x620302
root@nitrogen6x:/sys/fsl_otp # cat HW_OCOTP_CFG4
0x8000030
root@nitrogen6x:/sys/fsl_otp # cat HW_OCOTP_CFG5
0x10
root@nitrogen6x:/sys/fsl_otp # cat HW_OCOTP_CFG6
0x0
My fault - I don't understand what this means, but I try to know this magic.
PS: "ON" position is +3.3V.
Best regards!!!
Hi @John_Smith_nxp,
=> One can read the fuse from U-boot using the 'fuse' command. Please refer to the below document for the same.
Hello Dhruvit!
Big thanks for Your help!
My results at last time. I read the same fuses on another two same head units. This is results and they not equal (very strange).
They work absolutely normal - starts u-boot and Android from onboard EMMC.
----WORKING HEAD UNIT 1----
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_LOCK
0x20220003
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG0
0xee7f865c
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG1
0x161c59d4
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG2
0x2022002c
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG3
0x620302
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG4
0x0
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG5
0x0
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG6
0x0
----WORKING HEAD UNIT 2----
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_LOCK
0x20220002
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG0
0xd1e1233a
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG1
0x1a1a11d4
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG2
0x20200084
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG3
0x620302
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG4
0x0
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG5
0x0
root@android:/ # cat /sys/fsl_otp/HW_OCOTP_CFG6
0x0
I try to burn HW_OCOTP_CFG5 fuse on bricked head unit from u-boot and Android, but result is negative - still 0x10.
I have more questions.
1. Does NXP have any fuse calculator like AVR Fuse Calculator?
2. In witch fuse stored boot configuration?
3. Why UUU or IMX_USB can't burn U-boot into EMMC? (SDP: write -f or uuu -b failed)
4. What CPU exactly installed on this board? How many cores physically it contents?
root@arm:/mnt/2p5# devmem2 0x20D_8004
/dev/mem opened.
Memory mapped at address 0xb6f12000.
Value at address 0x20D (0xb6f1220d): 0x18307FF0
root@arm:/mnt/2p5# devmem2 0x20D_801C
/dev/mem opened.
Memory mapped at address 0xb6f02000.
Value at address 0x20D (0xb6f0220d): 0x18307FF0
root@arm:/mnt/2p5#
Best regards!
Hi @John_Smith_nxp,
4. What CPU exactly installed on this board? How many cores physically it contents?