I built the fsl-image-gui yocto image from the directions here for the sabrelite board:
https://community.freescale.com/docs/DOC-94024
I am able to bring this up on my i.mx6 sabrelite board. However, I don't see anything on my hdmi display. The display just says "No Signal". According to the startup log, (see below), Xserver has started. So I am hoping to see something on the display. Reason I want the display is to use a usb camera and opencv for face tracking applications.
I took a look at the bootargs argument in u-boot environment variable(see below) and see no mention of video=mxcfb0:dev=hdmi. Shouldn't they be there? Also, the boot.scr script is missing but it instead uses a file called imx6q-sabrelite.dtb to boot. Is this where the bootagrs for setting the video output device is located? How do I edit this file?
Much appreciate the help!
MX6QSABRELITE U-Boot > print
baudrate=115200
boot_fdt=try
bootcmd=mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi
bootdelay=1
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc1
ethact=FEC
ethprime=FEC
fdt_addr=0x11000000
fdt_file=imx6q-sabrelite.dtb
fdt_high=0xffffffff
initrd_high=0xffffffff
ip_dyn=yes
loadaddr=0x12000000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootm ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootm; else echo WARN: Cannot load the DT; fi; fi; else bootm; fi;
mmcdev=0
mmcpart=1
mmcroot=/dev/mmcblk0p2 rootwait rw
netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${uimage}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootm ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootm; else echo WARN: Cannot load the DT; fi; fi; else bootm; fi;
script=boot.scr
stderr=serial
stdin=serial
stdout=serial
uimage=uImage
Below is the startup boot log. As you can see, Xserver is starting:
U-Boot 2012.10-00994-g7e6c682 (Mar 11 2013 - 10:49:50)
CPU: Freescale i.MX6Q rev1.0 at 792 MHz
Reset cause: POR
Board: MX6Q-Sabre Lite
DRAM: 1 GiB
WARNING: Caches not enabled
MMC: FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Warning: failed to set MAC address
Hit any key to stop autoboot: 0
mmc0 is current device
mmc0 is current device
reading boot.scr
** Unable to read "boot.scr" from mmc 0:1 **
reading uImage
3864820 bytes read
Booting from mmc ...
reading imx6q-sabrelite.dtb
** Unable to read "imx6q-sabrelite.dtb" from mmc 0:1 **
## Booting kernel from Legacy Image at 12000000 ...
Image Name: Linux-3.0.35-2026-geaaf30e-12.09
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3864756 Bytes = 3.7 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 3.0.35-2026-geaaf30e-12.09.01+yocto+g0596856 (ashwin@ashwin1) (gcc version 4.7.2 (GCC) ) #1 SMP PREEMPT Sun Mar 10 19:43:33 EDT 2013
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad Sabre-Lite Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.0
PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 227328
Kernel command line: console=ttymxc1,115200 root=/dev/mmcblk0p2 rootwait rw
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 640MB 256MB = 896MB total
Memory: 900588k/900588k available, 147988k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xf4600000 - 0xffe00000 ( 184 MB)
vmalloc : 0xc0800000 - 0xf2000000 ( 792 MB)
lowmem : 0x80000000 - 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.init : 0x80008000 - 0x8003a000 ( 200 kB)
.text : 0x8003a000 - 0x806f43e0 (6889 kB)
.data : 0x806f6000 - 0x8074b220 ( 341 kB)
.bss : 0x8074b244 - 0x807973e4 ( 305 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:496
MXC GPIO hardware
sched_clock: 32 bits at 6MHz, resolution 166ns, wraps every 715827ms
MXC_Early serial console at MMIO 0x21e8000 (options '115200')
bootconsole [ttymxc1] 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
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
devtmpfs: initialized
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 <--> 1300 mV at 1100 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: 2800 <--> 3150 mV at 3000 mV fast normal
------------ Board type Sabre Lite
Flexcan NXP tja1040
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 0x410000c7, AUX_CTRL 0x02070000, Cache size: 1048576 B
IMX usb wakeup probe
bio: create slab <bio-0> at 0
print_constraints: VDDA: 2500 mV
print_constraints: VDDIO: 3300 mV
machine_constraints_voltage: VDDD: unsupportable voltage constraints
reg-fixed-voltage reg-fixed-voltage.2: Failed to register regulator: -22
reg-fixed-voltage: probe of reg-fixed-voltage.2 failed with error -22
print_constraints: vmmc: 3300 mV
vgaarb: loaded
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 $
add wake up source irq 75
imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver probed
mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy version is 0x3130302a
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
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: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 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.
Static Power Management for Freescale i.MX6
wait mode is enabled for i.MX6
cpaddr = c0880000 suspend_iram_base=c08fc000
PM driver module loaded
IMX PCIe port: link down!
IMX usb wakeup probe
i.MXC CPU frequency driver
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 1758
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
MIPI DSI driver module loaded
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver ldb
_regulator_get: get() with no identifier
imx-ipuv3 imx-ipuv3.1: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
Console: switching to colour frame buffer device 128x48
mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver lcd
mxc_sdc_fb mxc_sdc_fb.2: register mxc display driver ldb
mxc_sdc_fb mxc_sdc_fb.3: register mxc display driver ldb
mxc_sdc_fb mxc_sdc_fb.3: ipu1-di1 already in use
mxc_sdc_fb: probe of mxc_sdc_fb.3 failed with error -16
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
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
old_ufcr=a81 new_ufcr=b01, old_ucr2=4027 new_ucr2=4027, old_ubir=f num=1f7, old_ubmr=15b denom=c34
clk=80000000 div=7 num=504 denom=3125 baud=115200
console [ttymxc1] enabled, bootconsole disabled
console [ttymxc1] enabled, bootconsole disabled
loop: module loaded
Can't recover from RESET HBA!
No sata disk.
m25p80 spi0.0: sst25vf016b (2048 Kbytes)
Creating 3 MTD partitions on "m25p80":
0x000000000000-0x0000000c0000 : "bootloader"
0x0000000c0000-0x0000000c2000 : "ubparams"
0x0000000c2000-0x000000200000 : "unused"
vcan: Virtual CAN interface driver
CAN device driver interface
flexcan netdevice driver
flexcan imx6q-flexcan.0: device registered (reg_base=c09b8000, irq=142)
FEC Ethernet Driver
fec_enet_mii_bus: probed
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
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 72
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 72, 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
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
USB Serial support registered for Qualcomm USB modem
usbcore: registered new interface driver qcserial
ARC USBOTG Device Controller driver (1 August 2005)
mousedev: PS/2 mouse device common for all mice
input: gpio-keys as /devices/platform/gpio-keys/input/input0
tsc2004_prepare_for_reading: write_cmd -5
tsc2004: probe of 2-0048 failed with error -5
egalax_ts 2-0004: egalax_ts: failed to read firmware version
egalax_ts: probe of 2-0004 failed with error -5
ft5x06-ts 2-0038: ft5x06: Could not detect touch screen.
ft5x06: Mar 10 2013
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
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video18
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video19
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video20
i2c-core: driver [mag3110] using legacy suspend method
i2c-core: driver [mag3110] using legacy resume method
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCILL protocol initialized
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
sdhci sdhci-esdhc-imx.3: no write-protect pin available!
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.3] using DMA
mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
VPU initialized
mxc_asrc registered
Thermal calibration data is 0x58e5523a
anatop_thermal_counting_ratio: raw25c=1422 raw_hot=1362 hot_temp=58
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
usb 2-1: new high speed USB device number 2 using fsl-ehci
mmc0: new high speed SDHC card at address e624
mmcblk0: mmc0:e624 SU04G 3.69 GiB
mmcblk0: p1 p2
caam caam.0: device ID = 0x0a16010000000000
caam caam.0: job rings = 2, qi = 0
alg: No test for authenc(hmac(md5),cbc(aes)) (authenc-hmac-md5-cbc-aes-caam)
caam caam.0: authenc-hmac-md5-cbc-aes-caam
alg: No test for authenc(hmac(sha1),cbc(aes)) (authenc-hmac-sha1-cbc-aes-caam)
caam caam.0: authenc-hmac-sha1-cbc-aes-caam
alg: No test for authenc(hmac(sha224),cbc(aes)) (authenc-hmac-sha224-cbc-aes-caam)
caam caam.0: authenc-hmac-sha224-cbc-aes-caam
alg: No test for authenc(hmac(sha256),cbc(aes)) (authenc-hmac-sha256-cbc-aes-caam)
caam caam.0: authenc-hmac-sha256-cbc-aes-caam
alg: No test for authenc(hmac(md5),cbc(des3_ede)) (authenc-hmac-md5-cbc-des3_ede-caam)
caam caam.0: authenc-hmac-md5-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha1),cbc(des3_ede)) (authenc-hmac-sha1-cbc-des3_ede-caam)
caam caam.0: authenc-hmac-sha1-cbc-des3_ede-caam
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 3 ports detected
alg: No test for authenc(hmac(sha224),cbc(des3_ede)) (authenc-hmac-sha224-cbc-des3_ede-caam)
caam caam.0: authenc-hmac-sha224-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha256),cbc(des3_ede)) (authenc-hmac-sha256-cbc-des3_ede-caam)
caam caam.0: authenc-hmac-sha256-cbc-des3_ede-caam
alg: No test for authenc(hmac(md5),cbc(des)) (authenc-hmac-md5-cbc-des-caam)
caam caam.0: authenc-hmac-md5-cbc-des-caam
alg: No test for authenc(hmac(sha1),cbc(des)) (authenc-hmac-sha1-cbc-des-caam)
caam caam.0: authenc-hmac-sha1-cbc-des-caam
alg: No test for authenc(hmac(sha224),cbc(des)) (authenc-hmac-sha224-cbc-des-caam)
caam caam.0: authenc-hmac-sha224-cbc-des-caam
alg: No test for authenc(hmac(sha256),cbc(des)) (authenc-hmac-sha256-cbc-des-caam)
caam caam.0: authenc-hmac-sha256-cbc-des-caam
caam caam.0: cbc-aes-caam
caam caam.0: cbc-3des-caam
caam caam.0: cbc-des-caam
platform caam_jr.0: registering rng-caam
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
sgtl5000 0-000a: Failed to get supply 'VDDD': -19
print_constraints: 0-000a: 850 <--> 1600 mV at 1200 mV normal
sgtl5000 0-000a: sgtl5000 revision 17
asoc: sgtl5000 <-> imx-ssi.1 mapping ok
imx-hdmi-soc-dai: probe of imx-hdmi-soc-dai.0 failed with error -12
ALSA device list:
#0: sgtl5000-audio
NET: Registered protocol family 26
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
usb 2-1.1: new full speed USB device number 3 using fsl-ehci
Bus freq driver module loaded
Bus freq driver Enabled
mxc_dvfs_core_probe
DVFS driver module loaded
regulator_init_complete: vddpu: incomplete constraints, leaving on
snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)
EXT3-fs: barriers not enabled
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing init memory: 200K
INIT: version 2.88 booting
Starting udev
udevd[1427]: error: runtime directory '/run/udev' not writable, fudevd[1428]: starting version 173
or now falling back to '/dev/.udev'
Starting Bootlog daemon: bootlogd.
ov5642_read_reg:write reg error:reg=300a
ov5642_probe:cannot find camera
Caching udev devnodes
Populating dev cachemv: can't rename '/tmp/uname': No such file or directory
ALSA: Restoring mixer settings...
Configuring network interfaces... eth0: Freescale FEC PHY driver [Micrel KSZ9021 Gigabit PHY] (mii_bus:phy_addr=1:06, irq=284)
udhcpc (v1.20.2) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
Starting portmap daemon...
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
Mon Mar 11 16:51:00 UTC 2013
INIT: Entering runlevel: 5
Starting Xserver
Starting system message bus: dbus.
Starting Connection Manager
Starting Dropbear SSH server: dropbear.
Starting advanced power management daemon: apmd.
apmd[1774]: apmd 3.2.1 interfacing with apm driver 1.13 and APM BIOS 1.2
Starting network benchmark server: netserver.
creating NFS state directory: done
starting 8 nfsd kernel threads: rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory).
Please try, as root, 'mount -t nfsd nfsd /proc/fs/nfsd' and then restart rpc.nfsd to correct the problem
done
starting mountd: done
starting statd: done
Starting syslogd/klogd: done
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
...done.
Starting Telephony daemon
imx-audio: setting default mixer settings.
amixer: Unable to find simple control 'Playback',0
Starting OProfileUI server
Starting tcf-agent: OK
Running local boot scripts (/etc/rc.local).
Stopping Bootlog daemon: bootlogd.
Poky 8.0 (Yocto Project 1.3 Reference Distro) 1.3 imx6qsabrelite ttymxc1
imx6qsabrelite login: root
root@imx6qsabrelite:~#
已解决! 转到解答。
ok i got it working!
setting bootargs did not work for some reason. Maybe someone can tell me why? Looking closely at the kernel logs I saw the following:
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 3.0.35-2026-geaaf30e-12.09.01+yocto+g0596856 (ashwin@ashwin1) (gcc version 4.7.2 (GCC) ) #1 SMP PREEMPT Sun Mar 10 19:43:33 EDT 2013
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad Sabre-Lite Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.0
PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 227328
Kernel command line: console=ttymxc1,115200 root=/dev/mmcblk0p2 rootwait rw
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 640MB 256MB = 896MB total
Memory: 900588k/900588k available, 147988k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
So the kernel command line argument was not taking the bootargs argument I added. Instead it is taking the mmcargs uboot variable like this:
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
So I just did the following in u-boot:
editenv mmcargs
added the following to the end of the mmcargs variable:
video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24
saveenv
boot
and the qt desktop comes up fine on my hdmi monitor.
ok i got it working!
setting bootargs did not work for some reason. Maybe someone can tell me why? Looking closely at the kernel logs I saw the following:
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 3.0.35-2026-geaaf30e-12.09.01+yocto+g0596856 (ashwin@ashwin1) (gcc version 4.7.2 (GCC) ) #1 SMP PREEMPT Sun Mar 10 19:43:33 EDT 2013
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad Sabre-Lite Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.0
PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 227328
Kernel command line: console=ttymxc1,115200 root=/dev/mmcblk0p2 rootwait rw
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 640MB 256MB = 896MB total
Memory: 900588k/900588k available, 147988k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
So the kernel command line argument was not taking the bootargs argument I added. Instead it is taking the mmcargs uboot variable like this:
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
So I just did the following in u-boot:
editenv mmcargs
added the following to the end of the mmcargs variable:
video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24
saveenv
boot
and the qt desktop comes up fine on my hdmi monitor.
Hi varsmolta, I built the image and copy to SD card in board with HDMI monitor. Same problem with you.
Could you tell me how to edit the "U-Boot" settings and where to check the kernel log?
Because I just use bitbake to create the image, I did not see U-Boot.
Sorry ask kinda newb questions
Regards
Stefano
Hi Stefano,
I can't remember exactly I'm afraid. I have a note here that I was using something like this
bootargs=console=ttymxc1 init=/init androidboot.console=ttymxc1 di0_primary video=mxcdi0fb:RGB666,1280x800M@60,bpp=32 pmem=32M,64M fbmem=16M gpu_memory=64M calibrate
Hope it helps. Cheers,
Alex
Oh - and to edit the uboot settings you'll need to read the manual. It'll be something like:
- view uboot output, probably over a serial link. Depends on your hardware
- it probably auto boots so press a key to break into the boot process
- 'help' will show commands if I recall
- printenv will show all the environment settings
- setenv will set them to what you need. you may need to put the value in quotes to avoid problems with spaces
- save env stores the values
- reset to restart the boot
This looks like it might help. There's lots out there -
http://www.denx.de/wiki/publish/DULG/to-delete/UBootCmdGroupEnvironment.html
Alex
Thank you so much for your reply. It really helps.
I will follow your suggestion.
And one more question, now I dont have a display at my monitor from the board, could I do all of these at my Ubuntu host pc?
Regards
Stefano
I tried adding the "video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24" (got these from here: http://boundarydevices.com/boot-scripts-for-main-line-u-boot-on-i-mx6/) parameter onto bootargs using editenv, but still nothing to display on hdmi. I am already on the meta-freescale mailing list and will repost there. In the meanwhile, has this image been tested with hdmi out by anyone?
Here are the new u-boot variables after I edited them:
MX6QSABRELITE U-Boot > print
baudrate=115200
boot_fdt=try
bootargs=video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24
bootcmd=mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run netboot; fi; fi; i
bootdelay=1
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc1
ethact=FEC
ethprime=FEC
fdt_addr=0x11000000
fdt_file=imx6q-sabrelite.dtb
fdt_high=0xffffffff
initrd_high=0xffffffff
ip_dyn=yes
loadaddr=0x12000000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootm ${loadaddr} - ${fdt_addr}; else if test ${bo;
mmcdev=0
mmcpart=1
mmcroot=/dev/mmcblk0p2 rootwait rw
netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${uimage}; if test ${boot_fdt} = yes ;
script=boot.scr
stderr=serial
stdin=serial
stdout=serial
uimage=uImage
As Leonardo said, you should to add the "video=" parameter onto bootargs; in the new U-Boot you can use:
editenv bootargs
Add the need changes, press ENTER and:
saveenv
boot
As Fabio said, please join the mailing list so more people can help you.
Regards,
Yes, please add this "video=" parameter into the kernel command line.
It is better to write to meta-freescale@yoctoproject.org for issues related to meta-fsl-arm layer.
I took a look at the bootargs argument in u-boot environment variable(see below) and see no mention ofvideo=mxcfb0:dev=hdmi. Shouldn't they be there?
No, the default output video uses to be the LVDS or any LCD. So, please, add the hdmi bootargs and give it a try.
Also, the boot.scr script is missing but it instead uses a file called imx6q-sabrelite.dtb to boot. Is this where the bootagrs for setting the video output device is located? How do I edit this file?
imx6q-sabrelite.dtb will only be necessary for linux mainline, and you´re not using it (I saw on you log that you´re using 3.0.35).
Could you add the video parameter to the bootargs variable? One way to do it is
> setenv netargs 'setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp video=mxcfb0:dev=hdmi'
> save
> boot
OtavioSalvador can help you better on the the questions you posted.
Leo