u-boot-brain/drivers/video
Dario Binacchi 96b109ba74 video: omap: add support for DM/DTS
Update the driver to support the device tree and the driver model.
Timings and panel parameters are now loaded from the device tree.

The DM code replaces the am335x_lcdpanel structure with
tilcdc_panel_info taken from the linux kernel, as well the management
of additional parameters not covered in the legacy code. In addition,
the am335x_lcdpanel structure contains parameters and operations that
were probably a requirement of the board for which this driver was
developed and which, however, were not developed in the linux kernel.
All this led to rewrite th DM controller initialization code, except
for the pixel clock setting that is executed in a function created in a
previous patch with code taken from the legacy am335xfb_init.

The patch has been tested on a custom board with u-boot 2018.11-rc2 and
the following device-tree configuration:

	panel {
		compatible = "ti,tilcdc,panel";
		pinctrl-names = "default";
		pinctrl-0 = <&lcd_enable_pins>;
		enable-gpios = <&gpio0 31 0>;
		backlight = <&backlight>;
		status = "okay";
		u-boot,dm-pre-reloc;
		panel-info {
			ac-bias           = <255>;
			ac-bias-intrpt    = <0>;
			dma-burst-sz      = <16>;
			bpp               = <16>;
			fdd               = <0x80>;
			sync-edge         = <0>;
			sync-ctrl         = <1>;
			raster-order      = <0>;
			fifo-th           = <0>;
		};
		display-timings {
			native-mode = <&timing0>;
			timing0: 800x480 {
				hactive         = <800>;
				vactive         = <480>;
				hback-porch     = <46>;
				hfront-porch    = <210>;
				hsync-len       = <20>;
				vback-porch     = <23>;
				vfront-porch    = <22>;
				vsync-len       = <10>;
				clock-frequency = <33000000>;
				hsync-active    = <0>;
				vsync-active    = <0>;
			};
		};
	};

Signed-off-by: Dario Binacchi <dariobin@libero.it>
Tested-by: Dario Binacchi <dariobin@libero.it>
2020-03-03 13:08:14 +05:30
..
bridge dm: video: bridge: don't fail to activate bridge if reset or sleep GPIO is missing 2018-11-13 22:08:23 +05:30
exynos dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
fonts video: add wrappers for ttf type files to .gitignore 2020-01-02 17:45:42 +01:00
imx mxc_ipuv3_fb.c: enable a backlight on a panel 2019-07-30 12:58:33 +02:00
meson video: meson: Drop unnecessary header includes 2020-01-07 11:15:24 +01:00
rockchip dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
stm32 dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
sunxi common: Move board_get_usable_ram_top() out of common.h 2019-12-02 18:25:04 -05:00
tegra124 dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
am335x-fb.c video: omap: add support for DM/DTS 2020-03-03 13:08:14 +05:30
am335x-fb.h video: omap: add support for DM/DTS 2020-03-03 13:08:14 +05:30
anx98xx-edp.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
anx9804.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
anx9804.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ati_ids.h drivers/video : move video drivers to drivers/video 2007-11-25 18:35:11 +01:00
ati_radeon_fb.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
ati_radeon_fb.h Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
atmel_hlcdfb.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
atmel_lcdfb.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
backlight_gpio.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
backlight-uclass.c panel: Expand the backlight support 2018-10-09 04:40:27 -06:00
bcm2835.c video: arm: rpi: Bail out early if querying video information fails 2019-07-29 10:14:04 +02:00
broadwell_igd.c common: Move ll_boot_init() to init.h 2020-01-17 13:27:28 -05:00
bus_vcxk.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cfb_console.c common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
console_normal.c video: Avoid using #ifdef in video blitting code 2020-01-02 16:25:25 +01:00
console_rotate.c video: Avoid using #ifdef in console_rotate.c 2020-01-02 16:25:25 +01:00
console_truetype.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
coreboot.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
da8xx-fb.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
da8xx-fb.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
display-uclass.c video: display: use edid_get_timing_validate() variant to filter supported EDID modes 2019-07-29 00:21:49 +02:00
dsi-host-uclass.c dm: Add a dsi host uclass 2019-10-13 23:34:43 +02:00
dw_hdmi.c video: dw_hdmi: Add support for ddc-i2c-bus property 2019-07-29 00:32:59 +02:00
dw_mipi_dsi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
efi.c dm: video: Add an EFI framebuffer driver 2018-06-17 21:16:04 +08:00
formike.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fsl_dcu_fb.c common: Move board_get_usable_ram_top() out of common.h 2019-12-02 18:25:04 -05:00
fsl_diu_fb.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
hitachi_tx18d42vm_lcd.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
hitachi_tx18d42vm_lcd.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
i915_reg.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ihs_video_out.c ihs_video_out: Fix error handling 2019-01-28 21:29:25 +01:00
ivybridge_igd.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig video: omap: add support for DM/DTS 2020-03-03 13:08:14 +05:30
ld9040.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lg4573.c video: lg4573: convert to DM 2020-01-07 10:26:55 +01:00
logicore_dp_dpcd.h video_display: Add Xilinx LogiCore DP TX 2018-08-11 09:18:44 +02:00
logicore_dp_tx_regif.h video_display: Add Xilinx LogiCore DP TX 2018-08-11 09:18:44 +02:00
logicore_dp_tx.c video_display: Add Xilinx LogiCore DP TX 2018-08-11 09:18:44 +02:00
logicore_dp_tx.h video_display: Add Xilinx LogiCore DP TX 2018-08-11 09:18:44 +02:00
Makefile video: add support of panel RM68200 2019-10-13 23:38:36 +02:00
mali_dp.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
mb862xx.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
mipi_dsi.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
mvebu_lcd.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
mx3fb.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
mxsfb.c sandbox conversion to SDL2 2020-02-11 10:58:41 -05:00
omap3_dss.c omap3: allow dynamic selection of gfx_format 2013-03-08 16:41:13 -05:00
orisetech_otm8009a.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
panel-uclass.c panel: Expand the backlight support 2018-10-09 04:40:27 -06:00
pwm_backlight.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
pxa_lcd.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
raydium-rm68200.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
s6e8ax0.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sandbox_dsi_host.c dm: Add a dsi host uclass 2019-10-13 23:34:43 +02:00
sandbox_osd.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
sandbox_osd.h video_osd: Add osd sandbox driver and tests 2018-09-28 18:26:52 +02:00
sandbox_sdl.c sandbox: Support changing the LCD colour depth 2020-02-05 19:33:46 -07:00
scf0403_lcd.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
simple_panel.c video, simple_panel: add lg,lb070wv8 display 2019-07-29 00:20:19 +02:00
simplefb.c video: simplefb: Remove DM_FLAG_PRE_RELOC flag 2018-11-14 09:16:28 -08:00
ssd2828.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
ssd2828.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
stb_truetype.h video: stb_truetype: simplify expression 2018-03-19 09:47:02 +01:00
tda19988.c video: Add support for NXP's TDA19988 HDMI encoder 2018-09-28 18:44:50 +02:00
tegra.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
vesa.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
vidconsole-uclass.c video: fix Coverity missing break issue 2020-02-04 23:02:56 +01:00
video_bmp.c video: bmp: Fix video_display_rle8_bitmap() 2019-12-06 09:07:45 +01:00
video_osd-uclass.c drivers: Add OSD uclass 2018-09-28 18:26:32 +02:00
video-uclass.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
videomodes.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
videomodes.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00