hi
imx6sl use L3.0.35_4.1.0_130816 to build u-boot,kernel and rootfs. when system hang-up during booting. it happen always.
here is the kernel log:
U-Boot 2009.08 (Nov 26 2014 - 03:42:10)
CPU: Freescale i.MX6 family TO1.0 at 792 MHz
Thermal sensor with ratio = 192
Temperature: 41 C, calibration data 0x5bc54369
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 198000000Hz
emi_slow clock: 99000000Hz
ddr clock : 396000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
Board: MX6SoloLite-EVK (0x60310): [ POR ]
Boot Device: MMC
I2C: ready
DRAM: 512 MB
MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2
In: serial
Out: serial
Err: serial
Found PFUZE100! deviceid=10,revid=11
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 0
mmc1(part 0) is current device
MMC read: dev # 1, block # 2048, count 8192 ... 8192 blocks read: OK
## Booting kernel from Legacy Image at 80800000 ...
Image Name: Linux-3.0.35-2666-gbdde708-g939e
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3585132 Bytes = 3.4 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Linux version 3.0.35-2666-gbdde708-g939e548-dirty (sw@ubuntu) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #1 PREEMPT Wed Nov 26 03:52:19 PST 2014
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6SoloLite EVK Board
Memory policy: ECC disabled, Data cache writeback
CPU identified as i.MX6SoloLite, silicon rev 1.0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 121856
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 480MB = 480MB total
Memory: 476052k/476052k available, 48236k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xf4600000 - 0xffe00000 ( 184 MB)
vmalloc : 0xa0800000 - 0xf2000000 (1304 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.init : 0x80008000 - 0x80035000 ( 180 kB)
.text : 0x80035000 - 0x80a30c1c (10224 kB)
.data : 0x80a32000 - 0x80a86760 ( 338 kB)
.bss : 0x80a86784 - 0x80aab718 ( 148 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:624
MXC GPIO hardware
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
arm_max_freq=1GHz
MXC_Early serial console at MMIO 0x2020000 (options '115200')
bootconsole [ttymxc0] enabled
Console: colour dummy device 80x30
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal
print_constraints: vddcore: 725 <--> 1300 mV at 1100 mV fast normal
print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02030000, Cache size: 262144 B
bio: create slab <bio-0> at 0
print_constraints: vmmc: 3300 mV
print_constraints: SPKVDD: 4325 mV
SCSI subsystem initialized
spi_imx imx6q-ecspi.0: probed
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale USB OTG Driver loaded, $Revision: 1.55 $
mc_pfuze 0-0008: ID: 0,Full lay: 1 ,Metal lay: 1
mc_pfuze 0-0008: FAB: 0 ,FIN: 0
print_constraints: PFUZE100_SW1A: 300 <--> 1875 mV at 1300 mV
print_constraints: PFUZE100_SW1B: 300 <--> 1875 mV at 300 mV
print_constraints: PFUZE100_SW1C: 300 <--> 1875 mV at 1300 mV
print_constraints: PFUZE100_SW2: 800 <--> 3950 mV at 3150 mV
print_constraints: PFUZE100_SW3A: 400 <--> 1975 mV at 1200 mV
print_constraints: PFUZE100_SW3B: 400 <--> 1975 mV at 1200 mV
print_constraints: PFUZE100_SW4: 800 <--> 3950 mV at 3300 mV
print_constraints: PFUZE100_SWBST: 5000 <--> 5150 mV at 5000 mV
print_constraints: PFUZE100_VSNVS: 1200 <--> 3000 mV at 1800 mV
print_constraints: PFUZE100_VREFDDR: at 750 mV
print_constraints: PFUZE100_VGEN1: 800 <--> 1550 mV at 1200 mV
print_constraints: PFUZE100_VGEN2: 800 <--> 1550 mV at 800 mV
print_constraints: PFUZE100_VGEN3: 1800 <--> 3300 mV at 1800 mV
print_constraints: PFUZE100_VGEN4: 1800 <--> 3300 mV at 1800 mV
print_constraints: PFUZE100_VGEN5: 1800 <--> 3300 mV at 2500 mV
print_constraints: PFUZE100_VGEN6: 1800 <--> 3300 mV at 1800 mV
i2c i2c-1: Invalid 7-bit I2C address 0x00
i2c i2c-1: Can't create device at 0x00
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Version 1.0.24.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
max17135 0-0048: Max17135 PMIC not found!
max17135 regulator init failed: -6
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
etb: probe of etb failed with error -2
etm: probe of etm.0 failed with error -2
Static Power Management for Freescale i.MX6
wait mode is enabled for i.MX6
cpaddr = a0820000 suspend_iram_base=a0840000
PM driver module loaded
IMX usb wakeup probe
add wake up source irq 75
IMX usb wakeup probe
mxc_bt_rfkill driver success loaded
rfkill: BT RF going to : on
cpu regulator mode:ldo_bypass
_regulator_get: get() with no identifier
mx6_cpu_regulator_init: failed to get pu regulator
i.MXC CPU frequency driver
JFFS2 version 2.2. (NAND) ⓒ 2001-2006 Red Hat, Inc.
msgmni has been set to 929
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 100x30
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
console [ttymxc0] enabled, bootconsole disabled
console [ttymxc0] enabled, bootconsole disabled
fsl_rngc fsl_rngc.0: FSL RNGC Registered.
loop: module loaded
m25p80 spi0.0: found m25p05-nonjedec, expected m25p32
m25p80 spi0.0: m25p05-nonjedec (64 Kbytes)
Creating 2 MTD partitions on "m25p32":
0x000000000000-0x000000100000 : "bootloader"
mtd: partition "bootloader" extends beyond the end of device "m25p32" -- size truncated to 0x10000
0x000000010000-0x000000010000 : "kernel"
mtd: partition "kernel" is out of reach -- disabled
vcan: Virtual CAN interface driver
CAN device driver interface
flexcan netdevice driver
FEC Ethernet Driver
fec_enet_mii_bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 74
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 74, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ARC USBOTG Device Controller driver (1 August 2005)
mousedev: PS/2 mouse device common for all mice
input: imx-keypad as /devices/platform/imx-keypad/input/input0
elan - Read Hello Packet Failed
elan-touch: probe of 0-0010 failed with error -22
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
pxp-v4l2 pxp-v4l2: initialized
i2c-core: driver [mag3110] using legacy suspend method
i2c-core: driver [mag3110] using legacy resume method
check mma8450 chip ID
mma8450 0-001c: read chip ID 0xfffffffb is not equal to 0xc6!
read chip ID failed
mma8450: probe of 0-001c failed with error -22
i2c-core: driver [mma8450] using legacy suspend method
i2c-core: driver [mma8450] using legacy resume method
add mma8450 i2c driver
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCIATH3K protocol initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci sdhci-esdhc-imx.1: no card-detect pin available!
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.1] using DMA
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.0] using DMA
sdhci sdhci-esdhc-imx.2: no write-protect pin available!
mmc2: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
Galcore version 4.6.9.6622
Thermal calibration data is 0x5bc54369
Thermal sensor with ratio = 192
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
dcp dcp.0: DCP crypto enabled.!
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
mxc_spdif mxc_spdif.0: MXC SPDIF Audio
Cirrus Logic CS42888 ALSA SoC Codec Driver
i2c-core: driver [cs42888] using legacy suspend method
i2c-core: driver [cs42888] using legacy resume method
mmc0: new high speed DDR MMC card at address 0001
mmcblk0: mmc0:0001 SEM08G 7.39 GiB
mmcblk0boot0: mmc0:0001 SEM08G partition 1 2.00 MiB
mmcblk0boot1: mmc0:0001 SEM08G partition 2 2.00 MiB
mmcblk0: p1
mmcblk0boot1: unknown partition table
mmcblk0boot0: unknown partition table
wm8962 1-001a: Device is not a WM8962, ID 0 != 6243
wm8962 1-001a: asoc: failed to probe CODEC wm8962.1-001a: -22
asoc: failed to instantiate card wm8962-audio: -22
imx_3stack asoc driver
asoc: mxc-spdif <-> imx-spdif-dai.0 mapping ok
Initialize HDMI-audio failed. Load HDMI-video first!
ALSA device list:
#0: imx-spdif
TCP cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Bus freq driver module loaded
Bus freq driver Enabled
mxc_dvfs_core_probe
DVFS driver module loaded
Solved! Go to Solution.
Thanks, this is very helpful, especially for Yocto version!
PS: [2014-12-20]
i found that real reason that hangs,
my board is customized which is come with 8GB emmc.
and official LTIB build kernel configuration file is NOT worked for my board,
i found out that freescsale FAE company's linux kernel configuration file is different
from freescale legacy LTIB kernel configuration file!!
THE freescsale FAE company's linux kernel configuration file is worked for my board.
Hi Ji
had you updated DDR settings for custom board with results of DDR tool below
(uboot/board/freescale/mx6sl_evk/flash_header.S) ?
i.MX6 DDR Stress Test Tool V1.0.3
Also one can try various kernel boot parameters, given in attached
document, Table 7. Kernel Boot Parameters: such as ip=none
and others.
Best regards
igor
it turned out, built bsp image was wrong in some linux environment,
when i build linux kernel in ltib-build-package(with custom emmc patch) from freescale official site, it didn't worked.
uImage size is 3.4MB
i.MX 6SoloLite Evaluation Kit|Freescale
so, i received ltib-build-package(with custom emmc patch) for i.MX6SL from freescale technical support company in my area.
built the package with no-distclean configuration, it boot without hang-up.
uImage size is 3.3MB
--
PS:
1. tested linux environment were ubuntu 9.04 32bit, 11.04 64bit, 12.04 64bit
2. tried linux kernel 3.0.101 patch set, also didn't worked.
probably DDR settings were different in these two
cases: one accidentally works for you, another - not.
not sure, because if i did "make ARCH=arm CROSS_COMPILE=... distclean" in working ltib-build-package.
and build it again "ltib -m scbuild -p kernel", uImage also didn't worked. 3.3MB(O) -> 3.4MB(X)
DDR settings are not defined in kernel, they are defined
in uboot dcd header.
Thanks, this is very helpful, especially for Yocto version!
PS: [2014-12-20]
i found that real reason that hangs,
my board is customized which is come with 8GB emmc.
and official LTIB build kernel configuration file is NOT worked for my board,
i found out that freescsale FAE company's linux kernel configuration file is different
from freescale legacy LTIB kernel configuration file!!
THE freescsale FAE company's linux kernel configuration file is worked for my board.
Hi, igor!
no i didn't, so i have tried your suggestion, but,
page 7/23 in i.MX6_DDR_Stress_Tester_User_Guide.pdf.
BOOT_CFG3[5:4] is reserved value, how to check the value?
and stress test result hang-up at first trial in my board.
in reference board, the stress test works fine.
DDR_Stress_Tester.exe -t mx6x -
df scripts\MX6_series_boards\MX6SL_Megrez_boards\MX6SL_MMDC_LPDDR2_register_prog
ramming_aid_v0.9.inc
Would you like to run the DDR Stress Test (y/n)?
Enter desired START freq (135 to 672 MHz), then hit enter.
Note: DDR3 minimum is ~333MHz, do not recommend to go too much below this.
135
The freq you entered was: 135
Enter desired END freq (135 to 672 MHz), then hit enter.
Make sure this is equal to or greater than start freq
300
The freq you entered was: 300
Beginning stress test
loop: 1
Hi Ji
fuses can be read with below
https://community.freescale.com/docs/DOC-95458
BOOT_CFG3[5-4] configure the lpddr2 mapping mode
'00' Single channel
‘01’ for “Fixed 2x32 map”
'10’ for “4KB interleaving” mode
also please create new thread and provide
more details about you board configuration:
proccesor full name and what DDR memory was used.
Best regards
igor