- fix EDID mode filtering
- extend mxc_ipuv3_fb to enable backlight/display - include fb_base in global_data for DM_VIDEO - show frame buffer address via board info as used to be with legacy VIDEO support -----BEGIN PGP SIGNATURE----- iGwEABECACwWIQSC4hxrSoIUVfFO0kRM6ATMmsalXAUCXUCEtQ4cYWd1c3RAZGVu eC5kZQAKCRBM6ATMmsalXLYhAJ4gSCCx54ubBmbsZ1cueGk59E/SkwCdFl7nfLqz Vy/HbBVAUkzD4JVOR0U= =7rSM -----END PGP SIGNATURE----- Merge tag 'video-for-2019.10-rc1' of https://gitlab.denx.de/u-boot/custodians/u-boot-video - fix EDID mode filtering - extend mxc_ipuv3_fb to enable backlight/display - include fb_base in global_data for DM_VIDEO - show frame buffer address via board info as used to be with legacy VIDEO support
This commit is contained in:
		
						commit
						a239147fa2
					
				| 
						 | 
					@ -328,7 +328,7 @@ static int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc,
 | 
				
			||||||
	print_num("reloc off", gd->reloc_off);
 | 
						print_num("reloc off", gd->reloc_off);
 | 
				
			||||||
	print_num("irq_sp", gd->irq_sp);	/* irq stack pointer */
 | 
						print_num("irq_sp", gd->irq_sp);	/* irq stack pointer */
 | 
				
			||||||
	print_num("sp start ", gd->start_addr_sp);
 | 
						print_num("sp start ", gd->start_addr_sp);
 | 
				
			||||||
#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)
 | 
					#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO)
 | 
				
			||||||
	print_num("FB base  ", gd->fb_base);
 | 
						print_num("FB base  ", gd->fb_base);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -202,7 +202,9 @@ int edid_get_timing_validate(u8 *buf, int buf_size,
 | 
				
			||||||
							 timing);
 | 
												 timing);
 | 
				
			||||||
			else
 | 
								else
 | 
				
			||||||
				timing_done = true;
 | 
									timing_done = true;
 | 
				
			||||||
			break;
 | 
					
 | 
				
			||||||
 | 
								if (timing_done)
 | 
				
			||||||
 | 
									break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (!timing_done)
 | 
						if (!timing_done)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,6 +24,8 @@
 | 
				
			||||||
#include "ipu.h"
 | 
					#include "ipu.h"
 | 
				
			||||||
#include "mxcfb.h"
 | 
					#include "mxcfb.h"
 | 
				
			||||||
#include "ipu_regs.h"
 | 
					#include "ipu_regs.h"
 | 
				
			||||||
 | 
					#include "display.h"
 | 
				
			||||||
 | 
					#include <panel.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <dm.h>
 | 
					#include <dm.h>
 | 
				
			||||||
#include <video.h>
 | 
					#include <video.h>
 | 
				
			||||||
| 
						 | 
					@ -609,6 +611,7 @@ void *video_hw_init(void)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ret = mxcfb_probe(gpixfmt, gdisp, gmode);
 | 
						ret = mxcfb_probe(gpixfmt, gdisp, gmode);
 | 
				
			||||||
	debug("Framebuffer at 0x%x\n", (unsigned int)panel.frameAdrs);
 | 
						debug("Framebuffer at 0x%x\n", (unsigned int)panel.frameAdrs);
 | 
				
			||||||
 | 
						gd->fb_base = panel.frameAdrs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return (void *)&panel;
 | 
						return (void *)&panel;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -636,6 +639,10 @@ static int ipuv3_video_probe(struct udevice *dev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
 | 
						struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
 | 
				
			||||||
	struct video_priv *uc_priv = dev_get_uclass_priv(dev);
 | 
						struct video_priv *uc_priv = dev_get_uclass_priv(dev);
 | 
				
			||||||
 | 
					#if defined(CONFIG_DISPLAY)
 | 
				
			||||||
 | 
						struct udevice *disp_dev;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
						struct udevice *panel_dev;
 | 
				
			||||||
	u32 fb_start, fb_end;
 | 
						u32 fb_start, fb_end;
 | 
				
			||||||
	int ret;
 | 
						int ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -654,6 +661,18 @@ static int ipuv3_video_probe(struct udevice *dev)
 | 
				
			||||||
	if (ret < 0)
 | 
						if (ret < 0)
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(CONFIG_DISPLAY)
 | 
				
			||||||
 | 
						ret = uclass_first_device(UCLASS_DISPLAY, &disp_dev);
 | 
				
			||||||
 | 
						if (disp_dev) {
 | 
				
			||||||
 | 
							ret = display_enable(disp_dev, 16, NULL);
 | 
				
			||||||
 | 
							if (ret < 0)
 | 
				
			||||||
 | 
								return ret;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
						ret = uclass_get_device(UCLASS_PANEL, 0, &panel_dev);
 | 
				
			||||||
 | 
						if (panel_dev)
 | 
				
			||||||
 | 
							panel_enable_backlight(panel_dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	uc_priv->xsize = gmode->xres;
 | 
						uc_priv->xsize = gmode->xres;
 | 
				
			||||||
	uc_priv->ysize = gmode->yres;
 | 
						uc_priv->ysize = gmode->yres;
 | 
				
			||||||
	uc_priv->bpix = LCD_MAX_LOG2_BPP;
 | 
						uc_priv->bpix = LCD_MAX_LOG2_BPP;
 | 
				
			||||||
| 
						 | 
					@ -665,6 +684,7 @@ static int ipuv3_video_probe(struct udevice *dev)
 | 
				
			||||||
	mmu_set_region_dcache_behaviour(fb_start, fb_end - fb_start,
 | 
						mmu_set_region_dcache_behaviour(fb_start, fb_end - fb_start,
 | 
				
			||||||
					DCACHE_WRITEBACK);
 | 
										DCACHE_WRITEBACK);
 | 
				
			||||||
	video_set_flush_dcache(dev, true);
 | 
						video_set_flush_dcache(dev, true);
 | 
				
			||||||
 | 
						gd->fb_base = fb_start;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,7 +33,7 @@ typedef struct global_data {
 | 
				
			||||||
	/* We cannot bracket this with CONFIG_PCI due to mpc5xxx */
 | 
						/* We cannot bracket this with CONFIG_PCI due to mpc5xxx */
 | 
				
			||||||
	unsigned long pci_clk;
 | 
						unsigned long pci_clk;
 | 
				
			||||||
	unsigned long mem_clk;
 | 
						unsigned long mem_clk;
 | 
				
			||||||
#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)
 | 
					#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO)
 | 
				
			||||||
	unsigned long fb_base;		/* Base address of framebuffer mem */
 | 
						unsigned long fb_base;		/* Base address of framebuffer mem */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if defined(CONFIG_POST)
 | 
					#if defined(CONFIG_POST)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue