Hi,
I'm using i.MX7Dual SABRE board with X-IMXEBOOKDC4 daughter board for 6" e-ink display that came with it.
I'm experimenting with different mxc_fb_test codes.
I'm having an issue with the e-ink display.
I've attached my code and photograph of the display for better understanding of what I'm doing.
I'm drawing and black square of 100x100 pixels in each frame starting from the top of the display.
I'm incrementing the x and y positions in the loop, and partially updating the only area to which the square is drawn.
As you can see in the image,
The newly drawn square images are black, but the older image on the top of the display start turning grey, even though I'm not updating them.
How is the image update on the bottom area of the display, effecting the pigments on the top, which is totally different area of the display?
This is happening regardless of whatever waveform I use for the update.
Is it the problem with the display? Or is it the firmware? Or my code?
Please refer to my code attached below and help asap.
Thank you.
Original Attachment has been moved to: mxc_epdc_v2_fb_test_30.c.zip
Please try to configure the display with u-boot options like "epdc video=mxcepdcfb:ES133UT2,bpp=16".
Have a great day,
Victor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Victor,
I am working on IMXEBOOKDC4 on IMX6SLEVK and tried to load the waveform as suggested in another thread EPDC Dev Boards but its not working. I have copied the new waveform and copied in RootFS folder. Tried all steps but nothing worked out.
U-Boot > setenv displayinfo 'video=mxcepdcfb:E060SCM,bpp=16 max17135:pass=2,vcom=-2030000' for an EPDC connection
Below are the Log file.
NXP i.MX Release Distro 4.9.88-2.0.0 imx6qpdlsolox ttymxc0
imx6qpdlsolox login:
U-Boot 2017.03-imx_v2017.03_4.9.88_2.0.0_ga+gb76bb1b (May 01 2018 - 14:41:06 -0500)
CPU: Freescale i.MX6SL rev1.2 996 MHz (running at 396 MHz)
CPU: Commercial temperature grade (0C to 95C) at 49C
Reset cause: POR
Model: Freescale i.MX6 SoloLite EVK Board
Board: MX6SLEVK
DRAM: 1 GiB
PMIC: PFUZE100! DEV_ID=0x10 REV_ID=0x21
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
switch to partitions #0, OK
mmc1 is current device
Net:
Warning: ethernet@02188000 using MAC address from ROM
eth0: ethernet@02188000 [PRIME]
Normal Boot
Hit any key to stop autoboot: 0
=> pritnenv
Unknown command 'pritnenv' - try 'help'
=> printenv
baudrate=115200
boot_fdt=try
bootcmd=run findfdt;mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi
bootcmd_mfg=run mfgtool_args;if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi;
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
epdc_waveform=epdc_splash.bin
ethact=ethernet@02188000
ethaddr=00:04:9f:04:15:3a
ethprime=eth0
fdt_addr=0x83000000
fdt_file=undefined
fdt_high=0xffffffff
fdtcontroladdr=9ef52160
findfdt=if test $fdt_file = undefined; then setenv fdt_file imx6sl-evk.dtb; fi;
image=zImage
initrd_addr=0x83800000
initrd_high=0xffffffff
ip_dyn=yes
loadaddr=0x80800000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${tee} = yes; then run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; else if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi; fi;
mmcdev=1
mmcpart=1
mmcroot=/dev/mmcblk1p2 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} ${image}; if test ${tee} = yes; then ${get_cmd} ${tee_addr} ${tee_file}; ${get_cmd} ${fdt_addr} ${fdt_file}; bootm ${tee_addr} - ${fdt_addr}; else if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;fi;
script=boot.scr
stderr=serial
stdin=serial
stdout=serial
tee=no
tee_addr=0x84000000
tee_file=undefined
Environment size: 2691/8188 bytes
=> sentenv displayinfo epdc
Unknown command 'sentenv' - try 'help'
=> setenv displayinfo epdc
=> printenv
baudrate=115200
boot_fdt=try
bootcmd=run findfdt;mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi
bootcmd_mfg=run mfgtool_args;if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi;
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
displayinfo=epdc
epdc_waveform=epdc_splash.bin
ethact=ethernet@02188000
ethaddr=00:04:9f:04:15:3a
ethprime=eth0
fdt_addr=0x83000000
fdt_file=undefined
fdt_high=0xffffffff
fdtcontroladdr=9ef52160
findfdt=if test $fdt_file = undefined; then setenv fdt_file imx6sl-evk.dtb; fi;
image=zImage
initrd_addr=0x83800000
initrd_high=0xffffffff
ip_dyn=yes
loadaddr=0x80800000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${tee} = yes; then run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; else if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi; fi;
mmcdev=1
mmcpart=1
mmcroot=/dev/mmcblk1p2 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} ${image}; if test ${tee} = yes; then ${get_cmd} ${tee_addr} ${tee_file}; ${get_cmd} ${fdt_addr} ${fdt_file}; bootm ${tee_addr} - ${fdt_addr}; else if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;fi;
script=boot.scr
stderr=serial
stdin=serial
stdout=serial
tee=no
tee_addr=0x84000000
tee_file=undefined
Environment size: 2710/8188 bytes
=> setenv displayinfo 'video=mxcepdcfb:E060SCM,bpp=16
>ax17135:pass=2,vcom=-2030000' '
=>setenv displayinfo 'video=mxcepdcfb:E060SCM,bpp=16 max17135:pass=2,vcom=-2030000'
=> printenv
baudrate=115200
boot_fdt=try
bootcmd=run findfdt;mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi
bootcmd_mfg=run mfgtool_args;if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi;
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
displayinfo=video=mxcepdcfb:E060SCM,bpp=16 max17135:pass=2,vcom=-2030000
epdc_waveform=epdc_splash.bin
ethact=ethernet@02188000
ethaddr=00:04:9f:04:15:3a
ethprime=eth0
fdt_addr=0x83000000
fdt_file=undefined
fdt_high=0xffffffff
fdtcontroladdr=9ef52160
findfdt=if test $fdt_file = undefined; then setenv fdt_file imx6sl-evk.dtb; fi;
image=zImage
initrd_addr=0x83800000
initrd_high=0xffffffff
ip_dyn=yes
loadaddr=0x80800000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${tee} = yes; then run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; else if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi; fi;
mmcdev=1
mmcpart=1
mmcroot=/dev/mmcblk1p2 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} ${image}; if test ${tee} = yes; then ${get_cmd} ${tee_addr} ${tee_file}; ${get_cmd} ${fdt_addr} ${fdt_file}; bootm ${tee_addr} - ${fdt_addr}; else if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;fi;
script=boot.scr
stderr=serial
stdin=serial
stdout=serial
tee=no
tee_addr=0x84000000
tee_file=undefined
Environment size: 2766/8188 bytes
=> setenv displayinfo video=mxcepdcfb:E060SCM,bpp=16 max17135:pass=2,vcom=-2030000
=> printenv
baudrate=115200
boot_fdt=try
bootcmd=run findfdt;mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi
bootcmd_mfg=run mfgtool_args;if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi;
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
displayinfo=video=mxcepdcfb:E060SCM,bpp=16 max17135:pass=2,vcom=-2030000
epdc_waveform=epdc_splash.bin
ethact=ethernet@02188000
ethaddr=00:04:9f:04:15:3a
ethprime=eth0
fdt_addr=0x83000000
fdt_file=undefined
fdt_high=0xffffffff
fdtcontroladdr=9ef52160
findfdt=if test $fdt_file = undefined; then setenv fdt_file imx6sl-evk.dtb; fi;
image=zImage
initrd_addr=0x83800000
initrd_high=0xffffffff
ip_dyn=yes
loadaddr=0x80800000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${tee} = yes; then run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; else if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi; fi;
mmcdev=1
mmcpart=1
mmcroot=/dev/mmcblk1p2 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} ${image}; if test ${tee} = yes; then ${get_cmd} ${tee_addr} ${tee_file}; ${get_cmd} ${fdt_addr} ${fdt_file}; bootm ${tee_addr} - ${fdt_addr}; else if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;fi;
script=boot.scr
stderr=serial
stdin=serial
stdout=serial
tee=no
tee_addr=0x84000000
tee_file=undefined
Environment size: 2766/8188 bytes
=> boot
switch to partitions #0, OK
mmc1 is current device
switch to partitions #0, OK
mmc1 is current device
reading boot.scr
** Unable to read file boot.scr **
reading zImage
7350024 bytes read in 384 ms (18.3 MiB/s)
Booting from mmc ...
reading imx6sl-evk.dtb
37560 bytes read in 19 ms (1.9 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x702708 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300c2b7
switch to ldo_bypass mode!
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 4.9.88-imx_4.9.88_2.0.0_ga+g5e23f9d (oe-user@oe-host) (gcc version 7.3.0 (GCC) ) #1 SMP PREEMPT Tue May 1 01:44:32 CDT 2018
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt:Machine model: Freescale i.MX6 SoloLite EVK Board
Reserved memory: created CMA memory pool at 0xac000000, size 320 MiB
OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
percpu: Embedded 14 pages/cpu @ab730000 s25996 r8192 d23156 u57344
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p2 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: 695724K/1048576K available (9216K kernel code, 498K rwdata, 3356K rodata, 1024K init, 473K bss, 25172K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xc0800000 - 0xff800000 (1008 MB)
lowmem : 0x80000000 - 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80a00000 (10208 kB)
.init : 0x80e00000 - 0x80f00000 (1024 kB)
.data : 0x80f00000 - 0x80f7c9a0 ( 499 kB)
.bss : 0x80f7e000 - 0x80ff47b8 ( 474 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
Build-time adjustment of leaf fanout to 32.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 16 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 16 ways, 256 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76430001
Switching to timer-based delay loop, resolution 41ns
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80100000 - 0x80100058
Brought up 1 CPUs
SMP: Total of 1 processors activated (48.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 256 (order: 2, 16384 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor menu
vddarm: bypassed regulator has no supply!
vddarm: failed to get the current voltage(-517)
vddsoc: bypassed regulator has no supply!
vddsoc: failed to get the current voltage(-517)
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
imx6sl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
imx-gpc 20dc000.gpc: pu regulator not ready, retry
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
2000000.aips-bus:usbphy_nop1 supply vcc not found, using dummy regulator
0-0048 supply SENSOR not found, using dummy regulator
max17135 0-0048: PMIC MAX17135 for eInk display
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA, using PIO instead.
i2c i2c-1: IMX I2C adapter registered
i2c i2c-1: can't use DMA, using PIO instead.
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
MIPI CSI2 driver module loaded
imx rpmsg driver is registered.
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.22
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
clocksource: Switched to clocksource mxc_timer1
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
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.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
Bus freq driver module loaded
workingset: timestamp_bits=30 max_order=18 bucket_order=0
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.26)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
backlight supply power not found, using dummy regulator
sii902x 1-0039: No reset pin found
Console: switching to colour frame buffer device 100x30
mxsfb 20f8000.lcdif: initialized
imx-sdma 20ec000.sdma: loaded firmware 3.3
pfuze100-regulator 0-0008: Full layer: 2, Metal layer: 1
pfuze100-regulator 0-0008: FAB: 0, FIN: 0
pfuze100-regulator 0-0008: pfuze100 found.
vddpu: supplied by SW1C
random: fast init done
usb_otg1_vbus: supplied by SWBST
usb_otg2_vbus: supplied by SWBST
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 21, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
imx-rng 21b4000.rng: iMX RNG Registered.
imx sema4 driver is registered.
[drm] Initialized
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
m25p80 spi0.0: m25p32 (4096 Kbytes)
spi_imx 2008000.ecspi: probed
libphy: Fixed MDIO Bus: probed
CAN device driver interface
2188000.ethernet supply phy not found, using dummy regulator
libphy: fec_enet_mii_bus: probed
usbcore: registered new interface driver kaweth
pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
usbcore: registered new interface driver rtl8150
usbcore: registered new interface driver r8152
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usb_ehset_test
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
input: 20b8000.kpp as /devices/soc0/soc/2000000.aips-bus/20b8000.kpp/input/input0
elan-touch 0-0010: elan - Read Hello Packet Failed
mma8450 0-001c: read chip ID 0xfffffffa is not equal to 0xc6!
mma8450: probe of 0-001c failed with error -22
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
pxp-v4l2 pxp_v4l2_out: initialized
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol BCSP registered
Bluetooth: HCI UART protocol ATH3K registered
usbcore: registered new interface driver bcm203x
usbcore: registered new interface driver btusb
usbcore: registered new interface driver ath3k
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2190000.usdhc: Got WP GPIO
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using DMA
sdhci-esdhc-imx 2194000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2194000.usdhc: Got WP GPIO
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using DMA
sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO
mmc1: new high speed SDHC card at address aaaa
mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using DMA
mmcblk1: mmc1:aaaa SS16G 14.8 GiB
mmcblk1: p1 p2
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
wm8962 1-001a: customer id 0 revision D
fsl-ssi-dai 202c000.ssi: No cache defaults, reading back from HW
input: WM8962 Beep Generator as /devices/soc0/soc/2100000.aips-bus/21a4000.i2c/i2c-1/1-001a/input/input2
imx-wm8962 sound: wm8962 <-> 202c000.ssi mapping ok
imx-spdif sound-spdif: snd-soc-dummy-dai <-> 2004000.spdif mapping ok
NET: Registered protocol family 26
NET: Registered protocol family 10
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20161123 t)
can: netlink gateway (rev 20130117) max_hops=1
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: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
lib80211: common routines for IEEE802.11 drivers
Key type dns_resolver registered
cpu cpu0: regulators not ready, retry
vddarm: supplied by SW1AB
vddsoc: supplied by SW1C
imx-gpc 20dc000.gpc: Registered imx-gpc
sii902x 1-0039: Sii902x: cound not find device
cpu cpu0: Registered imx6q-cpufreq
imx_thermal 2000000.aips-bus:tempmon: Commercial CPU temperature grade - max:95C critical:90C passive:85C
dhd_module_init in
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 01:37:03 UTC (5823)
vddpu: disabling
usb_otg1_vbus: disabling
wm8962-supply-3v15: disabling
wm8962-supply-4v2: disabling
GVDD: disabling
GVEE: disabling
HVINN: disabling
HVINP: disabling
VNEG: disabling
VPOS: disabling
ALSA device list:
#0: wm8962-audio
#1: imx-spdif
EXT4-fs (mmcblk1p2): mounting ext3 file system using the ext4 subsystem
EXT4-fs (mmcblk1p2): recovery complete
EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 1024K
systemd[1]: System time before build time, advancing clock.
systemd[1]: systemd 234 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN default-hierarchy=hybrid)
systemd[1]: Detected architecture arm.
Welcome to NXP i.MX Release Distro 4.9.88-2.0.0 (rocko)!
systemd[1]: Set hostname to <imx6qpdlsolox>.
systemd[1]: Reached target Remote File Systems.
[ OK ] Reached target Remote File Systems.
systemd[1]: Created slice User and Session Slice.
[ OK ] Created slice User and Session Slice.
systemd[1]: Listening on Syslog Socket.
[ OK ] Listening on Syslog Socket.
systemd[1]: Reached target Host and Network Name Lookups.
[ OK ] Reached target Host and Network Name Lookups.
systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password Requests to Console Directory Watch.
systemd[1]: Created slice System Slice.
[ OK ] Created slice System Slice.
systemd[1]: Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
[ OK ] Reached target Slices.
[ OK ] Listening on udev Control Socket.
[ OK ] Listening on Network Service Netlink Socket.
[ OK ] Started Forward Password Requests to Wall Directory Watch.
[ OK ] Reached target Paths.
[ OK ] Reached target Swap.
Mounting Temporary Directory (/tmp)...
[ OK ] Listening on udev Kernel Socket.
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.
[ OK ] Created slice system-getty.slice.
Mounting Kernel Debug File System...
[ OK ] Listening on Journal Socket.
Starting Setup Virtual Console...
Starting Remount Root and Kernel File Systems...
Starting Load Kernel Modules...
[ OK ] Listening on Journal Socket (/dev/log).
Starting Journal Service...
[ OK ] Mounted Kernel Debug File System.
[ OK ] Mounted Temporary Directory (/tmp).
EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
[ OK ] Started Setup Virtual Console.
galcore: loading out-of-tree module taints kernel.
[ OK ] Started Remount Root and Kernel File Systems.
galcore: clk_get gpu3d_clk failed, disable 3d!
Galcore version 6.2.4.150331
Starting udev Coldplug all Devices...
Starting Create Static Device Nodes in /dev...
[ OK ] Started Create Static Device Nodes in /dev.
Starting udev Kernel Device Manager...
[ OK ] Reached target Local File Systems (Pre).
Mounting /var/volatile...
[ OK ] Started Journal Service.
[ OK ] Mounted /var/volatile.
Starting Load/Save Random Seed...
[ OK ] Reached target Local File Systems.
Starting Flush Journal to Persistent Storage...
[ OK ] Started Load/Save Random Seed.
[ OK ] Started udev Kernel Device Manager.
systemd-journald[153]: Received request to flush runtime journal from PID 1
[ OK ] Started Flush Journal to Persistent Storage.
Starting Create Volatile Files and Directories...
[ OK ] Started Create Volatile Files and Directories.
Starting Update UTMP about System Boot/Shutdown...
Starting Network Time Synchronization...
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Started Network Time Synchronization.
[ OK ] Reached target System Time Synchronized.
[ OK ] Started Load Kernel Modules.
Mounting FUSE Control File System...
Starting Apply Kernel Variables...
Mounting Kernel Configuration File System...
[ OK ] Mounted Kernel Configuration File System.
[ OK ] Mounted FUSE Control File System.
[ OK ] Started Apply Kernel Variables.
[ OK ] Created slice system-systemd\x2dbacklight.slice.
Starting Load/Save Screen Backlight…ightness of backlight:backlight...
[ OK ] Started udev Coldplug all Devices.
[ OK ] Found device /dev/ttymxc0.
Starting Start Psplash Boot Screen...
[ OK ] Started Load/Save Screen Backlight Brightness of backlight:backlight.
[ OK ] Reached target System Initialization.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Started Daily rotation of log files.
[ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
Starting Network Service...
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timers.
Starting Console System Startup Logging...
[ OK ] Listening on RPCbind Server Activation Socket.
[ OK ] Listening on dropbear.socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
[ OK ] Reached target Containers.
Starting RPC Bind Service...
[ OK ] Started Periodic Command Scheduler.
Starting System Logging Service...
[ OK ] Started D-Bus System Message Bus.
[ OK ] Started Configuration for i.MX GPU (Former rc_gpu.S).
Starting Connection service...
[ OK ] Started Job spooling tools.
Starting Avahi mDNS/DNS-SD Stack...
Starting Login Service...
Starting Telephony service...
Starting Network Time Service (one-shot ntpdate mode)...
[ OK ] Started Network Service.
[ OK ] Started Start Psplash Boot Screen.
[ OK ] Started Console System Startup Logging.
[ OK ] Started RPC Bind Service.
[ OK ] Started System Logging Service.
[ OK ] Started Network Time Service (one-shot ntpdate mode).
Generic PHY 2188000.ethernet-1:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=2188000.ethernet-1:00, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ OK ] Started Avahi mDNS/DNS-SD Stack.
[ OK ] Started Telephony service.
[ OK ] Started Connection service.
[ OK ] Started Login Service.
Starting Hostname Service...
Starting WPA supplicant...
Starting Save/Restore Sound Card State...
Starting Kernel Logging Service...
[ OK ] Started Updates psplash to basic.
[FAILED] Failed to start Hostname Service.
See 'systemctl status systemd-hostnamed.service' for details.
[ OK ] Started WPA supplicant.
[ OK ] Reached target Network.
Starting /etc/rc.local Compatibility...
[ OK ] Started Update psplash to network.
Starting Terminate Psplash Boot Screen...
Starting Permit User Sessions...
[ OK ] Started NFS status monitor for NFSv2/3 locking..
[ OK ] Started Save/Restore Sound Card State.
[ OK ] Started /etc/rc.local Compatibility.
[ OK ] Started Terminate Psplash Boot Screen.
[ OK ] Started Permit User Sessions.
Starting Weston Wayland Compositor (on tty7)...
[ OK ] Started Serial Getty on ttymxc0.
[ OK ] Started Getty on tty1.
[ OK ] Reached target Login Prompts.
[ OK ] Reached target Sound Card.
[ OK ] Started Kernel Logging Service.
[ OK ] Started Weston Wayland Compositor (on tty7).
[ OK ] Reached target Multi-User System.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Changes.
[ OK ] Created slice User Slice of root.
[ OK ] Started Session c1 of user root.
Starting User Manager for UID 0...
[ OK ] Started User Manager for UID 0.
NXP i.MX Release Distro 4.9.88-2.0.0 imx6qpdlsolox ttymxc0
imx6qpdlsolox login: Unable to handle kernel paging request at virtual address ee1122e4
pgd = a8a44000
[ee1122e4] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in: galcore(O)
CPU: 0 PID: 433 Comm: weston Tainted: G O 4.9.88-imx_4.9.88_2.0.0_ga+g5e23f9d #1
Hardware name: Freescale i.MX6 SoloLite (Device Tree)
task: a8596c00 task.stack: a8f94000
PC is at gckDEVICE_Dispatch+0x34/0x124 [galcore]
LR is at drv_ioctl+0x128/0x1dc [galcore]
pc : [<7f011020>] lr : [<7f009724>] psr: 80000013
sp : a8f95d50 ip : ee112240 fp : 00000000
r10: 00000000 r9 : a8f94000 r8 : 7ea4f0b8
r7 : 00007530 r6 : 00000051 r5 : a88fa400 r4 : 00000051
r3 : 0193e8b0 r2 : 0000000b r1 : a8f95d78 r0 : a8a52400
Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 10c53c7d Table: a8a4404a DAC: 00000051
Process weston (pid: 433, stack limit = 0xa8f94210)
Stack: (0xa8f95d50 to 0xa8f96000)
5d40: 00000051 7f009724 7ea4f0f8 00000000
5d60: 00000190 00000000 7ea4f0f8 00000000 00000190 00000000 00000010 0193e8b0
5d80: 00000000 00000001 00000000 00000000 018f0fc0 76b23cb0 00000000 00000190
5da0: 00000000 0000076d 00000000 0000076d 00000010 00000002 00000001 00000000
5dc0: 00000000 00000028 00000002 00000028 00000000 00000006 00000001 00000006
5de0: 00000002 76de914c 018b9360 01926000 000000a0 76e48b2c 00000088 76ebb7ec
5e00: 01925f78 76df3c90 00000088 76defa24 76a4bd84 018bfef0 76f86a60 00000fff
5e20: fffff000 00000001 000000b0 00000000 00000006 76b26038 00000000 76ebb820
5e40: 00000014 76ebb820 76ebb7ec 76ebb8b8 769c5ff0 000000a0 00000000 76df0cf0
5e60: 00000002 00000000 00000012 00000098 76ebb258 00000007 00000000 76ebb7ec
5e80: 000000a0 0000003a 018b8050 0000005b 00000014 000000b0 0000006e 769c5ff0
5ea0: 00000014 00000002 00000000 00000097 00000000 0000007c 00000077 00000000
5ec0: 7ea4f2a0 76ebb7ec 769c6018 00000098 00000012 769c5ff0 7ea4f2a0 7ea4f4ac
5ee0: 7ea4f4ac 76df2248 00000088 7ea4f2a0 018b9308 00020000 018f0fc0 76b20c00
5f00: 00000000 00000745 7ea4f0b8 a8bf8ae8 a8ee70c0 80211b60 00000000 801014d0
5f20: 80211ac8 a0000013 ffffffff a8f95f74 7ea4f0c0 a8f94000 00000000 8010bd8c
5f40: a8ee70c0 00000011 00007530 7ea4f0c0 a8ee70c1 a8ee70c0 00000011 00007530
5f60: 7ea4f0c0 a8f94000 a8ee70c0 a8ee70c1 a8ee70c0 00000011 00007530 7ea4f0b8
5f80: a8f94000 00000000 00000000 80212418 00002710 00007530 76b525a4 00000036
5fa0: 80107a44 80107880 00002710 00007530 00000011 00007530 7ea4f0b8 018b9308
5fc0: 00002710 00007530 76b525a4 00000036 018f0fc0 7ea4f2a0 7ea4f4ac 00000000
5fe0: 76b3a248 7ea4f0a4 76b222a0 76e48b9c 20000010 00000011 00000000 00000000
[<7f011020>] (gckDEVICE_Dispatch [galcore]) from [<7f009724>] (drv_ioctl+0x128/0x1dc [galcore])
[<7f009724>] (drv_ioctl [galcore]) from [<80211b60>] (do_vfs_ioctl+0x9c/0x920)
[<80211b60>] (do_vfs_ioctl) from [<80212418>] (SyS_ioctl+0x34/0x58)
[<80212418>] (SyS_ioctl) from [<80107880>] (ret_fast_syscall+0x0/0x48)
Code: e591c008 e3a0200b e02cc392 e080c10c (e59cc0a4)
---[ end trace 270c655072a33f45 ]---
NXP i.MX Release Distro 4.9.88-2.0.0 imx6qpdlsolox ttymxc0
imx6qpdlsolox login: root
Last login: Tue May 1 02:45:49 UTC 2018 on tty7
root@imx6qpdlsolox:~# cd ..
root@imx6qpdlsolox:/home# cd ..
root@imx6qpdlsolox:/# ls
SCR-libgpuperfcnt.txt dev lib mnt run tmp var
bin etc lost+found opt sbin unit_tests
boot home media proc sys usr
root@imx6qpdlsolox:/# cd lib/firmware/imx/epdc/
root@imx6qpdlsolox:/lib/firmware/imx/epdc# ls
V220_C208_60_WS2401_ED060XH2C1_BTC.fw epdc_E60_V110.fw epdc_ED060XH2C1.fw
V220_C208_BA5B01_ED060XH2C1_TC.fw epdc_E60_V220.fw
epdc_E060SCM.fw epdc_E97_V110.fw
root@imx6qpdlsolox:/lib/firmware/imx/epdc#
Please advise the right steps.
It uses the "ed060xh2c1" firmware.
imx_epdc_v2_fb 306f0000.epdc: Direct firmware load for imx/epdc/epdc_ED060XH2C1.fw failed with error -2
imx_epdc_v2_fb 306f0000.epdc: Falling back to user helper
Allthough the display is working fine.
Here is the v2 driver code
static struct fb_videomode ed060xh2c1mode = {
.name = "ED060XH2C1",
.refresh = 85,
.xres = 1024,
.yres = 758,
.pixclock = 40000000,
.left_margin = 12,
.right_margin = 76,
.upper_margin = 4,
.lower_margin = 5,
.hsync_len = 12,
.vsync_len = 2,
.sync = 0,
.vmode = FB_VMODE_NONINTERLACED,
.flag = 0,
};
static struct imx_epdc_fb_mode panel_modes[] = {
{
&ed060xh2c1mode, /* struct fb_videomode *mode */
4, /* vscan_holdoff */
10, /* sdoed_width */
20, /* sdoed_delay */
10, /* sdoez_width */
20, /* sdoez_delay */
524, /* GDCLK_HP */
327, /* GDSP_OFF */
0, /* GDOE_OFF */
19, /* gdclk_offs */
1, /* num_ce */
},
and here is my fbset,
mode "1024x758-0"
# D: 0.025 MHz, H: 0.022 kHz, V: 0.029 Hz
geometry 1024 758 1024 1536 16
timings 40000000 12 76 4 5 12 2
rgba 5/11,6/5,5/0,0/0
endmode
Anyone having any similar kind of problem please help.
This is getting critical.
Thank you.