linux/drivers/video/fbdev
Fabio Estevam b82fe6ddd7 video: fbdev: imxfb: Provide a reset mechanism
Currently when we boot the kernel on a mx25pdk the LCDC controller
does not show the Linux logo on boot.

This problem is well explained by Sascha Hauer:

"Unfortunately this LCD controller does not have an enable bit. The
controller starts directly when the clocks are enabled. If the clocks
are enabled when the controller is not yet programmed with proper
register values then it just goes into some undefined state. What I
suspect is that the clocks already were enabled before driver probe,
presumably by the bootloader, so the controller is already in undefined
state when entering Linux. Now by dis/enabling the ipg clock you
effectively reset the controller. Since you have programmed it with
valid register values in the mean time it starts working after this
reset."

So do as suggested and force a reset of the LCDC hardware by
enabling and disabling the IPG clock.

With this change the Linux logo can be seen on boot on a mx25pdk.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-01-29 14:20:16 +02:00
..
aty radeonfb: Deinline large functions 2015-10-08 12:24:12 +03:00
core wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
exynos fbdev: s6e8ax0: avoid unused function warnings 2016-01-29 13:36:20 +02:00
geode video: constify geode ops structures 2015-12-15 15:41:22 +02:00
i810 video: fbdev: i810: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:51 +03:00
intelfb video: fbdev: intelfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
kyro drivers/video/fbdev/kyrofb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() 2015-08-25 09:59:44 +02:00
matrox video: fbdev: matrox: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
mb862xx video: fbdev: mb862xx: Fix module autoload for OF platform driver 2015-09-24 14:35:36 +03:00
mbx video/mbx: indent some if statements 2014-07-01 13:32:30 +03:00
mmp fbdev: mmp: print IRQ resource using %pR format string 2016-01-29 13:42:58 +02:00
nvidia video: fbdev: nvidia: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:50 +03:00
omap fbdev changes for 4.4 2015-11-10 10:00:09 -08:00
omap2 drm/omap: move omapdss & displays under omapdrm 2015-12-29 11:07:48 +02:00
riva video: fbdev: rivafb: unlock chip before probiding EDID 2015-12-15 15:41:23 +02:00
savage video: fbdev: savagefb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:50 +03:00
sis video: fbdev: sisfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:50 +03:00
vermilion mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
via video: fbdev: via: use gpiochip data pointer 2016-01-07 00:02:34 +01:00
68328fb.c video: 68328fb: remove check for CONFIG_FB_68328_INVERT 2014-06-24 10:55:13 +03:00
acornfb.c
acornfb.h
amba-clcd-versatile.c video: move Versatile CLCD helpers 2014-06-27 10:15:22 +02:00
amba-clcd.c video: ARM CLCD: Add missing error check for devm_kzalloc 2015-02-26 10:23:15 +02:00
amifb.c fbdev changes for 4.2 2015-06-23 16:23:30 -07:00
arcfb.c
arkfb.c drivers/video/fbdev/arkfb.c: Use arch_phys_wc_add() and pci_iomap_wc() 2015-08-25 09:59:45 +02:00
asiliantfb.c
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c video/fbdev, asm/io.h: Remove ioremap_writethrough() 2015-06-07 15:28:57 +02:00
atafb.h
atmel_lcdfb.c video: fbdev: atmel_lcdfb: remove useless include 2015-09-02 14:24:51 +03:00
au1100fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
au1100fb.h MIPS: Alchemy: au1100fb: use clk framework 2014-07-30 14:10:39 +02:00
au1200fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
au1200fb.h
auo_k190x.c fbdev: auo_k190x: avoid unused function warnings 2015-12-15 15:41:23 +02:00
auo_k190x.h
auo_k1900fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
auo_k1901fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bf54x-lq043fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bf537-lq035.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bfin_adv7393fb.c fb: adv7393: add missing semicolon 2014-07-01 13:18:38 +03:00
bfin_adv7393fb.h
bfin-lq035q1-fb.c
bfin-t350mcqb-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
broadsheetfb.c fbdev: broadsheetfb: fix memory leak 2015-09-30 10:33:57 +03:00
bt431.h
bt455.h
bw2.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.c
carminefb.h
cg3.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cg6.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cg14.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
chipsfb.c fbdev: Remove __init from chips_hw_init() to fix build failure 2014-08-26 12:48:34 +03:00
cirrusfb.c
clps711x-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
clps711xfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cobalt_lcdfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
controlfb.c powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
controlfb.h
cyber2000fb.c video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info 2014-09-30 13:06:01 +03:00
cyber2000fb.h
da8xx-fb.c fbdev: da8xx-fb: remove incorrect type cast 2016-01-29 13:37:42 +02:00
dnfb.c
edid.h
efifb.c efifb: Add support for 64-bit frame buffer addresses 2015-10-12 14:20:06 +01:00
ep93xx-fb.c ARM/fb: ep93xx: switch framebuffer to use modedb only 2015-08-13 12:25:44 +02:00
fb-puv3.c drivers/video/fbdev/fb-puv3.c: Add header files for function unifb_mmap 2014-05-23 13:51:10 +03:00
ffb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
fm2fb.c
fsl-diu-fb.c video: fbdev: fsl: Fix kernel crash when diu_ops is not implemented 2015-12-09 12:57:06 +02:00
g364fb.c
gbefb.c video: fbdev: gbefb: use arch_phys_wc_add() and devm_ioremap_wc() 2015-06-03 12:41:46 +03:00
goldfishfb.c
grvga.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
gxt4500.c gxt4500: enable panning 2015-10-08 12:19:39 +03:00
hecubafb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
hgafb.c video: hgafb: remove unneeded comparison 2015-01-26 14:43:06 +02:00
hitfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
hpfb.c video/fbdev, asm/io.h: Remove ioremap_writethrough() 2015-06-07 15:28:57 +02:00
hyperv_fb.c drivers:hv: Move MMIO range picking from hyper_fb to hv_vmbus 2015-08-05 11:41:31 -07:00
i740_reg.h
i740fb.c drivers/video/fbdev/i740fb: remove unused variable 2015-12-15 15:41:21 +02:00
igafb.c
imsttfb.c fbdev: imsttfb: remove the dependency on PPC_OF 2015-03-17 20:04:31 +11:00
imxfb.c video: fbdev: imxfb: Provide a reset mechanism 2016-01-29 14:20:16 +02:00
jz4740_fb.c
Kconfig video: fbdev: pxafb: initial devicetree conversion 2015-12-15 15:41:24 +02:00
leo.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
macfb.c
macmodes.c
macmodes.h
Makefile fbdev: Remove unused SH-Mobile HDMI driver 2015-12-15 15:41:22 +02:00
maxinefb.c
metronomefb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
mx3fb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
mxsfb.c video: fbdev: mxsfb: Constify platform_device_id 2015-06-12 12:40:27 +03:00
n411.c
neofb.c video: fbdev: neofb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
nuc900fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
nuc900fb.h
ocfb.c ocfb: fix tgdel and tvdel timing parameters 2016-01-29 13:34:07 +02:00
offb.c Revert "offb: Add palette hack for little endian" 2014-06-16 19:45:45 +10:00
p9100.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
platinumfb.c powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
platinumfb.h
pm2fb.c video: fbdev: pm2fb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:51 +03:00
pm3fb.c video: fbdev: pm3fb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:52 +03:00
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c
pvr2fb.c mm: gup: use get_user_pages_unlocked 2015-02-11 17:06:05 -08:00
pxa3xx-gcu.c video: fbdev: pxa3xx_gcu: prepare the clocks 2015-08-10 12:25:43 +03:00
pxa3xx-gcu.h
pxa168fb.c video: fbdev: pxa168fb: Use devm_clk_get 2015-09-01 13:55:32 +03:00
pxa168fb.h
pxafb.c video: fbdev: pxafb: fix out of memory error path 2016-01-18 10:26:17 +02:00
pxafb.h video: fbdev: pxafb: loosen the platform data bond 2015-12-15 15:41:24 +02:00
q40fb.c
s1d13xxxfb.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
s3c2410fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
s3c2410fb.h
s3c-fb.c video: fbdev: s3c-fb: Constify platform_device_id 2015-08-21 08:56:19 +03:00
s3fb.c drivers/video/fbdev/s3fb: Use arch_phys_wc_add() and pci_iomap_wc() 2015-08-25 09:59:45 +02:00
sa1100fb.c cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event 2015-09-01 15:50:38 +02:00
sa1100fb.h ARM: 8244/1: fbdev: sa1100fb: make use of device clock 2014-12-05 16:30:25 +00:00
sbuslib.c
sbuslib.h
sh7760fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
sh_mipi_dsi.c
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex 2015-04-07 16:24:15 +03:00
sh_mobile_lcdcfb.h
sh_mobile_meram.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
simplefb.c simplefb: Claim and enable regulators 2015-12-15 15:41:21 +02:00
skeletonfb.c
sm501fb.c fbdev: sm501fb: use memset_io 2015-03-02 13:17:24 +02:00
sm712.h staging: sm7xxfb: merge sm712fb with fbdev 2015-08-07 15:05:01 -07:00
sm712fb.c fbdev: sm712fb: avoid unused function warnings 2015-12-15 15:41:23 +02:00
smscufx.c video: smscufx: Deletion of unnecessary checks before the function call "vfree" 2014-12-04 16:16:01 +02:00
ssd1307fb.c fbdev: ssd1307fb: add ssd1309 support 2015-09-24 14:10:26 +03:00
sstfb.c
sticore.h
stifb.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
sunxvr500.c
sunxvr1000.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
sunxvr2500.c
tcx.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
tdfxfb.c video: fbdev: tdfxfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:52 +03:00
tgafb.c
tmiofb.c
tridentfb.c fbdev changes for 4.4 2015-11-10 10:00:09 -08:00
udlfb.c fbdev: udlfb: remove unneeded initialization in few places 2015-08-20 10:32:40 +03:00
uvesafb.c kernel/params: constify struct kernel_param_ops uses 2015-05-28 11:32:10 +09:30
valkyriefb.c video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info 2014-09-30 13:06:01 +03:00
valkyriefb.h
vesafb.c video: fbdev: vesafb: use arch_phys_wc_add() 2015-06-16 09:42:11 +03:00
vfb.c fbdev: remove unnecessary memset in vfb 2015-08-20 12:03:53 +03:00
vga16fb.c
vt8500lcdfb.c video: vt8500lcdfb: remove unneeded continue 2015-01-13 13:35:04 +02:00
vt8500lcdfb.h
vt8623fb.c drivers/video/fbdev/vt8623fb: Use arch_phys_wc_add() and pci_iomap_wc() 2015-08-25 09:59:45 +02:00
w100fb.c
w100fb.h
wm8505fb_regs.h
wm8505fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
wmt_ge_rops.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
wmt_ge_rops.h
xen-fbfront.c video/xen-fbfront: Further s/MFN/GFN clean-up 2015-09-08 18:03:53 +01:00
xilinxfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00